87 lines
2.3 KiB
YAML
87 lines
2.3 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
website:
|
|
image: marcpartensky/website
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ../data/secrets/website.env
|
|
environment:
|
|
VIRTUAL_HOST: marcpartensky.com
|
|
VIRTUAL_PORT: 80
|
|
# SECURE_SSL_REDIRECT: false
|
|
# KEY: /app/privkey.pem
|
|
# CERT: /app/fullchain.pem
|
|
# entrypoint: "daphne -e ssl:443:privateKey=$$KEY:certKey=$$CERT django_project.asgi:application"
|
|
# entrypoint: daphne -b website -e ssl:443:privateKey=/app/privkey.pem:certKey=/app/fullchain.pem django_project.asgi:application
|
|
# command:
|
|
# - "80"
|
|
# - "0.0.0.0"
|
|
# depends_on:
|
|
# - redis
|
|
volumes:
|
|
- media:/app/media
|
|
networks:
|
|
- website
|
|
- caddy
|
|
- postgres
|
|
- redis
|
|
# labels:
|
|
# caddy: marcpartensky.com
|
|
# caddy.reverse_proxy: "{{upstreams 80}}"
|
|
# # caddy.tls: "internal"
|
|
# traefik.enable: "true"
|
|
# traefik.http.routers.website.rule: Host(`marcpartensky.com, marcpartensky.fr`)
|
|
# traefik.http.routers.website.entrypoints: websecure
|
|
# traefik.http.routers.website.tls.certresolver: tls
|
|
# traefik.http.services.website.loadbalancer.server.port: 80
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
restart_policy:
|
|
condition: on-failure
|
|
# mode: global
|
|
update_config:
|
|
parallelism: 1
|
|
delay: 5s
|
|
order: start-first
|
|
failure_action: rollback
|
|
rollback_config:
|
|
order: start-first
|
|
resources:
|
|
reservations:
|
|
cpus: "1"
|
|
memory: "500M"
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.http.routers.website.rule: >
|
|
Host(`marcpartensky.com`) || Host(`marcpartensky.fr`)
|
|
traefik.http.routers.website.entrypoints: websecure
|
|
traefik.http.routers.website.tls.certresolver: tls
|
|
traefik.http.services.website.loadbalancer.server.port: 80
|
|
|
|
# redis:
|
|
# image: redis:alpine
|
|
# restart: unless-stopped
|
|
# networks:
|
|
# - website
|
|
# healthcheck:
|
|
# test: ["CMD", "redis-cli","ping"]
|
|
# deploy:
|
|
# placement:
|
|
# constraints:
|
|
# - node.role == manager
|
|
|
|
volumes:
|
|
media:
|
|
|
|
networks:
|
|
website:
|
|
redis:
|
|
external: true
|
|
postgres:
|
|
external: true
|
|
caddy:
|
|
external: true
|