services: traefik: image: traefik:v3.0 container_name: traefik restart: always ports: - "80:80" - "443:443" - "8080:8080" command: - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.network=web" - "--providers.docker.exposedbydefault=false" - "--providers.file.filename=/etc/traefik/tls.yml" - "--providers.file.watch=true" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--certificatesresolvers.myresolver.acme.tlschallenge=true" - "--certificatesresolvers.myresolver.acme.email=you@example.com" - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" - "--entrypoints.websecure.http.tls=true" - "--entrypoints.websecure.http.tls.domains[0].main=emf1995.club" - "--log.level=DEBUG" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./letsencrypt:/letsencrypt" networks: - web depends_on: - odoo db: image: postgres:17 container_name: db-prod user: root environment: - POSTGRES_USER=emf - POSTGRES_PASSWORD=emfforever - POSTGRES_DB=emf1995 restart: always volumes: - ./postgresql:/var/lib/postgresql/data networks: - backend odoo: image: odoo:18 container_name: odoo-prod user: root depends_on: - db ports: - "8069:8069" - "8072:8072" # live chat tty: true command: -- environment: - HOST=db - USER=emf - PASSWORD=emfforever - PIP_BREAK_SYSTEM_PACKAGES=1 labels: - "traefik.enable=true" - "traefik.docker.network=web" # HTTP router -> redirect - "traefik.http.routers.odoo-http.rule=Host(${URL})" - "traefik.http.routers.odoo-http.entrypoints=web" - "traefik.http.routers.odoo-http.middlewares=redirect-to-https" # Middleware - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https" # HTTPS router - "traefik.http.routers.odoo-https.rule=Host(`emf1995.club`)" - "traefik.http.routers.odoo-https.entrypoints=websecure" - "traefik.http.routers.odoo-https.service=odoo" - "traefik.http.services.odoo.loadbalancer.server.port=8069" volumes: #- /etc/timezone:/etc/timezone:ro #- /etc/localtime:/etc/localtime:ro - ./entrypoint.sh:/entrypoint.sh - ./addons:/mnt/extra-addons - ./etc:/etc/odoo restart: always networks: - web - backend networks: web: backend: