70 lines
1.4 KiB
YAML
70 lines
1.4 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
expose:
|
|
- "80"
|
|
volumes:
|
|
- app_uploads:/var/www/html/05/uploads
|
|
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:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.db
|
|
image: webgis-db
|
|
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
|
|
restart: unless-stopped
|
|
|
|
migrate:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.db
|
|
image: webgis-db
|
|
environment:
|
|
MYSQL_PWD: root_password
|
|
depends_on:
|
|
- db
|
|
command: >
|
|
sh -c "
|
|
until mysqladmin ping -h db -uroot --password=$$MYSQL_PWD --silent 2>/dev/null; do
|
|
echo 'Waiting for database...';
|
|
sleep 2;
|
|
done;
|
|
echo 'Database is ready, all internal migrations done.';
|
|
"
|
|
restart: "no"
|
|
|
|
phpmyadmin:
|
|
image: phpmyadmin:latest
|
|
expose:
|
|
- "80"
|
|
environment:
|
|
PMA_HOST: db
|
|
PMA_PORT: 3306
|
|
depends_on:
|
|
- db
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
webgis_db_data:
|
|
app_uploads:
|