Add cojedzie and system services

This commit is contained in:
Kacper Donat 2021-04-10 20:28:08 +02:00
parent 20a8392ee7
commit 928d0fcb60
4 changed files with 95 additions and 0 deletions

View File

@ -0,0 +1,61 @@
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.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.services.{{ service }}-front.loadbalancer.server.port=3000
volumes:
db_data: ~

View File

@ -0,0 +1,3 @@
---
cojedzie_update_cron: 0 0 4 * * *
cojedzie_gtm: ""

28
services/system/stack.yml Normal file
View File

@ -0,0 +1,28 @@
version: "{{ compose_version }}"
services:
cronjob-controller:
image: crazymax/swarm-cronjob
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
- "TZ=Europe/Warsaw"
- "LOG_LEVEL=info"
- "LOG_JSON=false"
deploy:
placement:
constraints:
- node.role == manager
image-cleanup-job:
image: docker
command: ["docker", "image", "prune", "-f"]
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
mode: global
labels:
- "swarm.cronjob.enable=true"
- "swarm.cronjob.schedule=0 0 0 * * sun"
restart_policy:
condition: none

View File

@ -38,5 +38,8 @@ service_config:
legacy:
www_data_users: ["{{ ansible_user }}"]
cojedzie:
cojedzie_gtm: GTM-TQNX386
www_data_users:
- vagrant