odoo-18-docker-compose/docker-compose.yml
Andrei Boyanov a42cc8de71
Update docker-compose.yml
Signed-off-by: Andrei Boyanov <andrei.boyanov@gmail.com>
2025-05-03 20:18:26 +02:00

92 lines
2.5 KiB
YAML

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(`emf1995.club`)"
- "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: