66 lines
1.8 KiB
YAML
66 lines
1.8 KiB
YAML
version: '{{ compose_version }}'
|
|
|
|
services:
|
|
api:
|
|
image: cojedzie/api:latest
|
|
networks:
|
|
- "{{ ingress_network }}"
|
|
- default
|
|
volumes:
|
|
- db_data:/var/db
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.{{ service }}-api.rule=(Host(`{{ service }}.{{ main_domain }}`) || Host(`cojedzie.pl`)) && 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
|
|
|
|
update-job:
|
|
image: cojedzie/api:latest
|
|
command: ["console", "app:update", "--async"]
|
|
networks:
|
|
- default
|
|
volumes:
|
|
- db_data:/var/db
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 0
|
|
labels:
|
|
- "swarm.cronjob.enable=true"
|
|
- "swarm.cronjob.schedule={{ cojedzie_update_cron }}"
|
|
restart_policy:
|
|
condition: none
|
|
|
|
worker:
|
|
image: cojedzie/worker:latest
|
|
volumes:
|
|
- db_data:/var/db
|
|
depends_on:
|
|
- api
|
|
|
|
front:
|
|
image: cojedzie/front:latest
|
|
networks:
|
|
- "{{ ingress_network }}"
|
|
- default
|
|
depends_on:
|
|
- api
|
|
environment:
|
|
- APP_GTM={{ cojedzie_gtm }}
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.{{ service }}-front.rule=Host(`{{ service }}.{{ main_domain }}`) || Host(`cojedzie.pl`)
|
|
- traefik.http.routers.{{ service }}-front.tls=true
|
|
- traefik.http.routers.{{ service }}-front.tls.certresolver=lets-encrypt
|
|
- traefik.http.services.{{ service }}-front.loadbalancer.server.port=3000
|
|
|
|
volumes:
|
|
db_data: ~
|