Files
RadMac/docker-compose.yml
2025-04-02 00:42:37 -04:00

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" # Access at http://localhost:8081
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: