mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 10:51:36 -04:00
109 lines
2.9 KiB
YAML
109 lines
2.9 KiB
YAML
# Development containers, these should only be used if you are developing.
|
|
version: '3'
|
|
services:
|
|
db:
|
|
# https://github.com/docker-library/docs/tree/master/postgres
|
|
image: postgres:12
|
|
environment:
|
|
- POSTGRES_DB=wrolpi
|
|
- POSTGRES_PASSWORD=wrolpi
|
|
ports:
|
|
- "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'
|
|
- './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'
|
|
user: '${UID-1000}:${GID-1000}'
|
|
# healthcheck:
|
|
# test: [ 'CMD-SHELL', 'curl http://127.0.0.1:8081/api/echo' ]
|
|
|
|
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'
|
|
- '.env:/app/.env'
|
|
command: 'npm run start'
|
|
stdin_open: true
|
|
healthcheck:
|
|
test: [ 'CMD-SHELL', 'curl http://127.0.0.1:3000' ]
|
|
user: '${UID-1000}:${GID-1000}'
|
|
environment:
|
|
# Force React to use nginx port to connect to it's websocket.
|
|
- WDS_SOCKET_PORT=0
|
|
|
|
map:
|
|
# https://github.com/Overv/openstreetmap-tile-server
|
|
image: overv/openstreetmap-tile-server:v1.6.0
|
|
volumes:
|
|
- 'openstreetmap-data:/var/lib/postgresql/12/main'
|
|
- 'openstreetmap-rendered-tiles:/var/lib/mod_tile'
|
|
- './modules/map/leaflet.html:/var/www/html/index.html'
|
|
- './modules/map/leaflet.js:/var/www/html/leaflet.js'
|
|
- './modules/map/leaflet.css:/var/www/html/leaflet.css'
|
|
ports:
|
|
- '8084:80'
|
|
command: 'run'
|
|
shm_size: 1g # Increase shared size to render large map tiles
|
|
|
|
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' ]
|
|
|
|
zim:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/zim/Dockerfile
|
|
volumes:
|
|
- './test:/media/wrolpi'
|
|
- './docker/zim/entrypoint.sh:/entrypoint.sh'
|
|
ports:
|
|
- '8085:8085'
|
|
|
|
volumes:
|
|
openstreetmap-data:
|
|
external: true
|
|
openstreetmap-rendered-tiles:
|
|
external: true
|