wrolpi/docker-compose.yml

75 lines
1.9 KiB
YAML

# 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'
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'
- './test:/media/wrolpi'
- './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' ]