73 lines
1.5 KiB
YAML
73 lines
1.5 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:
|
|
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;
|
|
sleep 3;
|
|
echo 'mysqld is alive';
|
|
for file in /docker-entrypoint-initdb.d/*.sql; do
|
|
echo \"Running $$file\";
|
|
mysql -h db -uroot --password=$$MYSQL_PWD < $$file || exit 1;
|
|
done;
|
|
echo 'All 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:
|