version: '3.8' services: flaskaled-srv1: image: postgres:latest container_name: flaskaled-srv1 ports: - "5433:5432" volumes: - ./backend/init-db1.sql:/docker-entrypoint-initdb.d/init-db1.sql environment: - POSTGRES_HOST=flaskaled-srv1 - POSTGRES_PORT=5432 - POSTGRES_DB=flaskaledDb1 - POSTGRES_USER=flaskaled1 - POSTGRES_PASSWORD=aled1 restart: unless-stopped flaskaled-srv2: image: postgres:latest container_name: flaskaled-srv2 ports: - "5434:5432" volumes: - ./backend/init-db2.sql:/docker-entrypoint-initdb.d/init-db2.sql environment: - POSTGRES_HOST=flaskaled-srv2 - POSTGRES_PORT=5432 - POSTGRES_DB=flaskaledDb2 - POSTGRES_USER=flaskaled2 - POSTGRES_PASSWORD=aled2 restart: unless-stopped backend: container_name: backend build: ./backend command: python -m flask run --host=0.0.0.0 ports: - "5000:5000" volumes: - ./backend:/data/backend depends_on: - flaskaled-srv1 - flaskaled-srv2 links: - flaskaled-srv1 - flaskaled-srv2 environment: - FLASK_APP=app.py - FLASK_ENV=development - FLASK_DEBUG=1 - PYTHONUNBUFFERED=1 - DATABASE_URL_USERS=postgresql://flaskaled1:aled1@flaskaled-srv1/flaskaledDb1 - DATABASE_URL_LOGS=postgresql://flaskaled2:aled2@flaskaled-srv2/flaskaledDb2 - ALLOW_ORIGIN=frontend - SECRET_KEY=default_secret_key frontend: container_name: frontend build: ./frontend command: npm start ports: - "4200:4200" volumes: - ./frontend:/data/frontend - ./frontend/node_modules:/data/frontend/node_modules depends_on: - backend links: - backend environment: - NODE_ENV=development test: container_name: test build: ./backend command: python test.py volumes: - ./backend:/data/backend depends_on: - flaskaled-srv1 - flaskaled-srv2 links: - flaskaled-srv1 - flaskaled-srv2 environment: - FLASK_APP=app.py - FLASK_ENV=test - FLASK_DEBUG=0 - PYTHONUNBUFFERED=1 - DATABASE_URL_USERS=postgresql://flaskaled1:aled1@flaskaled-srv1/flaskaledDb1 - DATABASE_URL_LOGS=postgresql://flaskaled2:aled2@flaskaled-srv2/flaskaledDb2 - SECRET_KEY=default_secret_key