48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
# Database init
|
|
|
|
For the `docker-compose` setup to work you must initialize database with
|
|
what is in `../INSTALL/mysql.sql`
|
|
|
|
```
|
|
mkdir -p run/dbinit/
|
|
cp ../INSTALL/mysql.sql run/dbinit/
|
|
```
|
|
|
|
The MariaDB container has a volume mounted as follow
|
|
`- ./run/dbinit:/docker-entrypoint-initdb.d/:ro`
|
|
|
|
So that on startup the container will source files in this directory to seed
|
|
the database. Once it's done the container will run normally and Cerebrate will
|
|
be able to roll its database migration scripts
|
|
|
|
# Actual data and volumes
|
|
|
|
The actual database will be located in `./run/database` exposed with the
|
|
following volume `- ./run/database:/var/lib/mysql`
|
|
|
|
Application logs (CakePHP / Cerebrate) will be stored in `./run/logs`,
|
|
volume `- ./run/logs:/var/www/html/logs`
|
|
|
|
You're free to change those parameters if you're using Swarm, Kubernetes or
|
|
your favorite config management tool to deploy this stack
|
|
|
|
# Building yourself
|
|
|
|
You can create the following Makefile in basedir of this repository
|
|
and issue `make image`
|
|
|
|
```
|
|
COMPOSER_VERSION?=2.1.5
|
|
PHP_VERSION?=7.4
|
|
DEBIAN_RELEASE?=buster
|
|
IMAGE_NAME?=cerebrate:latest
|
|
|
|
image:
|
|
docker build -t $(IMAGE_NAME) \
|
|
-f docker/Dockerfile \
|
|
--build-arg COMPOSER_VERSION=$(COMPOSER_VERSION) \
|
|
--build-arg PHP_VERSION=$(PHP_VERSION) \
|
|
--build-arg DEBIAN_RELEASE=$(DEBIAN_RELEASE) \
|
|
.
|
|
```
|