170 lines
5.0 KiB
Plaintext
170 lines
5.0 KiB
Plaintext
name: odoo-build
|
|
services:
|
|
odoo:
|
|
container_name: odoo
|
|
image: "${CONTAINER_REGISTRY}/${CONTAINER_TAG}"
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
environment:
|
|
HOST: db
|
|
USER: odoo
|
|
PASSWORD: odoo
|
|
PORT: 5432
|
|
PGHOST: db
|
|
PGUSER: odoo
|
|
PGPORT: 5432
|
|
DB_NAME: "${DB_NAME}"
|
|
DB_MAXCONN: ${DB_MAXCONN}
|
|
PGSSLMODE: ${PGSSLMODE}
|
|
PGSSLROOTCERT: "/mnt/postgres-odoo/ca.crt"
|
|
SMTP_SERVER: ${SMTP_SERVER}
|
|
SMTP_PORT: ${SMTP_PORT}
|
|
SMTP_SSL: ${SMTP_SSL}
|
|
SMTP_USER: ${SMTP_USER}
|
|
SMTP_PASSWORD: ${SMTP_PASSWORD}
|
|
EMAIL_FROM: ${EMAIL_FROM}
|
|
MAIL_BOUNCE_ALIAS: ${MAIL_BOUNCE_ALIAS}
|
|
MAIL_CATCHALL_ALIAS: ${MAIL_CATCHALL_ALIAS}
|
|
MAIL_CATCHALL_DOMAIN: ${MAIL_CATCHALL_DOMAIN}
|
|
MAIL_DEFAULT_FROM: ${MAIL_DEFAULT_FROM}
|
|
MAIL_ALIAS_DOMAIN: ${MAIL_ALIAS_DOMAIN}
|
|
ODOO_MAIL_SMTP_HOST: ${ODOO_MAIL_SMTP_HOST}
|
|
ODOO_MAIL_SMTP_PORT: ${ODOO_MAIL_SMTP_PORT}
|
|
ODOO_MAIL_SMTP_ENCRYPTION: ${ODOO_MAIL_SMTP_ENCRYPTION}
|
|
ODOO_MAIL_SMTP_FROM_FILTER: ${ODOO_MAIL_SMTP_FROM_FILTER}
|
|
ODOO_MAIL_IMAP_HOST: ${ODOO_MAIL_IMAP_HOST}
|
|
ODOO_MAIL_IMAP_PORT: ${ODOO_MAIL_IMAP_PORT}
|
|
ODOO_MAIL_IMAP_SSL: ${ODOO_MAIL_IMAP_SSL}
|
|
ODOO_MAIL_USERNAME: ${ODOO_MAIL_USERNAME}
|
|
ODOO_MAIL_PASSWORD: ${ODOO_MAIL_PASSWORD}
|
|
GIT_SSH_PUBLIC_KEY: ${GIT_SSH_PUBLIC_KEY}
|
|
GIT_SSH_PRIVATE_KEY: ${GIT_SSH_PRIVATE_KEY}
|
|
GITHUB_USERNAME: ${GITHUB_USERNAME}
|
|
GITHUB_PERSONAL_ACCESS_TOKEN: ${GITHUB_PERSONAL_ACCESS_TOKEN}
|
|
ADDONS_GIT_REPOS: ${ADDONS_GIT_REPOS}
|
|
ODOO_ADDONS_PATH: ${ODOO_ADDONS_PATH}
|
|
ODOO_INIT_LOGIN: ${ODOO_INIT_LOGIN}
|
|
ODOO_INIT_PASSWORD: ${ODOO_INIT_PASSWORD}
|
|
ODOO_INIT_LANG: ${ODOO_INIT_LANG}
|
|
ODOO_INIT_ADDONS: ${ODOO_INIT_ADDONS}
|
|
RUNNING_ENV: ${RUNNING_ENV}
|
|
WITHOUT_DEMO: "${WITHOUT_DEMO}"
|
|
PYTHON_INSTALL: ${PYTHON_INSTALL}
|
|
SERVER_WIDE_MODULES: ${SERVER_WIDE_MODULES}
|
|
SESSION_DB_URI: ${SESSION_DB_URI}
|
|
PROXY_MODE: ${PROXY_MODE}
|
|
LOG_LEVEL: ${LOG_LEVEL}
|
|
LIST_DB: ${LIST_DB}
|
|
LOG_DB: ${LOG_DB}
|
|
LOG_HANDLER: ${LOG_HANDLER}
|
|
LOGFILE: ${LOGFILE}
|
|
ADMIN_PASSWD: ${ADMIN_PASSWD}
|
|
DB_FILTER: ${DB_FILTER}
|
|
WORKERS: ${WORKERS}
|
|
LIMIT_REQUEST: ${LIMIT_REQUEST}
|
|
LIMIT_TIME_CPU: ${LIMIT_TIME_CPU}
|
|
LIMIT_TIME_REAL: ${LIMIT_TIME_REAL}
|
|
LIMIT_MEMORY_HARD: ${LIMIT_MEMORY_HARD}
|
|
LIMIT_MEMORY_SOFT: ${LIMIT_MEMORY_SOFT}
|
|
LIMIT_MEMORY_HARD_GEVENT: ${LIMIT_MEMORY_HARD_GEVENT}
|
|
LIMIT_MEMORY_SOFT_GEVENT: ${LIMIT_MEMORY_SOFT_GEVENT}
|
|
MODULE_AUTO_INSTALL_DISABLED: ${MODULE_AUTO_INSTALL_DISABLED}
|
|
TEST_ADDONS_DIR: ${TEST_ADDONS_DIR}
|
|
TEST_INCLUDE: ${TEST_INCLUDE}
|
|
TEST_EXCLUDE: ${TEST_EXCLUDE}
|
|
AUTO_UPDATE_TRANSLATIONS: "${AUTO_UPDATE_TRANSLATIONS}"
|
|
AUTO_UPDATE_MODULES_LIST: "${AUTO_UPDATE_MODULES_LIST}"
|
|
#db_user_FILE: /run/secrets/db_user
|
|
#db_password_FILE: /run/secrets/db_password
|
|
secrets:
|
|
- db_user
|
|
- db_password
|
|
command: ${ODOO_COMMAND}
|
|
ports:
|
|
- "${ODOO_PORT}:8069"
|
|
- "${NGINX_PORT}:8080"
|
|
volumes:
|
|
- odoo-data:/var/lib/odoo
|
|
${VOLUME_MOUNTS}
|
|
networks:
|
|
- default
|
|
admin:
|
|
container_name: admin
|
|
image: docker.io/dpage/pgadmin4:6
|
|
depends_on:
|
|
- db
|
|
ports:
|
|
- "8000:80"
|
|
environment:
|
|
PGADMIN_DEFAULT_EMAIL: admin@example.com
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
volumes:
|
|
- admin-data:/var/lib/pgadmin
|
|
- ./servers.json:/pgadmin4/servers.json
|
|
networks:
|
|
- default
|
|
db:
|
|
container_name: db
|
|
image: ${POSTGRES_IMAGE}
|
|
ports:
|
|
- "${POSTGRES_PORT}:5432"
|
|
environment:
|
|
POSTGRES_USER: odoo
|
|
POSTGRES_PASSWORD: odoo
|
|
POSTGRES_DB: "${DB_NAME}"
|
|
PGDATA: /var/lib/postgresql/data/pgdata
|
|
volumes:
|
|
- db-data:/var/lib/postgresql/data/pgdata
|
|
- ./tmp/postgres-odoo:/mnt/postgres-odoo/
|
|
command:
|
|
[
|
|
"postgres",
|
|
"-c", "ssl=${POSTGRES_SSL}",
|
|
"-c", "ssl_cert_file=/mnt/postgres-odoo/server.crt",
|
|
"-c", "ssl_key_file=/mnt/postgres-odoo/server.key",
|
|
"-c", "ssl_ca_file=/mnt/postgres-odoo/ca.crt",
|
|
"-c", "autovacuum=off",
|
|
"-c", "track_counts=off"
|
|
]
|
|
networks:
|
|
- default
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U odoo -d $DB_NAME"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
mailpit:
|
|
image: docker.io/axllent/mailpit
|
|
container_name: mailpit
|
|
hostname: mailpit
|
|
ports:
|
|
- "1025:1025"
|
|
- "8025:8025"
|
|
networks:
|
|
- default
|
|
mailgate:
|
|
image: mintsystem/odoo-mailgate
|
|
container_name: mailgate
|
|
hostname: mailgate
|
|
ports:
|
|
- "25:25"
|
|
- "587:587"
|
|
environment:
|
|
ODOO_DATABASE: "${DB_NAME}"
|
|
MAIL_ALIASES: "${MAIL_ALIASES}"
|
|
networks:
|
|
- default
|
|
volumes:
|
|
odoo-data:
|
|
db-data:
|
|
admin-data:
|
|
mail-data:
|
|
networks:
|
|
default:
|
|
name: odoo-build_default
|
|
secrets:
|
|
db_user:
|
|
file: ./tmp/db_user.txt
|
|
db_password:
|
|
file: ./tmp/db_password.txt |