# Development containers, these should only be used if you are developing. version: '3' services: db: image: postgres:12 environment: - POSTGRES_DB=wrolpi - POSTGRES_PASSWORD=wrolpi ports: - '54321:5432' - '5432:5432' healthcheck: test: [ 'CMD-SHELL', 'pg_isready -U postgres' ] api: depends_on: - db build: context: . dockerfile: docker/api/Dockerfile volumes: - './main.py:/opt/wrolpi/main.py' - './wrolpi:/opt/wrolpi/wrolpi' - './modules:/opt/wrolpi/modules' - './config:/opt/wrolpi/config' - './test:/opt/wrolpi/test' - './alembic:/opt/wrolpi/alembic' - './alembic.ini:/opt/wrolpi/alembic.ini' ports: - ${REACT_APP_API-127.0.0.1:8081}:8081 command: '-vv api --host 0.0.0.0' healthcheck: test: [ 'CMD-SHELL', 'curl http://127.0.0.1:8081/api/echo' ] user: '${UID-1000}:${GID-1000}' archive: build: context: . dockerfile: docker/archive/Dockerfile volumes: - './docker/archive/main.py:/app/main.py' ports: - '8083:8080' healthcheck: test: [ 'CMD-SHELL', 'curl http://127.0.0.1:8080/' ] app: depends_on: - api build: context: . dockerfile: docker/app/Dockerfile volumes: - './app/public:/app/public' - './app/src:/app/src' - './app/package.json:/app/package.json' command: 'npm run start' stdin_open: true healthcheck: test: [ 'CMD-SHELL', 'curl http://127.0.0.1:3000' ] user: '${UID-1000}:${GID-1000}' web: depends_on: - app image: nginx:latest ports: - ${WEB_HOST-0.0.0.0}:${WEB_PORT-8080}:80 volumes: - './nginx.dev.conf:/etc/nginx/nginx.conf' - './icon.ico:/etc/nginx/favicon.ico' - './icon.png:/etc/nginx/icon.png' - './test:/opt/media' healthcheck: test: [ 'CMD-SHELL', 'curl http://127.0.0.1:80' ]