diff --git a/docker-compose.yml b/docker-compose.yml index c73f6c4..f526831 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,52 +4,68 @@ services: frontend: image: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend:latest networks: - - proxy + - traefik-proxy env_file: .env - labels: - - traefik.enable=true - - traefik.http.services.tsotr-frontend.loadbalancer.server.port=5000 + deploy: + resources: + limits: + cpus: '0.50' + memory: 1024M + reservations: + cpus: '0.25' + memory: 512M + labels: + traefik.enable: "true" - # Watchtower update - - com.centurylinklabs.watchtower.enable=true + traefik.docker.network: traefik-proxy + traefik.constraint-label: traefik-proxy - # HTTP + Redirect - - traefik.http.routers.tsotr-frontend.entrypoints=web - - traefik.http.routers.tsotr-frontend.rule=Host(`tsotr.humenius.me`) - - traefik.http.routers.tsotr-frontend.middlewares=redirect@file + # Watchtower update + com.centurylinklabs.watchtower.enable: "true" - # HTTPS - - traefik.http.routers.tsotr-frontend-secure.entrypoints=web-secure - - traefik.http.routers.tsotr-frontend-secure.rule=Host(`tsotr.humenius.me`) - - traefik.http.routers.tsotr-frontend-secure.tls.certresolver=letsencrypt + # HTTPS + traefik.http.routers.tsotr-frontend-secure.entrypoints: web-secure + traefik.http.routers.tsotr-frontend-secure.rule: Host(`tsotr.humenius.me`) + traefik.http.routers.tsotr-frontend-secure.tls.certresolver: letsencrypt + traefik.http.services.tsotr-frontend.loadbalancer.server.port: 5000 backend: image: docker.humenius.me/humenius/ts-onlinetime-ranks-backend:latest networks: - - proxy + - traefik-proxy - ts-onlinetime-ranks env_file: .env - labels: - - traefik.enable=true - - traefik.http.services.tsotr-backend.loadbalancer.server.port=3500 + deploy: + resources: + limits: + cpus: '0.50' + memory: 1024M + reservations: + cpus: '0.25' + memory: 512M + labels: + traefik.enable: "true" - # Watchtower update - - com.centurylinklabs.watchtower.enable=true + traefik.docker.network: traefik-proxy + traefik.constraint-label: traefik-proxy - # HTTP + Redirect - - traefik.http.routers.tsotr-backend.entrypoints=web - - traefik.http.routers.tsotr-backend.rule=Host(`api.tsotr.humenius.me`) - - traefik.http.routers.tsotr-backend.middlewares=redirect@file + # Watchtower update + com.centurylinklabs.watchtower.enable: "true" - # HTTPS - - traefik.http.routers.tsotr-backend-secure.entrypoints=web-secure - - traefik.http.routers.tsotr-backend-secure.rule=Host(`api.tsotr.humenius.me`) - - traefik.http.routers.tsotr-backend-secure.tls.certresolver=letsencrypt + # HTTPS + traefik.http.routers.tsotr-backend-secure.entrypoints: web-secure + traefik.http.routers.tsotr-backend-secure.rule: Host(`api.tsotr.humenius.me`) + traefik.http.routers.tsotr-backend-secure.tls.certresolver: letsencrypt + traefik.http.services.tsotr-backend.loadbalancer.server.port: 3500 db: hostname: ts-onlinetime-ranks-db image: docker.io/bitnami/mariadb:10.5-debian-10 env_file: .env + ports: + - target: 3306 + published: 13307 + mode: host networks: - ts-onlinetime-ranks healthcheck: @@ -57,11 +73,19 @@ services: interval: 15s timeout: 5s retries: 6 + deploy: + resources: + limits: + cpus: '0.50' + memory: 1024M + reservations: + cpus: '0.25' + memory: 512M volumes: - ts-onlinetime-ranks-db:/bitnami/mariadb networks: - proxy: + traefik-proxy: external: true ts-onlinetime-ranks: external: true @@ -69,4 +93,3 @@ networks: volumes: ts-onlinetime-ranks-db: driver: local - diff --git a/stack.beta.yml b/stack.beta.yml new file mode 100644 index 0000000..906fff3 --- /dev/null +++ b/stack.beta.yml @@ -0,0 +1,48 @@ +version: '3.7' + +services: + frontend: + image: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend:dev-latest + networks: + - proxy + env_file: .env_beta + labels: + - traefik.enable=true + - traefik.http.services.tsotr-frontend.loadbalancer.server.port=5000 + + # Watchtower update + - com.centurylinklabs.watchtower.enable=true + + # HTTPS + - traefik.http.routers.tsotr-frontend-secure.entrypoints=web-secure + - traefik.http.routers.tsotr-frontend-secure.rule=Host(`beta.tsotr.humenius.me`) + - traefik.http.routers.tsotr-frontend-secure.tls.certresolver=letsencrypt + + backend: + image: docker.humenius.me/humenius/ts-onlinetime-ranks-backend:dev-latest + networks: + - proxy + - ts-onlinetime-ranks + env_file: .env_beta + labels: + - traefik.enable=true + - traefik.http.services.tsotr-backend.loadbalancer.server.port=3500 + + # Watchtower update + - com.centurylinklabs.watchtower.enable=true + + # HTTPS + - traefik.http.routers.tsotr-backend-secure.entrypoints=web-secure + - traefik.http.routers.tsotr-backend-secure.rule=Host(`api.beta.tsotr.humenius.me`) + - traefik.http.routers.tsotr-backend-secure.tls.certresolver=letsencrypt + +networks: + proxy: + external: true + ts-onlinetime-ranks: + external: true + +volumes: + ts-onlinetime-ranks-db: + driver: local +