forked from ingadhoc/docker-compose-odoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
103 lines (101 loc) · 4.28 KB
/
docker-compose.yml
File metadata and controls
103 lines (101 loc) · 4.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
services:
odoo:
image: $ODOO_IMAGE:$ODOO_MINOR
command: sleep infinity
container_name: odoo-${ODOO_VERSION}
volumes:
- ./data/custom:/home/odoo/custom
# - default:/home/odoo/src
- odoo_data:/home/odoo/data
# Auth + estado de CLIs de agentes — bind mount via "hop" dir local
# al repo (`.devcontainer/auth/`). Cada entry es un symlink (default,
# creado por init.sh apuntando al $HOME del dev) o un dir real
# (opt-out a aislamiento, dev lo decide).
#
# - Default: symlinks → estado COMPARTIDO host↔container (sessions,
# MCPs, tokens transparentes; cero re-login post-rebuild).
# - Opt-out: reemplazar symlink por dir real → estado AISLADO en repo
# (similar al modelo dir-separado de spec 0012, pero bajo el control
# del dev). Útil para contractors / threat-model estricto.
#
# Docker bind-mountea el target del symlink (no el symlink), así que
# el efecto es idéntico a mount directo al host. docker-compose.yml
# queda agnóstico — la decisión "compartido vs aislado" no requiere
# tocar este archivo.
#
# Supersede el modelo de dir separado (~/.adhoc-devcontainer-auth/
# shared/) que estableció spec 0012. Ver ADR 0023 en adhoc-way.
- ./.devcontainer/auth/.claude:/home/odoo/.claude
- ./.devcontainer/auth/.codex:/home/odoo/.codex
- ./.devcontainer/auth/.gemini:/home/odoo/.gemini
- ./.devcontainer/auth/.claude.json:/home/odoo/.claude.json
- ./.devcontainer/auth/.agents:/home/odoo/.agents
- ./.devcontainer/auth/.config/gh:/home/odoo/.config/gh
# Capa Usuario adhoc-way — user.md + teams + conventions.md compartidos
# host↔container. Permite que adhoc-way-install-user.sh y poststart.sh
# lean/escriban la misma identidad sin sincronización manual.
# Ver spec devops-workspace-context (devops-specs) Eje 1.
- ${HOME}/.adhoc:/home/odoo/.adhoc
labels:
- traefik.enable=true
- traefik.docker.network=adhoc
- traefik.http.services.odoo-${ODOO_VERSION}.loadbalancer.server.port=8069
- traefik.http.routers.odoo-${ODOO_VERSION}.service=odoo-${ODOO_VERSION}
- traefik.http.routers.odoo-${ODOO_VERSION}.entrypoints=web
- traefik.http.routers.odoo-${ODOO_VERSION}.rule=Host(`$DOMAIN`) || HostRegexp(`^[a-z0-9_-]+.$DOMAIN$`)
# solo activar si se va a trabajar con workers (workers != 0)
# longpolling / websocket
# - traefik.http.services.long-${ODOO_VERSION}.loadbalancer.server.port=8072
# - traefik.http.routers.long-${ODOO_VERSION}.rule=Host(`$DOMAIN`) || HostRegexp(`^[a-z0-9_-]+.$DOMAIN$`) && (PathPrefix(`/longpolling`) || PathPrefix(`/websocket`))
# - traefik.http.routers.long-${ODOO_VERSION}.entrypoints=web
# - traefik.http.routers.long-${ODOO_VERSION}.service=long-${ODOO_VERSION}
environment:
CUSTOM_CONFIG: |-
[options]
CUSTOM_REQUIREMTNS: |-
# custom pip librearies
CUSTOM_ENTRYPOINT: |-
#!/bin/bash
# pip install --user --no-cache-dir -e /home/odoo/custom/odoo
# pip install --user --no-cache-dir pyopenssl
SMTP_SERVER: mailhog
SMTP_PORT: 1025
DBFILTER: ${DBFILTER}
SERVER_WIDE_MODULES: ${SERVER_WIDE_MODULES}
MAX_CRON_THREADS: ${MAX_CRON_THREADS}
WORKERS: ${WORKERS}
LIST_DB: ${LIST_DB}
WITHOUT_DEMO: ${WITHOUT_DEMO}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
PROXY_MODE: ${PROXY_MODE}
SERVER_MODE: ${SERVER_MODE}
AEROO_DOCS_HOST: ${AEROO_DOCS_HOST}
LIMIT_TIME_REAL_CRON: ${LIMIT_TIME_REAL_CRON}
LIMIT_TIME_REAL: ${LIMIT_TIME_REAL}
UNACCENT: ${UNACCENT}
ODOO_UPGRADE_PATH: ${ODOO_UPGRADE_PATH}
IGNORE_SRC_REPOSITORIES: ${IGNORE_SRC_REPOSITORIES}
ODOOLY_SSL_UNVERIFIED: "True"
LIMIT_MEMORY_SOFT: "3147484000"
LIMIT_MEMORY_HARD: "4777721600"
WAIT_PG: "false"
ADHOC_ANALYTIC_ACCOUNT: "development"
ADHOC_DATABASE: "development"
KWKHTMLTOPDF_SERVER_URL: "http://kwkhtmltopdf:8080"
dns:
# - "8.8.8.8"
- "172.60.0.10"
networks:
adhoc:
ipv4_address: 172.60.0.${ODOO_VERSION}
minikube:
volumes:
odoo_data:
default:
networks:
adhoc:
name: adhoc
external: true
minikube:
name: minikube
external: true