Set up three-tier synchronization: Syncthing (real-time), GitHub (version control), rsync (disaster recovery). Includes complete documentation for future Claude sessions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.4 KiB
YAML
39 lines
1.4 KiB
YAML
services:
|
|
odoo:
|
|
image: odoo:latest
|
|
container_name: odoo
|
|
restart: unless-stopped
|
|
networks:
|
|
- traefik-public
|
|
- database-internal
|
|
environment:
|
|
- HOST=postgres-main
|
|
- PORT=5432
|
|
- USER=odoo_user
|
|
- PASSWORD=aeK3HvEL8E7pkic898XII4vCCyioM8yu
|
|
volumes:
|
|
- odoo-data:/var/lib/odoo
|
|
- /opt/03-business/odoo/extra-addons:/mnt/extra-addons
|
|
- /opt/03-business/odoo/odoo.conf:/etc/odoo/odoo.conf:ro
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik-public
|
|
- traefik.http.routers.odoo-api.rule=Host(`odoo.ai-impress.com`) && (PathPrefix(`/xmlrpc`)
|
|
|| PathPrefix(`/jsonrpc`) || PathPrefix(`/web/session`) || PathPrefix(`/web/database`)
|
|
|| PathPrefix(`/web/webclient`)|| Path(`/web/login`) || PathPrefix(`/auth_oauth`))
|
|
- traefik.http.routers.odoo-api.entrypoints=websecure
|
|
- traefik.http.routers.odoo-api.tls.certresolver=cloudflare
|
|
- traefik.http.routers.odoo-api.priority=100
|
|
- traefik.http.routers.odoo.rule=Host(`odoo.ai-impress.com`)
|
|
- traefik.http.routers.odoo.entrypoints=websecure
|
|
- traefik.http.routers.odoo.tls.certresolver=cloudflare
|
|
- traefik.http.routers.odoo.priority=1
|
|
- traefik.http.services.odoo.loadbalancer.server.port=8069
|
|
volumes:
|
|
odoo-data: null
|
|
odoo-addons: null
|
|
networks:
|
|
traefik-public:
|
|
external: true
|
|
database-internal:
|
|
external: true
|