You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.8 KiB
YAML

services:
app:
build:
context: .
dockerfile: Dockerfile
container_name: zeszyt_app
depends_on:
db:
condition: service_healthy
ports:
- "8080:80"
environment:
APP_NAME: "${APP_NAME:-Zeszyt 2.0}"
DB_HOST: db
DB_NAME: "${MYSQL_DATABASE:-zeszyt}"
DB_USER: "${MYSQL_USER:-zeszyt}"
DB_PASS: "${MYSQL_PASSWORD:-zeszyt}"
DB_PREFIX: "${DB_PREFIX:-xyz_}"
MICROSOFT_OAUTH_ENABLED: "${MICROSOFT_OAUTH_ENABLED:-false}"
MICROSOFT_OAUTH_TENANT: "${MICROSOFT_OAUTH_TENANT:-common}"
MICROSOFT_OAUTH_CLIENT_ID: "${MICROSOFT_OAUTH_CLIENT_ID:-}"
MICROSOFT_OAUTH_CLIENT_SECRET: "${MICROSOFT_OAUTH_CLIENT_SECRET:-}"
MICROSOFT_OAUTH_REDIRECT_URI: "${MICROSOFT_OAUTH_REDIRECT_URI:-http://localhost:8080/oauth_callback.php}"
MICROSOFT_OAUTH_ALLOWED_TENANT: "${MICROSOFT_OAUTH_ALLOWED_TENANT:-}"
MICROSOFT_OAUTH_AUTO_PROVISION: "${MICROSOFT_OAUTH_AUTO_PROVISION:-false}"
volumes:
- ./source:/var/www/html
- uploads_data:/var/www/html/uploads
restart: unless-stopped
db:
image: mysql:8.0
container_name: zeszyt_db
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_DATABASE: "${MYSQL_DATABASE:-zeszyt}"
MYSQL_USER: "${MYSQL_USER:-zeszyt}"
MYSQL_PASSWORD: "${MYSQL_PASSWORD:-zeszyt}"
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:-root}"
ports:
- "3307:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./db/zeszyt.sql:/docker-entrypoint-initdb.d/01-init.sql:ro
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u${MYSQL_USER:-zeszyt}", "-p${MYSQL_PASSWORD:-zeszyt}"]
interval: 10s
timeout: 5s
retries: 10
start_period: 20s
restart: unless-stopped
volumes:
mysql_data:
uploads_data: