diff --git a/.env.example b/.env.example index 552183f..f81a39b 100644 --- a/.env.example +++ b/.env.example @@ -26,7 +26,7 @@ LOAD_LANGUAGE= DB_SSLMODE=prefer DB_MAXCONN=64 DB_TEMPLATE=unaccent_template -UNACCENT=True +UNACCENT=False LIST_DB=True DBFILTER=.* @@ -66,19 +66,22 @@ REDIS_PORT=6379 REDIS_PASSWORD= REDIS_URL= REDIS_PREFIX=odoo +REDIS_SENTINEL_MASTER_NAME= +REDIS_SENTINEL_HOST= +REDIS_SENTINEL_PORT=26379 REDIS_EXPIRATION=604800 REDIS_EXPIRATION_ANONYMOUS=10800 -REDIS_DATA=/var/lib/keydb # 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=odoocker -AWS_HOST=http://s3:${S3_API_PORT} -AWS_REGION= # PgAdmin PGADMIN_DOMAIN=pgadmin.odoocker.test @@ -103,8 +106,8 @@ SUPPORT_EMAIL=mail@example.com # Containers' Tags ODOO_TAG=16.0 POSTGRES_TAG=16.0 -REDIS_TAG=latest -S3_TAG=latest +KEYDB_TAG=latest +MINIO_TAG=latest NGINX_TAG=1.25.2 NGINX_PROXY_TAG=1.3.1 ACME_COMPANION_TAG=2.2.8 @@ -159,14 +162,14 @@ XMLRPCS=True PROXY_MODE=True X_SENDFILE=False -# Testing +# Testing Group TEST_FILE=False TEST_ENABLE=${TEST_ENABLE} TEST_TAGS=${TEST_TAGS} SCREENCASTS=None SCREENSHOTS=/tmp/odoo_tests -# Logging +# 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 @@ -174,7 +177,7 @@ LOG_DB_LEVEL=${LOG_LEVEL} SYSLOG=False LOGFILE= -# Email +# SMTP Group EMAIL_FROM=${EMAIL_FROM} FROM_FILTER=${FROM_FILTER} SMTP_SERVER=${SMTP_SERVER} @@ -224,6 +227,29 @@ 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 # #--------------# @@ -270,25 +296,12 @@ DEFAULT_EMAIL=${SUPPORT_EMAIL} #-------------# # 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_EXPIRATION=${REDIS_EXPIRATION} -ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS=${REDIS_EXPIRATION_ANONYMOUS} +KEYDB_PORT=${REDIS_PORT} +KEYDB_DATA=/var/lib/keydb -#----------# -# S3 # -#----------# -AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} -AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} -AWS_REGION=${AWS_REGION} -AWS_HOST=${AWS_HOST} -AWS_BUCKETNAME=${AWS_BUCKETNAME} - -DISABLE_ATTACHMENT_STORAGE=0 +#-------------# +# Minio # +#-------------# MINIO_ROOT_USER=${AWS_ACCESS_KEY_ID} MINIO_ROOT_PASSWORD=${AWS_SECRET_ACCESS_KEY} MINIO_VIRTUAL_HOST=${S3_VIRTUAL_HOST} diff --git a/docker-compose.yml b/docker-compose.yml index 3ee8949..39ff117 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -33,6 +33,9 @@ services: - ODOO_SESSION_REDIS_PASSWORD - ODOO_SESSION_REDIS_URL - ODOO_SESSION_REDIS_PREFIX + - ODOO_SESSION_REDIS_SENTINEL_MASTER_NAME + - ODOO_SESSION_REDIS_SENTINEL_HOST + - ODOO_SESSION_REDIS_SENTINEL_PORT - ODOO_SESSION_REDIS_EXPIRATION - ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS - AWS_HOST @@ -69,18 +72,18 @@ services: - internal redis: - image: eqalpha/keydb:${REDIS_TAG} + image: eqalpha/keydb:${KEYDB_TAG} platform: linux/amd64 ports: - - ${REDIS_PORT}:${REDIS_PORT} + - ${KEYDB_PORT}:${KEYDB_PORT} restart: unless-stopped volumes: - - redis-data:${REDIS_DATA} + - redis-data:${KEYDB_DATA} networks: - internal s3: - image: minio/minio:${S3_TAG} + image: minio/minio:${MINIO_TAG} environment: - MINIO_ROOT_USER - MINIO_ROOT_PASSWORD diff --git a/odoo/odoo.conf b/odoo/odoo.conf index c4a2208..68f169d 100644 --- a/odoo/odoo.conf +++ b/odoo/odoo.conf @@ -44,7 +44,7 @@ addons_path = ${ADDONS_PATH} upgrade_path = ${UPGRADE_PATH} ; --load -server_wide_modules = ${SERVER_WIDE_MODULES} +server_wide_modules = ${LOAD} ; --data-dir data_dir = ${DATA_DIR} @@ -307,12 +307,15 @@ ODOO_SESSION_REDIS_EXPIRATION = ${ODOO_SESSION_REDIS_EXPIRATION} ; -- Time in seconds before expiration of the anonymous sessions (default is 3 hours) ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS = ${ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS} +;--------------------------------------; +; Base Attachment Object Storage ; +;--------------------------------------; +; -- Disable Attachment Object Storage +DISABLE_ATTACHMENT_STORAGE = ${DISABLE_ATTACHMENT_STORAGE} + ;----------; ; S3 ; ;----------; -; -- Disable S3 storage -DISABLE_ATTACHMENT_STORAGE = ${DISABLE_ATTACHMENT_STORAGE} - ; -- Not required if using AWS S3 AWS_HOST = ${AWS_HOST} diff --git a/odoo/third-party-addons.sh b/odoo/third-party-addons.sh index 1e57cd8..b32e745 100755 --- a/odoo/third-party-addons.sh +++ b/odoo/third-party-addons.sh @@ -15,13 +15,3 @@ if [ ! -d "server-tools" ]; then git clone https://github.com/odoocker/server-tools.git --depth 1 --branch ${ODOO_TAG} --single-branch --no-tags; cp -r server-tools/sentry ${THIRD_PARTY_ADDONS}/sentry fi - -# Define the path to the manifest files -redis_manifest="${THIRD_PARTY_ADDONS}/session_redis/__manifest__.py" -s3_manifest="${THIRD_PARTY_ADDONS}/attachment_s3/__manifest__.py" -sentry_manifest="${THIRD_PARTY_ADDONS}/sentry/__manifest__.py" - -# Modify the manifest files -# python3 /fix-manifest.py $redis_manifest -# python3 /fix-manifest.py $s3_manifest -# python3 /fix-manifest.py $sentry_manifest