67 lines
1.4 KiB
YAML
67 lines
1.4 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
expose:
|
|
- "80"
|
|
environment:
|
|
DB_HOST: db
|
|
DB_PORT: 3306
|
|
DB_DATABASE: webgis_spbu
|
|
DB_USERNAME: webgis_user
|
|
DB_PASSWORD: webgis_password
|
|
depends_on:
|
|
migrate:
|
|
condition: service_completed_successfully
|
|
restart: unless-stopped
|
|
|
|
db:
|
|
image: mysql:8.4
|
|
environment:
|
|
MYSQL_DATABASE: webgis_spbu
|
|
MYSQL_USER: webgis_user
|
|
MYSQL_PASSWORD: webgis_password
|
|
MYSQL_ROOT_PASSWORD: root_password
|
|
expose:
|
|
- "3306"
|
|
volumes:
|
|
- webgis_db_data:/var/lib/mysql
|
|
- ./migrations:/docker-entrypoint-initdb.d:ro
|
|
restart: unless-stopped
|
|
|
|
migrate:
|
|
image: mysql:8.4
|
|
environment:
|
|
MYSQL_PWD: root_password
|
|
volumes:
|
|
- ./migrations:/migrations:ro
|
|
depends_on:
|
|
- db
|
|
command: >
|
|
sh -c "
|
|
until mysqladmin ping -h db -uroot -p$$MYSQL_PWD --silent; do
|
|
echo 'Waiting for database...';
|
|
sleep 2;
|
|
done;
|
|
for file in /migrations/*.sql; do
|
|
echo Running $$file;
|
|
mysql -h db -uroot -p$$MYSQL_PWD < $$file;
|
|
done;
|
|
"
|
|
restart: "no"
|
|
|
|
phpmyadmin:
|
|
image: phpmyadmin:5.2
|
|
expose:
|
|
- "80"
|
|
environment:
|
|
PMA_HOST: db
|
|
PMA_PORT: 3306
|
|
depends_on:
|
|
- db
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
webgis_db_data:
|