Files
odoocker/.env.example
2023-12-12 19:18:22 -07:00

408 lines
9.5 KiB
Plaintext

#--------------------------#
# Main Configuration #
#--------------------------#
# Odoo
APP_ENV=local
INIT=
UPDATE=
LOAD=base,web
ROOT_PATH=/usr/lib/python3/dist-packages/odoo
WORKERS=0
DEV_MODE=reload,xml
DOMAIN=erp.odoocker.test
ADMIN_PASSWD=odoo
# Services
PROJECT_NAME=odoocker
SERVICES=odoo,nginx,proxy,postgres
# Service configuration
USE_REDIS=false
USE_S3=false
USE_SENTRY=false
USE_PGADMIN=false
# Enterprise
GITHUB_USER=
GITHUB_ACCESS_TOKEN=
# Database
DB_HOST=postgres
DB_PORT=5432
DB_NAME=
DB_USER=odoo
DB_PASSWORD=odoo
LOAD_LANGUAGE=
DB_SSLMODE=prefer
DB_MAXCONN=64
DB_TEMPLATE=unaccent_template
UNACCENT=False
LIST_DB=True
DBFILTER=.*
# Logging
LOG_LEVEL=info
# Additional logs
LOG_HANDLER_LEVEL=INFO
# Sentry
SENTRY_DSN=
SENTRY_ENABLED=true
SENTRY_LOGGING_LEVEL=warn
SENTRY_EXCLUDE_LOGGERS=
SENTRY_IGNORE_EXCEPTIONS=
SENTRY_INCLUDE_CONTEXT=true
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=
SENTRY_ODOO_DIR=${ROOT_PATH}
# Nginx
CORS_ALLOWED_DOMAIN="'http://external-domain.test'"
# Testing
TEST_ENABLE=False
TEST_TAGS=
ADDONS_TO_TEST=
# Mail
SMTP_SERVER=
SMTP_PORT=25
SMTP_SSL=
SMTP_USER=
SMTP_PASSWORD=
EMAIL_FROM=
FROM_FILTER=
# Postgres
POSTGRES_MAIN_HOST=${DB_HOST}
POSTGRES_MAIN_PORT=${DB_PORT}
POSTGRES_MAIN_DB=postgres
POSTGRES_MAIN_USER=postgres
POSTGRES_MAIN_PASSWORD=${DB_PASSWORD}
# Redis
SESSION_REDIS=true
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_URL=
REDIS_PREFIX=${PROJECT_NAME}
REDIS_SENTINEL_MASTER_NAME=
REDIS_SENTINEL_HOST=
REDIS_SENTINEL_PORT=26379
REDIS_EXPIRATION=604800
REDIS_EXPIRATION_ANONYMOUS=10800
# Filesystem
S3_VIRTUAL_HOST=s3.odoocker.test
S3_API_PORT=9000
S3_CONSOLE_PORT=9001
AWS_HOST=http://s3:${S3_API_PORT}
AWS_REGION=
AWS_ACCESS_KEY_ID=myaccesskey
AWS_SECRET_ACCESS_KEY=mysecretkey
AWS_BUCKETNAME=${PROJECT_NAME}-{db}
# PgAdmin
PGADMIN_DOMAIN=pgadmin.odoocker.test
PGADMING_DB_NAME=pgadmin
PGADMING_DB_USER=pgadmin
PGADMIN_DB_PASSWORD=${DB_PASSWORD}
PGADMIN_DB_HOST="'postgresql://${PGADMING_DB_USER}:${PGADMIN_DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${PGADMING_DB_NAME}'"
PGADMIN_EMAIL=pgadmin@example.com
PGADMIN_PASSWORD=pgadmin
PGADMIN_SERVERS_JSON=
PGADMIN_CONFIG_SERVER_MODE=True
#------------------------------#
# Project Configurations #
#------------------------------#
# Docker
PROJECT_NAME=${PROJECT_NAME}
SUPPORT_EMAIL=mail@example.com
# Service configuration
USE_REDIS=${USE_REDIS}
USE_S3=${USE_S3}
USE_SENTRY=${USE_SENTRY}
USE_PGADMIN=${USE_PGADMIN}
# Which services are going to be brought up
COMPOSE_PROFILES=${SERVICES}
# Service profiles
ODOO_PROFILES="odoo"
POSTGRES_PROFILES="postgres"
NGINX_PROFILES="nginx"
NGINX_PROXY_PROFILES="proxy"
ACME_COMPANION_PROFILES="acme"
KEYDB_PROFILES="keydb"
MINIO_PROFILES="minio"
PGADMIN_PROFILES="pgadmin"
# Containers' Tags
ODOO_TAG=15.0
POSTGRES_TAG=16.1
KEYDB_TAG=latest
MINIO_TAG=latest
NGINX_TAG=1.25.3
NGINX_PROXY_TAG=1.4.0
ACME_COMPANION_TAG=2.2.9
PGADMIN_TAG=8.0
# Odoocker paths
COMMUNITY_ADDONS=${ROOT_PATH}/addons
ENTERPRISE_ADDONS=${ROOT_PATH}/enterprise
THIRD_PARTY_ADDONS=${ROOT_PATH}/third-party-addons
EXTRA_ADDONS=${ROOT_PATH}/extra-addons
CUSTOM_ADDONS=${ROOT_PATH}/custom-addons
LOG_PATH=/var/log/odoo/odoo.log
DEBUG_PATH=/usr/bin/odoo
#------------#
# Odoo #
#------------#
# Options not exposed on the command line.
ADMIN_PASSWD=${ADMIN_PASSWD}
CSV_INTERNAL_SEP=,
PUBLISHER_WARRANTY_URL=http://services.openerp.com/publisher-warranty/
ROOT_PATH=${ROOT_PATH}
REPORTGZ=False
WEBSOCKET_KEEP_ALIVE_TIMEOUT=3600
WEBSOCKET_RATE_LIMIT_BURST=10
WEBSOCKET_RATE_LIMIT_DELAY=0.2
# Server startup config
ODOO_RC=${ROOT_PATH}/odoo.conf
SAVE=False
INIT=${INIT}
UPDATE=${UPDATE}
DEMO=False
WITHOUT_DEMO=all
IMPORT_PARTIAL=False
PIDFILE=
ADDONS_PATH=${COMMUNITY_ADDONS},${ENTERPRISE_ADDONS},${THIRD_PARTY_ADDONS},${EXTRA_ADDONS},${CUSTOM_ADDONS}
UPGRADE_PATH=
SERVER_WIDE_MODULES=${LOAD}
DATA_DIR=/var/lib/odoo
# HTTP
HTTP_INTERFACE=0.0.0.0
XMLRPCS_INTERFACE=${HTTP_INTERFACE}
DEBUG_INTERFACE=${HTTP_INTERFACE}
HTTP_PORT=8069
DEBUG_PORT=8070
XMLRPCS_PORT=8071
GEVENT_PORT=8072
HTTP_ENABLE=True
XMLRPCS=True
PROXY_MODE=True
X_SENDFILE=False
# Testing Group
TEST_FILE=False
TEST_ENABLE=${TEST_ENABLE}
TEST_TAGS=${TEST_TAGS}
SCREENCASTS=None
SCREENSHOTS=/tmp/odoo_tests
# Logging Group
LOG_LEVEL=${LOG_LEVEL}
LOG_HANDLER=odoo.http.rpc.request:${LOG_HANDLER_LEVEL},odoo.http.rpc.response:${LOG_HANDLER_LEVEL},:${LOG_HANDLER_LEVEL},odoo.sql_db:${LOG_HANDLER_LEVEL}
LOG_DB=False
LOG_DB_LEVEL=${LOG_LEVEL}
SYSLOG=False
LOGFILE=
# SMTP Group
EMAIL_FROM=${EMAIL_FROM}
FROM_FILTER=${FROM_FILTER}
SMTP_SERVER=${SMTP_SERVER}
SMTP_PORT=${SMTP_PORT}
SMTP_SSL=${SMTP_SSL}
SMTP_USER=${SMTP_USER}
SMTP_PASSWORD=${SMTP_PASSWORD}
SMTP_SSL_CERTIFICATE_FILENAME=False
SMTP_SSL_PRIVATE_KEY_FILENAME=False
# DB Group
DB_NAME=${DB_NAME}
DB_USER=${DB_USER}
DB_PASSWORD=${DB_PASSWORD}
PG_PATH=
DB_HOST=${DB_HOST}
DB_PORT=${DB_PORT}
DB_SSLMODE=${DB_SSLMODE}
DB_MAXCONN=${DB_MAXCONN}
DB_TEMPLATE=${DB_TEMPLATE}
# Internationalisation options
LOAD_LANGUAGE=${LOAD_LANGUAGE}
LANGUAGE=
TRANSLATE_OUT=
TRANSLATE_IN=
OVERWRITE_EXISTING_TRANSLATIONS=False
TRANSLATE_MODULES="['all']"
# Security
LIST_DB=${LIST_DB}
# WEB
DBFILTER=${DBFILTER}
# Advanced options
DEV_MODE=${DEV_MODE}
SHELL_INTERFACE=ptpython
STOP_AFTER_INIT=False
OSV_MEMORY_COUNT_LIMIT=False
TRANSIENT_AGE_LIMIT=1.0
MAX_CRON_THREADS=2
UNACCENT=${UNACCENT}
GEOIP_DATABASE=/usr/share/GeoIP/GeoLite2-City.mmdb
WORKERS=${WORKERS}
LIMIT_MEMORY_SOFT=2147483648
LIMIT_MEMORY_HARD=2684354560
LIMIT_TIME_CPU=120
LIMIT_TIME_REAL=480
LIMIT_TIME_REAL_CRON=600
LIMIT_REQUEST=8192
# Redis
ODOO_SESSION_REDIS=${SESSION_REDIS}
ODOO_SESSION_REDIS_HOST=${REDIS_HOST}
ODOO_SESSION_REDIS_PORT=${REDIS_PORT}
ODOO_SESSION_REDIS_PASSWORD=${REDIS_PASSWORD}
ODOO_SESSION_REDIS_URL=${REDIS_URL}
ODOO_SESSION_REDIS_PREFIX=${REDIS_PREFIX}
ODOO_SESSION_REDIS_SENTINEL_MASTER_NAME=${REDIS_SENTINEL_MASTER_NAME}
ODOO_SESSION_REDIS_SENTINEL_HOST=${REDIS_SENTINEL_HOST}
ODOO_SESSION_REDIS_SENTINEL_PORT=${REDIS_SENTINEL_PORT}
ODOO_SESSION_REDIS_EXPIRATION=${REDIS_EXPIRATION}
ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS=${REDIS_EXPIRATION_ANONYMOUS}
# Base Attachment Object Storage
DISABLE_ATTACHMENT_STORAGE=0
# S3
AWS_HOST=${AWS_HOST}
AWS_REGION=${AWS_REGION}
AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
AWS_BUCKETNAME=${AWS_BUCKETNAME}
#--------------#
# Docker #
#--------------#
COMPOSE_PROJECT_NAME=${PROJECT_NAME}
DOCKER_SOCK=/var/run/docker.sock
TEMP_DOCKER_SOCK=/tmp/docker.sock
#----------------#
# Postgres #
#----------------#
POSTGRES_HOST=${POSTGRES_MAIN_HOST}
POSTGRES_PORT=${POSTGRES_MAIN_PORT}
POSTGRES_DB=${POSTGRES_MAIN_DB}
POSTGRES_USER=${POSTGRES_MAIN_USER}
POSTGRES_PASSWORD=${POSTGRES_MAIN_PASSWORD}
PGDATA=/var/lib/postgresql/data/${PROJECT_NAME}
#-------------#
# Nginx #
#-------------#
NGINX_CONF=/etc/nginx/nginx.conf
NGINX_DEFAULT_CONF=/etc/nginx/conf.d/default.conf
VIRTUAL_HOST=${DOMAIN}
LETSENCRYPT_HOST=${DOMAIN}
LETSENCRYPT_EMAIL=${SUPPORT_EMAIL}
CORS_ALLOWED_DOMAIN=${CORS_ALLOWED_DOMAIN}
#-------------------#
# Nginx Proxy #
#-------------------#
NGINX_CERTS=/etc/nginx/certs
NGINX_VHOST=/etc/nginx/vhost.d
NGINX_HTML=/usr/share/nginx/html
NGINX_ACME=/etc/acme.sh
TRUST_DOWNSTREAM_PROXY=true
NGINX_PROXY_CORS_CONF=/etc/nginx/cors.conf
CORS_ALLOWED_DOMAIN=${CORS_ALLOWED_DOMAIN}
#----------------------#
# ACME Companion #
#----------------------#
# For prod use: https://acme-v02.api.letsencrypt.org/directory
ACME_CA_URI=https://acme-staging-v02.api.letsencrypt.org/directory
CERTS_UPDATE_INTERVAL=3600
DEFAULT_EMAIL=${SUPPORT_EMAIL}
#-------------#
# Redis #
#-------------#
KEYDB_PORT=${REDIS_PORT}
KEYDB_DATA=/var/lib/keydb
#-------------#
# Minio #
#-------------#
MINIO_ROOT_USER=${AWS_ACCESS_KEY_ID}
MINIO_ROOT_PASSWORD=${AWS_SECRET_ACCESS_KEY}
MINIO_VIRTUAL_HOST=${S3_VIRTUAL_HOST}
MINIO_BROWSER_REDIRECT_URL=http://${MINIO_VIRTUAL_HOST}
MINIO_API_PORT=${S3_API_PORT}
MINIO_CONSOLE_PORT=${S3_CONSOLE_PORT}
MINIO_DATA=/data
#-------------#
# PgAdmin #
#-------------#
# Volume path
PGADMIN_DATA=/var/lib/pgadmin
# Nginx Proxy Configuration
PGADMIN_VIRTUAL_HOST=${PGADMIN_DOMAIN}
PGADMIN_LETSENCRYPT_HOST=${PGADMIN_DOMAIN}
PGADMIN_LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
# PgAdmin Configuration
PGADMIN_CONFIG_APP_NAME="'pgAdmin 4'"
PGADMIN_CONFIG_SERVER_MODE=${PGADMIN_CONFIG_SERVER_MODE}
PGADMIN_CONFIG_DEFAULT_SERVER="'127.0.0.1'"
PGADMIN_CONFIG_DEFAULT_SERVER_PORT=5050
PGADMIN_CONFIG_MAX_SESSION_IDLE_TIME=120
PGADMIN_CONFIG_MAX_QUERY_HIST_STORED=20
# Security Settings
PGADMIN_CONFIG_PASSWORD_LENGTH_MIN=6
PGADMIN_CONFIG_ALLOW_SAVE_PASSWORD=True
PGADMIN_CONFIG_ALLOW_SAVE_TUNNEL_PASSWORD=True
PGADMIN_CONFIG_MAX_LOGIN_ATTEMPTS=10
# DB Configuration
PGADMIN_CONFIG_CONFIG_DATABASE_URI=${PGADMIN_DB_HOST}
PGADMIN_CONFIG_CONFIG_DATABASE_CONNECTION_POOL_SIZE=5
# Load Shared Servers Configuration into DB
PGADMIN_SERVERS_JSON=${PGADMIN_SERVERS_JSON}
# Authentication
PGADMIN_DEFAULT_EMAIL=${PGADMIN_EMAIL}
PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD}
# PgAdmin SMTP Server
PGADMIN_CONFIG_MAIL_SERVER="'localhost'"
PGADMIN_CONFIG_MAIL_PORT=25
PGADMIN_CONFIG_MAIL_USE_SSL=False
PGADMIN_CONFIG_MAIL_USE_TLS=False
PGADMIN_CONFIG_MAIL_USERNAME="''"
PGADMIN_CONFIG_MAIL_PASSWORD="''"
PGADMIN_CONFIG_MAIL_DEBUG=False
PGADMIN_CONFIG_SECURITY_EMAIL_SENDER="'$PGADMIN_DEFAULT_EMAIL'"
# Dynamic PgAdmin Servers (Add as many as you need following copying these variables like {DB1}, {DB2}, DB3)
PGADMIN_DB1_NAME=Odoocker
PGADMIN_DB1_HOST=localhost
PGADMIN_DB1_PORT=5432
PGADMIN_DB1_MAINTENANCE_DB=odoocker
PGADMIN_DB1_USERNAME=odoo
PGADMIN_DB1_TUNNEL_HOST=erp.odoocker.test
PGADMIN_DB1_TUNNEL_PORT=22
PGADMIN_DB1_TUNNEL_USERNAME=ubuntu