76 lines
1.4 KiB
YAML
76 lines
1.4 KiB
YAML
---
|
|
|
|
services:
|
|
|
|
db:
|
|
image: mariadb:11
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: rootpassword
|
|
MYSQL_DATABASE: radius
|
|
MYSQL_USER: radiususer
|
|
MYSQL_PASSWORD: radiuspass
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
- ./db/conf.d:/etc/mysql/conf.d
|
|
- ./db/init:/docker-entrypoint-initdb.d
|
|
ports:
|
|
- "3306:3306" # Exposed for dev access
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
start_period: 10s
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
radius:
|
|
build:
|
|
context: ./radius
|
|
dockerfile: Dockerfile
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
env_file:
|
|
- .env
|
|
ports:
|
|
- "1812:1812/udp"
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
adminer:
|
|
image: adminer
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8081:8080"
|
|
app:
|
|
build:
|
|
context: ./app
|
|
dockerfile: Dockerfile
|
|
args:
|
|
TIMEZONE: ${APP_TIMEZONE}
|
|
volumes:
|
|
- ./app:/app
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- FLASK_APP=wsgi:app
|
|
- FLASK_ENV=production
|
|
- PYTHONPATH=/app
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
nginx:
|
|
build:
|
|
context: ./nginx
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
- app
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
db_data: |