Quickstart
Create a new app
Go to the bunny.net dashboard, select Magic Containers, and click Add App. Select Single region deployment.
Add the MariaDB container
Click Add Container and configure the image:
- Registry: Docker Hub
- Image:
library/mariadb - Tag:
11
MARIADB_ROOT_PASSWORD= a strong root passwordMARIADB_USER=appMARIADB_PASSWORD= a strong passwordMARIADB_DATABASE=app
Add a persistent volume
In the Volumes section of the container settings, add a volume:
- Name:
mariadb-data - Mount path:
/var/lib/mysql
Always set strong passwords for
MARIADB_ROOT_PASSWORD and
MARIADB_PASSWORD, even if the database is not exposed externally. Other
containers in the same pod can access the network, and a password protects
against accidental or unauthorized access.Environment variables
The official MariaDB image supports these environment variables:| Variable | Description | Default |
|---|---|---|
MARIADB_ROOT_PASSWORD | Root user password (required) | - |
MARIADB_USER | Additional user to create | - |
MARIADB_PASSWORD | Password for the additional user | - |
MARIADB_DATABASE | Default database created on first start | - |
Connect from your app
In a multi-container setup, your app and MariaDB share the same localhost network. Connect using127.0.0.1 and the default port 3306.
- Connection string
- Node.js
- Go
- Python
- PHP
Multi-container example
A typical setup pairs MariaDB with your application. When configuring the app, add two containers:App container
- Image: your app image (e.g.
ghcr.io/<your-username>/my-app:latest) - Endpoint: the port your app listens on
- Environment variables:
DATABASE_URL=mysql://app:YOUR_PASSWORD@127.0.0.1:3306/app
MariaDB container
- Image:
library/mariadb:11 - Volume: mount path
/var/lib/mysql - Environment variables:
MARIADB_ROOT_PASSWORD= a strong root passwordMARIADB_USER=appMARIADB_PASSWORD= a strong passwordMARIADB_DATABASE=app
Both containers share the same localhost network, so your app connects to
MariaDB at
127.0.0.1:3306. See multi-container
apps for more details.External access
To connect to MariaDB from outside Magic Containers (e.g. from your local terminal), add an Anycast endpoint:- Go to your app’s Endpoints tab and click Add New Endpoint
- Select Anycast as the type
- Set Container Port to
3306 - Set Exposed Port to
3306 - Click Add Endpoint
The exposed port and container port may differ. When connecting externally,
always use the exposed port shown in your endpoint configuration.