chore: add docker and traefik config for ai.activeblue.net
This commit is contained in:
53
docker-compose.odoo.yml
Normal file
53
docker-compose.odoo.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
odoo-ai-web:
|
||||
image: odoo:18
|
||||
depends_on:
|
||||
odoo-ai-db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- HOST=odoo-ai-db
|
||||
- USER=odoo
|
||||
- PASSWORD=${POSTGRES_PASSWORD}
|
||||
volumes:
|
||||
- ./odoo-ai-data:/var/lib/odoo
|
||||
- ./odoo-ai-config:/etc/odoo
|
||||
- ./odoo_module:/mnt/extra-addons
|
||||
ports: []
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.odoo-ai.rule=Host(`ai.activeblue.net`)"
|
||||
- "traefik.http.routers.odoo-ai.entrypoints=websecure"
|
||||
- "traefik.http.routers.odoo-ai.tls.certresolver=le"
|
||||
- "traefik.http.services.odoo-ai.loadbalancer.server.port=8069"
|
||||
networks:
|
||||
- traefik-public
|
||||
- odoo-ai-internal
|
||||
|
||||
odoo-ai-db:
|
||||
image: postgres:15
|
||||
environment:
|
||||
- POSTGRES_USER=odoo
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DB=ai
|
||||
volumes:
|
||||
- odoo-ai-db-data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U odoo -d ai"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- odoo-ai-internal
|
||||
|
||||
networks:
|
||||
traefik-public:
|
||||
external: true
|
||||
odoo-ai-internal:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
odoo-ai-db-data:
|
||||
24
odoo-ai-config/odoo.conf
Normal file
24
odoo-ai-config/odoo.conf
Normal file
@@ -0,0 +1,24 @@
|
||||
[options]
|
||||
; Odoo 18 Community configuration for ai.activeblue.net
|
||||
addons_path = /mnt/extra-addons,/usr/lib/python3/dist-packages/odoo/addons
|
||||
admin_passwd = False
|
||||
db_host = odoo-ai-db
|
||||
db_port = 5432
|
||||
db_name = ai
|
||||
db_user = odoo
|
||||
dbfilter = ^ai$
|
||||
|
||||
; Performance
|
||||
workers = 4
|
||||
max_cron_threads = 2
|
||||
limit_time_cpu = 300
|
||||
limit_time_real = 600
|
||||
limit_memory_hard = 2684354560
|
||||
limit_memory_soft = 2147483648
|
||||
|
||||
; Proxy
|
||||
proxy_mode = True
|
||||
|
||||
; Logging
|
||||
log_level = info
|
||||
logfile = /var/log/odoo/odoo.log
|
||||
33
traefik_dynamic_ai.yml
Normal file
33
traefik_dynamic_ai.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
# ActiveBlue AI — Traefik dynamic config
|
||||
# Place this file at: /opt/traefik/dynamic/traefik_dynamic_ai.yml
|
||||
|
||||
http:
|
||||
routers:
|
||||
odoo-ai:
|
||||
rule: "Host(`ai.activeblue.net`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: le
|
||||
service: odoo-ai
|
||||
middlewares:
|
||||
- odoo-ai-headers
|
||||
|
||||
services:
|
||||
odoo-ai:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://odoo-ai-web:8069"
|
||||
healthCheck:
|
||||
path: /web/health
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
|
||||
middlewares:
|
||||
odoo-ai-headers:
|
||||
headers:
|
||||
customRequestHeaders:
|
||||
X-Forwarded-Proto: "https"
|
||||
sslRedirect: true
|
||||
forceSTSHeader: true
|
||||
stsSeconds: 31536000
|
||||
Reference in New Issue
Block a user