98 lines
2.8 KiB
YAML
98 lines
2.8 KiB
YAML
version: '{{ compose_version }}'
|
|
|
|
services:
|
|
api:
|
|
image: registry.kadet.net/cojedzie/api:next
|
|
networks:
|
|
- "{{ ingress_network }}"
|
|
- default
|
|
volumes:
|
|
- db_data:/var/db
|
|
environment:
|
|
- TRUSTED_PROXIES=10.0.0.0/8
|
|
env_file:
|
|
- ./environment
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
update_config:
|
|
parallelism: 1
|
|
order: start-first
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.{{ service }}-api.rule=Host(`{{ cojedzie_domain }}`) && PathPrefix(`/api/`)
|
|
- traefik.http.routers.{{ service }}-api.priority=100
|
|
- traefik.http.routers.{{ service }}-api.tls=true
|
|
- traefik.http.routers.{{ service }}-api.tls.certresolver=lets-encrypt
|
|
- traefik.http.services.{{ service }}-api.loadbalancer.server.port=8080
|
|
|
|
cron:
|
|
image: registry.kadet.net/cojedzie/cron:next
|
|
env_file:
|
|
- ./environment
|
|
volumes:
|
|
- db_data:/var/db
|
|
depends_on:
|
|
- api
|
|
|
|
worker:
|
|
image: registry.kadet.net/cojedzie/worker:next
|
|
env_file:
|
|
- ./environment
|
|
volumes:
|
|
- db_data:/var/db
|
|
depends_on:
|
|
- api
|
|
|
|
mercure:
|
|
image: dunglas/mercure
|
|
networks:
|
|
- "{{ ingress_network }}"
|
|
- default
|
|
environment:
|
|
SERVER_NAME: ':80'
|
|
USE_FORWARDED_HEADERS: 1
|
|
MERCURE_PUBLISHER_JWT_KEY: '{{ cojedzie_mercure_jwt_key }}'
|
|
MERCURE_SUBSCRIBER_JWT_KEY: '{{ cojedzie_mercure_jwt_key }}'
|
|
volumes:
|
|
- mercure_data:/data
|
|
- mercure_config:/config
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.{{ service }}-mercure.rule=Host(`{{ cojedzie_domain }}`) && PathPrefix(`/.well-known/mercure`)
|
|
- traefik.http.routers.{{ service }}-mercure.tls=true
|
|
- traefik.http.routers.{{ service }}-mercure.tls.certresolver=lets-encrypt
|
|
- traefik.http.services.{{ service }}-mercure.loadbalancer.server.port=80
|
|
|
|
front:
|
|
image: registry.kadet.net/cojedzie/front:next
|
|
networks:
|
|
- "{{ ingress_network }}"
|
|
- default
|
|
depends_on:
|
|
- api
|
|
environment:
|
|
- COJEDZIE_GTM={{ cojedzie_gtm }}
|
|
- COJEDZIE_MAPTILER_KEY={{ cojedzie_maptiler }}
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
update_config:
|
|
parallelism: 1
|
|
order: start-first
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.{{ service }}-front.rule=Host(`{{ service }}.{{ main_domain }}`) || Host(`{{ cojedzie_domain }}`)
|
|
- traefik.http.routers.{{ service }}-front.tls=true
|
|
- traefik.http.routers.{{ service }}-front.tls.certresolver=lets-encrypt
|
|
- traefik.http.routers.{{ service }}-front.middlewares=gzip@file
|
|
- traefik.http.services.{{ service }}-front.loadbalancer.server.port=3000
|
|
|
|
volumes:
|
|
db_data: ~
|
|
mercure_data: ~
|
|
mercure_config: ~
|