version: '3.8' services: backend: build: context: ./backend dockerfile: Dockerfile container_name: dashboard-backend environment: - DATABASE_HOST=${DATABASE_HOST:-localhost} - DATABASE_PORT=${DATABASE_PORT:-3306} - DATABASE_NAME=${DATABASE_NAME:-audio} - DATABASE_USER=${DATABASE_USER:-root} - DATABASE_PASSWORD=${DATABASE_PASSWORD:-root123} - APP_NAME=${APP_NAME:-Audio Dashboard API} - APP_ENV=${APP_ENV:-production} - MEILISEARCH_URL=${MEILISEARCH_URL:-http://ip-172-31-22-170.eu-central-1.compute.internal:7700} - MEILISEARCH_API_KEY=${MEILISEARCH_API_KEY:-young9#!UJsD219921031} - MEILISEARCH_INDEX=${MEILISEARCH_INDEX:-models} - AWS_REGION=${AWS_REGION:-eu-central-1} - AWS_S3_OTA_BUCKET=${AWS_S3_OTA_BUCKET:-luxsin-app-bucket} - AWS_S3_MEASUREMENT_BUCKET=${AWS_S3_MEASUREMENT_BUCKET:-luxsin-app-bucket} - OTA_UPLOAD_DIR=${OTA_UPLOAD_DIR:-/data/projects/source} - OTA_X8_PUBLIC_BASE=${OTA_X8_PUBLIC_BASE:-http://am.luxsinaudio.com} - OTA_X9_URL_BASE=${OTA_X9_URL_BASE:-http://source.luxsin.net} - PORT=8000 ports: - "8083:8000" restart: unless-stopped networks: - audio-network volumes: - /data/projects/source:/data/projects/source frontend: image: nginx:alpine container_name: dashboard-frontend ports: - "8082:80" volumes: - /data/project/dashboard/frontend/dist:/usr/share/nginx/html:ro - /data/project/dashboard/frontend/nginx.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - backend restart: unless-stopped networks: - audio-network networks: audio-network: driver: bridge