diff --git a/docker-compose.yml b/docker-compose.yml index 4eea040..02c3b05 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1 +1,51 @@ -c2VydmljZXM6CiAgZGI6CiAgICBpbWFnZTogcG9zdGdyZXM6MTYtYWxwaW5lCiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZAogICAgdm9sdW1lczoKICAgICAgLSBwb3N0Z3Jlc19kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YQogICAgZW52aXJvbm1lbnQ6CiAgICAgIFBPU1RHUkVTX0RCOiAke1NRTF9EQVRBQkFTRTotYnVzbWFuYWdlcn0KICAgICAgUE9TVEdSRVNfVVNFUjogJHtTUUxfVVNFUjotYnVzbWFuYWdlcn0KICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICR7U1FMX1BBU1NXT1JEfQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6IFsiQ01ELVNIRUxMIiwgInBnX2lzcmVhZHkgLVUgJHtTUUxfVVNFUjotYnVzbWFuYWdlcn0iXQogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogNQoKICB3ZWI6CiAgICBidWlsZDogLgogICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWQKICAgIHBvcnRzOgogICAgICAtICIke0FQUF9QT1JUOi04MDAwfTo4MDAwIgogICAgZGVwZW5kc19vbjoKICAgICAgZGI6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgIGVudmlyb25tZW50OgogICAgICBTRUNSRVRfS0VZOiAke1NFQ1JFVF9LRVl9CiAgICAgIERFQlVHOiAke0RFQlVHOi1GYWxzZX0KICAgICAgQUxMT1dFRF9IT1NUUzogJHtBTExPV0VEX0hPU1RTOi1sb2NhbGhvc3R9CiAgICAgIFNRTF9FTkdJTkU6IGRqYW5nby5kYi5iYWNrZW5kcy5wb3N0Z3Jlc3FsCiAgICAgIFNRTF9EQVRBQkFTRTogJHtTUUxfREFUQUJBU0U6LWJ1c21hbmFnZXJ9CiAgICAgIFNRTF9VU0VSOiAke1NRTF9VU0VSOi1idXNtYW5hZ2VyfQogICAgICBTUUxfUEFTU1dPUkQ6ICR7U1FMX1BBU1NXT1JEfQogICAgICBTUUxfSE9TVDogZGIKICAgICAgU1FMX1BPUlQ6IDU0MzIKICAgICAgU1RBVElDX1JPT1Q6IC9hcHAvc3RhdGljZmlsZXMKICAgICAgRU1BSUxfSE9TVDogJHtFTUFJTF9IT1NUOi19CiAgICAgIEVNQUlMX1BPUlQ6ICR7RU1BSUxfUE9SVDotMjV9CiAgICAgICMgT3B0aW9uYWw6IEF6dXJlIEFEIFNTTwogICAgICBBWlVSRV9DTElFTlRfSUQ6ICR7QVpVUkVfQ0xJRU5UX0lEOi19CiAgICAgIEFaVVJFX0NMSUVOVF9TRUNSRVQ6ICR7QVpVUkVfQ0xJRU5UX1NFQ1JFVDotfQogICAgICBBWlVSRV9SRURJUkVDVF9VUkk6ICR7QVpVUkVfUkVESVJFQ1RfVVJJOi19CiAgICAgIEFaVVJFX0FVVEhPUklUWTogJHtBWlVSRV9BVVRIT1JJVFk6LX0KICAgICAgIyBPcHRpb25hbDogVGVsc3RyYSBTTVMKICAgICAgVEVMU1RSQV9DTElFTlRfSUQ6ICR7VEVMU1RSQV9DTElFTlRfSUQ6LX0KICAgICAgVEVMU1RSQV9DTElFTlRfU0VDUkVUOiAke1RFTFNUUkFfQ0xJRU5UX1NFQ1JFVDotfQogICAgdm9sdW1lczoKICAgICAgLSBzdGF0aWNfZmlsZXM6L2FwcC9zdGF0aWNmaWxlcwoKdm9sdW1lczoKICBwb3N0Z3Jlc19kYXRhOgogIHN0YXRpY19maWxlczoK \ No newline at end of file +services: + db: + image: postgres:16-alpine + restart: unless-stopped + volumes: + - postgres_data:/var/lib/postgresql/data + environment: + POSTGRES_DB: ${SQL_DATABASE:-busmanager} + POSTGRES_USER: ${SQL_USER:-busmanager} + POSTGRES_PASSWORD: ${SQL_PASSWORD} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${SQL_USER:-busmanager}"] + interval: 5s + timeout: 5s + retries: 5 + + web: + build: . + restart: unless-stopped + ports: + - "${APP_PORT:-8000}:8000" + depends_on: + db: + condition: service_healthy + environment: + SECRET_KEY: ${SECRET_KEY} + DEBUG: ${DEBUG:-False} + ALLOWED_HOSTS: ${ALLOWED_HOSTS:-localhost} + SQL_ENGINE: django.db.backends.postgresql + SQL_DATABASE: ${SQL_DATABASE:-busmanager} + SQL_USER: ${SQL_USER:-busmanager} + SQL_PASSWORD: ${SQL_PASSWORD} + SQL_HOST: db + SQL_PORT: 5432 + STATIC_ROOT: /app/staticfiles + EMAIL_HOST: ${EMAIL_HOST:-} + EMAIL_PORT: ${EMAIL_PORT:-25} + # Optional: Azure AD SSO + AZURE_CLIENT_ID: ${AZURE_CLIENT_ID:-} + AZURE_CLIENT_SECRET: ${AZURE_CLIENT_SECRET:-} + AZURE_REDIRECT_URI: ${AZURE_REDIRECT_URI:-} + AZURE_AUTHORITY: ${AZURE_AUTHORITY:-} + # Optional: Telstra SMS + TELSTRA_CLIENT_ID: ${TELSTRA_CLIENT_ID:-} + TELSTRA_CLIENT_SECRET: ${TELSTRA_CLIENT_SECRET:-} + volumes: + - static_files:/app/staticfiles + +volumes: + postgres_data: + static_files: