mirror of
https://github.com/odoocker/odoocker
synced 2025-11-04 15:19:22 +01:00
Merge pull request #5 from odoocker/feature/sentry-integration
Yhael | Feature | Sentry Integration
This commit is contained in:
108
.env.example
108
.env.example
@@ -5,7 +5,8 @@
|
|||||||
APP_ENV=local
|
APP_ENV=local
|
||||||
INIT=
|
INIT=
|
||||||
UPDATE=
|
UPDATE=
|
||||||
LOAD=base,web,session_redis,attachment_s3
|
LOAD=base,web,session_redis,attachment_s3,sentry
|
||||||
|
ROOT_PATH=/usr/lib/python3/dist-packages/odoo
|
||||||
WORKERS=2
|
WORKERS=2
|
||||||
DEV_MODE=reload,xml
|
DEV_MODE=reload,xml
|
||||||
DOMAIN=erp.odoocker.test
|
DOMAIN=erp.odoocker.test
|
||||||
@@ -26,7 +27,7 @@ LOAD_LANGUAGE=
|
|||||||
DB_SSLMODE=prefer
|
DB_SSLMODE=prefer
|
||||||
DB_MAXCONN=64
|
DB_MAXCONN=64
|
||||||
DB_TEMPLATE=unaccent_template
|
DB_TEMPLATE=unaccent_template
|
||||||
UNACCENT=True
|
UNACCENT=False
|
||||||
LIST_DB=True
|
LIST_DB=True
|
||||||
DBFILTER=.*
|
DBFILTER=.*
|
||||||
|
|
||||||
@@ -34,6 +35,16 @@ DBFILTER=.*
|
|||||||
LOG_LEVEL=info
|
LOG_LEVEL=info
|
||||||
# Additional logs
|
# Additional logs
|
||||||
LOG_HANDLER_LEVEL=INFO
|
LOG_HANDLER_LEVEL=INFO
|
||||||
|
# Sentry
|
||||||
|
SENTRY_DSN=https://84799fb74edc4053aa3368aec3c2cb89@o4504596558577664.ingest.sentry.io/4504596563230720
|
||||||
|
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
|
# Nginx
|
||||||
CORS_ALLOWED_DOMAIN="'http://external-domain.test'"
|
CORS_ALLOWED_DOMAIN="'http://external-domain.test'"
|
||||||
@@ -65,20 +76,23 @@ REDIS_HOST=redis
|
|||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_PASSWORD=
|
REDIS_PASSWORD=
|
||||||
REDIS_URL=
|
REDIS_URL=
|
||||||
REDIS_PREFIX=odoo
|
REDIS_PREFIX=odoocker
|
||||||
|
REDIS_SENTINEL_MASTER_NAME=
|
||||||
|
REDIS_SENTINEL_HOST=
|
||||||
|
REDIS_SENTINEL_PORT=26379
|
||||||
REDIS_EXPIRATION=604800
|
REDIS_EXPIRATION=604800
|
||||||
REDIS_EXPIRATION_ANONYMOUS=10800
|
REDIS_EXPIRATION_ANONYMOUS=10800
|
||||||
REDIS_DATA=/var/lib/keydb
|
|
||||||
|
|
||||||
# Filesystem
|
# Filesystem
|
||||||
S3_VIRTUAL_HOST=s3.odoocker.test
|
S3_VIRTUAL_HOST=s3.odoocker.test
|
||||||
S3_API_PORT=9000
|
S3_API_PORT=9000
|
||||||
S3_CONSOLE_PORT=9001
|
S3_CONSOLE_PORT=9001
|
||||||
|
|
||||||
|
AWS_HOST=http://s3:${S3_API_PORT}
|
||||||
|
AWS_REGION=
|
||||||
AWS_ACCESS_KEY_ID=myaccesskey
|
AWS_ACCESS_KEY_ID=myaccesskey
|
||||||
AWS_SECRET_ACCESS_KEY=mysecretkey
|
AWS_SECRET_ACCESS_KEY=mysecretkey
|
||||||
AWS_BUCKETNAME=odoocker
|
AWS_BUCKETNAME=odoocker
|
||||||
AWS_HOST=http://s3:${S3_API_PORT}
|
|
||||||
AWS_REGION=
|
|
||||||
|
|
||||||
# PgAdmin
|
# PgAdmin
|
||||||
PGADMIN_DOMAIN=pgadmin.odoocker.test
|
PGADMIN_DOMAIN=pgadmin.odoocker.test
|
||||||
@@ -103,26 +117,13 @@ SUPPORT_EMAIL=mail@example.com
|
|||||||
# Containers' Tags
|
# Containers' Tags
|
||||||
ODOO_TAG=16.0
|
ODOO_TAG=16.0
|
||||||
POSTGRES_TAG=16.0
|
POSTGRES_TAG=16.0
|
||||||
REDIS_TAG=latest
|
KEYDB_TAG=latest
|
||||||
S3_TAG=latest
|
MINIO_TAG=latest
|
||||||
NGINX_TAG=1.25.2
|
NGINX_TAG=1.25.2
|
||||||
NGINX_PROXY_TAG=1.3.1
|
NGINX_PROXY_TAG=1.3.1
|
||||||
ACME_COMPANION_TAG=2.2.8
|
ACME_COMPANION_TAG=2.2.8
|
||||||
PGADMIN_TAG=7.6
|
PGADMIN_TAG=7.6
|
||||||
|
|
||||||
#------------#
|
|
||||||
# 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=/usr/lib/python3/dist-packages/odoo
|
|
||||||
REPORTGZ=False
|
|
||||||
WEBSOCKET_KEEP_ALIVE_TIMEOUT=3600
|
|
||||||
WEBSOCKET_RATE_LIMIT_BURST=10
|
|
||||||
WEBSOCKET_RATE_LIMIT_DELAY=0.2
|
|
||||||
|
|
||||||
# Custom paths
|
# Custom paths
|
||||||
COMMUNITY_ADDONS=${ROOT_PATH}/addons
|
COMMUNITY_ADDONS=${ROOT_PATH}/addons
|
||||||
ENTERPRISE_ADDONS=${ROOT_PATH}/enterprise
|
ENTERPRISE_ADDONS=${ROOT_PATH}/enterprise
|
||||||
@@ -132,6 +133,19 @@ CUSTOM_ADDONS=${ROOT_PATH}/custom-addons
|
|||||||
LOG_PATH=/var/log/odoo/odoo.log
|
LOG_PATH=/var/log/odoo/odoo.log
|
||||||
DEBUG_PATH=/usr/bin/odoo
|
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
|
# Server startup config
|
||||||
ODOO_RC=${ROOT_PATH}/odoo.conf
|
ODOO_RC=${ROOT_PATH}/odoo.conf
|
||||||
SAVE=False
|
SAVE=False
|
||||||
@@ -159,14 +173,14 @@ XMLRPCS=True
|
|||||||
PROXY_MODE=True
|
PROXY_MODE=True
|
||||||
X_SENDFILE=False
|
X_SENDFILE=False
|
||||||
|
|
||||||
# Testing
|
# Testing Group
|
||||||
TEST_FILE=False
|
TEST_FILE=False
|
||||||
TEST_ENABLE=${TEST_ENABLE}
|
TEST_ENABLE=${TEST_ENABLE}
|
||||||
TEST_TAGS=${TEST_TAGS}
|
TEST_TAGS=${TEST_TAGS}
|
||||||
SCREENCASTS=None
|
SCREENCASTS=None
|
||||||
SCREENSHOTS=/tmp/odoo_tests
|
SCREENSHOTS=/tmp/odoo_tests
|
||||||
|
|
||||||
# Logging
|
# Logging Group
|
||||||
LOG_LEVEL=${LOG_LEVEL}
|
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_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=False
|
||||||
@@ -174,7 +188,7 @@ LOG_DB_LEVEL=${LOG_LEVEL}
|
|||||||
SYSLOG=False
|
SYSLOG=False
|
||||||
LOGFILE=
|
LOGFILE=
|
||||||
|
|
||||||
# Email
|
# SMTP Group
|
||||||
EMAIL_FROM=${EMAIL_FROM}
|
EMAIL_FROM=${EMAIL_FROM}
|
||||||
FROM_FILTER=${FROM_FILTER}
|
FROM_FILTER=${FROM_FILTER}
|
||||||
SMTP_SERVER=${SMTP_SERVER}
|
SMTP_SERVER=${SMTP_SERVER}
|
||||||
@@ -224,6 +238,29 @@ LIMIT_TIME_REAL=480
|
|||||||
LIMIT_TIME_REAL_CRON=600
|
LIMIT_TIME_REAL_CRON=600
|
||||||
LIMIT_REQUEST=8192
|
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 #
|
# Docker #
|
||||||
#--------------#
|
#--------------#
|
||||||
@@ -270,25 +307,12 @@ DEFAULT_EMAIL=${SUPPORT_EMAIL}
|
|||||||
#-------------#
|
#-------------#
|
||||||
# Redis #
|
# Redis #
|
||||||
#-------------#
|
#-------------#
|
||||||
ODOO_SESSION_REDIS=${SESSION_REDIS}
|
KEYDB_PORT=${REDIS_PORT}
|
||||||
ODOO_SESSION_REDIS_HOST=${REDIS_HOST}
|
KEYDB_DATA=/var/lib/keydb
|
||||||
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}
|
|
||||||
|
|
||||||
#----------#
|
#-------------#
|
||||||
# S3 #
|
# Minio #
|
||||||
#----------#
|
#-------------#
|
||||||
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_ROOT_USER=${AWS_ACCESS_KEY_ID}
|
MINIO_ROOT_USER=${AWS_ACCESS_KEY_ID}
|
||||||
MINIO_ROOT_PASSWORD=${AWS_SECRET_ACCESS_KEY}
|
MINIO_ROOT_PASSWORD=${AWS_SECRET_ACCESS_KEY}
|
||||||
MINIO_VIRTUAL_HOST=${S3_VIRTUAL_HOST}
|
MINIO_VIRTUAL_HOST=${S3_VIRTUAL_HOST}
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ services:
|
|||||||
- ODOO_SESSION_REDIS_PASSWORD
|
- ODOO_SESSION_REDIS_PASSWORD
|
||||||
- ODOO_SESSION_REDIS_URL
|
- ODOO_SESSION_REDIS_URL
|
||||||
- ODOO_SESSION_REDIS_PREFIX
|
- 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
|
||||||
- ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS
|
- ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS
|
||||||
- AWS_HOST
|
- AWS_HOST
|
||||||
@@ -69,18 +72,18 @@ services:
|
|||||||
- internal
|
- internal
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: eqalpha/keydb:${REDIS_TAG}
|
image: eqalpha/keydb:${KEYDB_TAG}
|
||||||
platform: linux/amd64
|
platform: linux/amd64
|
||||||
ports:
|
ports:
|
||||||
- ${REDIS_PORT}:${REDIS_PORT}
|
- ${KEYDB_PORT}:${KEYDB_PORT}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- redis-data:${REDIS_DATA}
|
- redis-data:${KEYDB_DATA}
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
|
|
||||||
s3:
|
s3:
|
||||||
image: minio/minio:${S3_TAG}
|
image: minio/minio:${MINIO_TAG}
|
||||||
environment:
|
environment:
|
||||||
- MINIO_ROOT_USER
|
- MINIO_ROOT_USER
|
||||||
- MINIO_ROOT_PASSWORD
|
- MINIO_ROOT_PASSWORD
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ addons_path = ${ADDONS_PATH}
|
|||||||
upgrade_path = ${UPGRADE_PATH}
|
upgrade_path = ${UPGRADE_PATH}
|
||||||
|
|
||||||
; --load
|
; --load
|
||||||
server_wide_modules = ${SERVER_WIDE_MODULES}
|
server_wide_modules = ${LOAD}
|
||||||
|
|
||||||
; --data-dir
|
; --data-dir
|
||||||
data_dir = ${DATA_DIR}
|
data_dir = ${DATA_DIR}
|
||||||
@@ -263,6 +263,19 @@ limit_request = ${LIMIT_REQUEST}
|
|||||||
; External Integrations ;
|
; External Integrations ;
|
||||||
;-----------------------------;
|
;-----------------------------;
|
||||||
|
|
||||||
|
;--------------;
|
||||||
|
; Sentry ;
|
||||||
|
;--------------;
|
||||||
|
sentry_dsn = ${SENTRY_DSN}
|
||||||
|
sentry_enabled = ${SENTRY_ENABLED}
|
||||||
|
sentry_logging_level = ${SENTRY_LOGGING_LEVEL}
|
||||||
|
sentry_exclude_loggers = ${SENTRY_EXCLUDE_LOGGERS}
|
||||||
|
sentry_ignore_exceptions = ${SENTRY_IGNORE_EXCEPTIONS}
|
||||||
|
sentry_include_context = ${SENTRY_INCLUDE_CONTEXT}
|
||||||
|
sentry_environment = ${SENTRY_ENVIRONMENT}
|
||||||
|
sentry_release = ${SENTRY_RELEASE}
|
||||||
|
sentry_odoo_dir = ${SENTRY_ODOO_DIR}
|
||||||
|
|
||||||
;-------------;
|
;-------------;
|
||||||
; Redis ;
|
; Redis ;
|
||||||
;-------------;
|
;-------------;
|
||||||
@@ -290,12 +303,15 @@ ODOO_SESSION_REDIS_EXPIRATION = ${ODOO_SESSION_REDIS_EXPIRATION}
|
|||||||
; -- Time in seconds before expiration of the anonymous sessions (default is 3 hours)
|
; -- Time in seconds before expiration of the anonymous sessions (default is 3 hours)
|
||||||
ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS = ${ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS}
|
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 ;
|
; S3 ;
|
||||||
;----------;
|
;----------;
|
||||||
; -- Disable S3 storage
|
|
||||||
DISABLE_ATTACHMENT_STORAGE = ${DISABLE_ATTACHMENT_STORAGE}
|
|
||||||
|
|
||||||
; -- Not required if using AWS S3
|
; -- Not required if using AWS S3
|
||||||
AWS_HOST = ${AWS_HOST}
|
AWS_HOST = ${AWS_HOST}
|
||||||
|
|
||||||
|
|||||||
@@ -2,3 +2,4 @@ debugpy
|
|||||||
websocket-client
|
websocket-client
|
||||||
redis
|
redis
|
||||||
boto3
|
boto3
|
||||||
|
sentry-sdk
|
||||||
|
|||||||
@@ -4,17 +4,14 @@ set -e
|
|||||||
|
|
||||||
# Check if the repository directory exists
|
# Check if the repository directory exists
|
||||||
if [ ! -d "odoo-cloud-platform" ]; then
|
if [ ! -d "odoo-cloud-platform" ]; then
|
||||||
git clone https://github.com/camptocamp/odoo-cloud-platform.git --depth 1 --branch ${ODOO_TAG} --single-branch --no-tags;
|
git clone https://github.com/odoocker/odoo-cloud-platform.git --depth 1 --branch ${ODOO_TAG} --single-branch --no-tags;
|
||||||
cp -r odoo-cloud-platform/session_redis ${THIRD_PARTY_ADDONS}/session_redis
|
cp -r odoo-cloud-platform/session_redis ${THIRD_PARTY_ADDONS}/session_redis
|
||||||
cp -r odoo-cloud-platform/base_attachment_object_storage ${THIRD_PARTY_ADDONS}/base_attachment_object_storage
|
cp -r odoo-cloud-platform/base_attachment_object_storage ${THIRD_PARTY_ADDONS}/base_attachment_object_storage
|
||||||
cp -r odoo-cloud-platform/attachment_s3 ${THIRD_PARTY_ADDONS}/attachment_s3
|
cp -r odoo-cloud-platform/attachment_s3 ${THIRD_PARTY_ADDONS}/attachment_s3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Define the path to the manifest file
|
# Check if the repository directory exists
|
||||||
redis_manifest="${THIRD_PARTY_ADDONS}/session_redis/__manifest__.py"
|
if [ ! -d "server-tools" ]; then
|
||||||
# Define the path to the manifest file
|
git clone https://github.com/odoocker/server-tools.git --depth 1 --branch ${ODOO_TAG} --single-branch --no-tags;
|
||||||
s3_manifest="${THIRD_PARTY_ADDONS}/attachment_s3/__manifest__.py"
|
cp -r server-tools/sentry ${THIRD_PARTY_ADDONS}/sentry
|
||||||
|
fi
|
||||||
# Modify the manifest file
|
|
||||||
python3 /fix-manifest.py $redis_manifest
|
|
||||||
python3 /fix-manifest.py $s3_manifest
|
|
||||||
|
|||||||
Reference in New Issue
Block a user