105 lines
2.5 KiB
YAML
105 lines
2.5 KiB
YAML
version: "3.3"
|
|
services:
|
|
map:
|
|
restart: always
|
|
build: .
|
|
links:
|
|
- db:db
|
|
- cache:cache
|
|
networks:
|
|
- web
|
|
labels:
|
|
- "traefik.backend=app"
|
|
- "traefik.frontend.rule=Host:map.ojuso.org"
|
|
- "traefik.frontend.priority=5"
|
|
- "traefik.frontend.passHostHeader=true"
|
|
volumes:
|
|
- ./apps:/app/apps
|
|
- ./ojusomap:/app/ojusomap
|
|
- ./support:/app/support
|
|
- /containers/map/static:/app/static
|
|
- /containers/map/gunicorn.sock:/app/gunicorn.sock
|
|
env_file:
|
|
- ./environment
|
|
command: /bin/sh -c "DEBUG=1 python3 manage.py collectstatic --noinput && python3 manage.py compilemessages && python3 manage.py migrate && gunicorn --bind 0.0.0.0:8000 ojusomap.wsgi"
|
|
|
|
db:
|
|
restart: always
|
|
image: mdillon/postgis:9.6-alpine
|
|
networks:
|
|
- web
|
|
volumes:
|
|
- /containers/db:/var/lib/postgresql/data
|
|
- ./support/postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
|
|
ports:
|
|
- "127.0.0.1:5432:5432"
|
|
env_file:
|
|
- ./environment
|
|
|
|
weblate:
|
|
image: weblate/weblate
|
|
links:
|
|
- db:database
|
|
- cache
|
|
networks:
|
|
- web
|
|
labels:
|
|
- "traefik.backend=weblate"
|
|
- "traefik.frontend.rule=Host:translate.ojuso.org"
|
|
- "traefik.frontend.priority=5"
|
|
- "traefik.frontend.passHostHeader=true"
|
|
volumes:
|
|
- weblate-data:/app/data
|
|
env_file:
|
|
- ./environment
|
|
environment:
|
|
- "POSTGRES_USER=weblate"
|
|
- "POSTGRES_DATABASE=weblate"
|
|
restart: always
|
|
|
|
cache:
|
|
image: memcached:1.4
|
|
restart: always
|
|
networks:
|
|
- web
|
|
|
|
jenkins:
|
|
image: jenkins:alpine
|
|
restart: always
|
|
networks:
|
|
- web
|
|
labels:
|
|
- "traefik.backend=jenkins"
|
|
- "traefik.frontend.rule=Host:jenkins.ojuso.org"
|
|
- "traefik.frontend.priority=5"
|
|
- "traefik.frontend.passHostHeader=true"
|
|
volumes:
|
|
- /containers/jenkins:/var/jenkins_home
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
weblate_static:
|
|
image: nginx:alpine
|
|
restart: always
|
|
depends_on:
|
|
- weblate
|
|
labels:
|
|
- "traefik.backend=weblate_static"
|
|
- "traefik.frontend.rule=Host:translate.ojuso.org;PathPrefixStrip:/static/"
|
|
- "traefik.frontend.priority=10"
|
|
networks:
|
|
- web
|
|
volumes:
|
|
- type: bind
|
|
source: /var/lib/docker/volumes/ojusomap_weblate-data/_data/static
|
|
target: /usr/share/nginx/html
|
|
read_only: true
|
|
|
|
networks:
|
|
web:
|
|
external:
|
|
name: traefik_webgateway
|
|
|
|
volumes:
|
|
weblate-data:
|
|
weblate-static:
|