services: nginx: image: nginx:alpine ports: - '80:80' - '443:443' volumes: - ./nginx/:/etc/nginx/ - ./CertSSL:/etc/nginx/ssl - ./assets/logo.png:/etc/nginx/assets/logo.png - ./docs/dist:/etc/nginx/dist depends_on: - server - chart - web - docs server: build: context: ./ dockerfile: Dockerfile-server restart: unless-stopped ports: - '3000:3000' volumes: - './CertSSL:/CertSSL' - './config.hjson:/config.hjson' depends_on: - postgres chart: build: context: ./chart restart: unless-stopped ports: - '3030:3030' volumes: - './CertSSL:/CertSSL' - './config.hjson:/config.hjson' depends_on: postgres: condition: service_healthy web: build: context: ./ dockerfile: Dockerfile-web restart: unless-stopped ports: - '3050:3050' volumes: - './CertSSL:/CertSSL' - './config.hjson:/config.hjson' docs: build: context: ./docs dockerfile: Dockerfile collect-currency: build: context: ./ dockerfile: Dockerfile-collect-currency restart: unless-stopped volumes: - './config.hjson:/config.hjson' depends_on: - postgres postgres: image: postgres:latest restart: unless-stopped env_file: .env ports: - '5432:5432' volumes: - ./postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U $POSTGRES_USER"] interval: 10s timeout: 5s retries: 5 volumes: server: driver: local chart: driver: local collect-currency: driver: local postgres: driver: local