stuck with s3 refactoring

This commit is contained in:
Yhael S
2023-10-01 17:47:02 -05:00
parent d0ec5118eb
commit 0cd36b92a3
5 changed files with 335 additions and 20 deletions

View File

@@ -2,7 +2,7 @@
# Main Configuration #
#--------------------------#
# Odoo
APP_ENV=local
APP_ENV=staging
INIT=
UPDATE=
LOAD=base,web,session_redis,attachment_s3
@@ -26,7 +26,7 @@ LOAD_LANGUAGE=
DB_SSLMODE=prefer
DB_MAXCONN=64
DB_TEMPLATE=unaccent_template
UNACCENT=True
UNACCENT=False
LIST_DB=True
DBFILTER=.*
@@ -70,16 +70,13 @@ REDIS_EXPIRATION=604800
REDIS_EXPIRATION_ANONYMOUS=10800
# Filesystem
MINIO_VIRTUAL_HOST=s3.j8c.test
MINIO_CONSOLE_PORT=9000
MINIO_VIRTUAL_PORT=9001
DISABLE_S3_STORAGE=0
S3_VIRTUAL_HOST=s3.odoocker.test
S3_API_PORT=9000
AWS_ACCESS_KEY_ID=myaccesskey
AWS_SECRET_ACCESS_KEY=mysecretkey
AWS_BUCKETNAME=odoocker
AWS_HOST=http://s3:${S3_API_PORT}
AWS_REGION=
AWS_HOST=http://s3:${MINIO_CONSOLE_PORT}
AWS_BUCKETNAME=${DB_NAME}
# PgAdmin
PGADMIN_DOMAIN=pgadmin.odoocker.test
@@ -104,6 +101,8 @@ SUPPORT_EMAIL=mail@example.com
# Containers' Tags
ODOO_TAG=16.0
POSTGRES_TAG=16.0
REDIS_TAG=latest
S3_TAG=latest
NGINX_TAG=1.25.2
NGINX_PROXY_TAG=1.3.1
ACME_COMPANION_TAG=2.2.8
@@ -132,7 +131,7 @@ LOG_PATH=/var/log/odoo/odoo.log
DEBUG_PATH=/usr/bin/odoo
# Server startup config
ODOO_RC=/etc/odoo/odoo.conf
ODOO_RC=${ROOT_PATH}/odoo.conf
SAVE=False
INIT=${INIT}
UPDATE=${UPDATE}
@@ -168,6 +167,7 @@ SCREENSHOTS=/tmp/odoo_tests
# Logging
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=
@@ -286,11 +286,13 @@ AWS_REGION=${AWS_REGION}
AWS_HOST=${AWS_HOST}
AWS_BUCKETNAME=${AWS_BUCKETNAME}
DISABLE_ATTACHMENT_STORAGE=${DISABLE_S3_STORAGE}
DISABLE_ATTACHMENT_STORAGE=0
MINIO_ROOT_USER=${AWS_ACCESS_KEY_ID}
MINIO_ROOT_PASSWORD=${AWS_SECRET_ACCESS_KEY}
MINIO_VIRTUAL_HOST=${MINIO_VIRTUAL_HOST}
MINIO_BROWSER_REDIRECT_URL=${MINIO_VIRTUAL_HOST}
MINIO_VIRTUAL_HOST=${S3_VIRTUAL_HOST}
MINIO_BROWSER_REDIRECT_URL=http://${MINIO_VIRTUAL_HOST}
MINIO_API_PORT=${S3_API_PORT}
MINIO_VIRTUAL_PORT=9001
#-------------#
# PgAdmin #

View File

@@ -52,11 +52,16 @@ services:
- PGADMING_DB_NAME
- PGADMING_DB_USER
- PGADMIN_DB_PASSWORD
- AWS_HOST
- AWS_REGION
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_BUCKETNAME
networks:
- internal
redis:
image: eqalpha/keydb:latest
image: eqalpha/keydb:${REDIS_TAG}
platform: linux/amd64
ports:
- 6379:6379
@@ -67,16 +72,16 @@ services:
- redis-data:/var/lib/keydb
s3:
image: minio/minio:latest
image: minio/minio:${S3_TAG}
environment:
- MINIO_ROOT_USER
- MINIO_ROOT_PASSWORD
- VIRTUAL_HOST=${MINIO_VIRTUAL_HOST}
- VIRTUAL_PORT=${MINIO_VIRTUAL_PORT}
- VIRTUAL_PORT=9001
- MINIO_BROWSER_REDIRECT_URL
command: server /data --console-address ":9001"
volumes:
- s3_data:/data
- s3-data:/data
ports:
- 9000:9000
- 9001:9001
@@ -125,7 +130,7 @@ volumes:
odoo-data:
pg-data:
redis-data:
s3_data:
s3-data:
certs:
vhost:
html:

View File

@@ -77,7 +77,7 @@ RUN mkdir -p ${THIRD_PARTY_ADDONS} && chown odoo:odoo -R ${THIRD_PARTY_ADDONS}
COPY --chown=odoo:odoo ./odoo/fix-manifest.py /
COPY --chown=odoo:odoo ./odoo/third-party-addons.sh /
RUN /third-party-addons.sh && chown odoo:odoo ${THIRD_PARTY_ADDONS}
RUN /third-party-addons.sh && chown odoo:odoo -R ${THIRD_PARTY_ADDONS}
#---------------------#
# Logging #

View File

@@ -16,7 +16,7 @@ manifest_dict = eval(''.join(lines[start_index:end_index + 1]))
# Modify the manifest dictionary
manifest_dict['installable'] = True
manifest_dict['auto_install'] = True
manifest_dict['auto_install'] = False
# Construct the modified manifest string
modified_manifest_lines = ['{\n']

308
odoo/odoo.conf Normal file
View File

@@ -0,0 +1,308 @@
[options]
;------------------------------------------;
; Options not exposed on the command line. ;
;------------------------------------------;
admin_passwd = ${ADMIN_PASSWD}
csv_internal_sep = ${CSV_INTERNAL_SEP}
publisher_warranty_url = ${PUBLISHER_WARRANTY_URL}
root_path = ${ROOT_PATH}
reportgz = ${REPORTGZ}
websocket_keep_alive_timeout = ${WEBSOCKET_KEEP_ALIVE_TIMEOUT}
websocket_rate_limit_burst = ${WEBSOCKET_RATE_LIMIT_BURST}
websocket_rate_limit_delay = ${WEBSOCKET_RATE_LIMIT_DELAY}
;-----------------------;
; Server startup config ;
;-----------------------;
; --config | -c
config = ${ODOO_RC}
; --save
save = ${SAVE}
; --init | -i
init = ${INIT}
; --update | -u
update = ${UPDATE}
; --without-demo
demo = ${DEMO}
without_demo = ${WITHOUT_DEMO}
; --import-partial
import_partial = ${IMPORT_PARTIAL}
; --pidfile
pidfile = ${PIDFILE}
; --addons-path
addons_path = ${ADDONS_PATH}
; --upgrade-path
upgrade_path = ${UPGRADE_PATH}
; --load
server_wide_modules = ${SERVER_WIDE_MODULES}
; --data-dir
data_dir = ${DATA_DIR}
;------;
; HTTP ;
;------;
; --http-interface | --xmlrpc-interface
http_interface = ${HTTP_INTERFACE}
; --http-port | -p | --xmlrpc-port
http_port = ${HTTP_PORT}
; --xmlrpcs-interface
xmlrpcs_interface = ${XMLRPCS_INTERFACE}
; --xmlrpcs-port
xmlrpcs_port = ${XMLRPCS_PORT}
; --gevent-port | --longpolling_port (deprecated)
gevent_port = ${GEVENT_PORT}
; --no-http | --no-xmlrpc
http_enable = ${HTTP_ENABLE}
; --no-xmlrpcs
xmlrpcs = ${XMLRPCS}
; --proxy-mode
proxy_mode = ${PROXY_MODE}
; --x-sendfile
x_sendfile = ${X_SENDFILE}
;---------------;
; Testing Group ;
;---------------;
; --test-file
test_file = ${TEST_FILE}
; --test-enable
test_enable = ${TEST_ENABLE}
; --test-tags
test_tags = ${TEST_FILE}
; --screencasts
screencasts = ${SCREENCASTS}
; --screenshots
screenshots = ${SCREENSHOTS}
;---------------;
; Logging Group ;
;---------------;
; --logfile
logfile = ${LOGFILE}
; --syslog
syslog = ${SYSLOG}
; --log-handler | --log-web (--log-handler=odoo.http:DEBUG) | --log-sql (--log-handler=odoo.sql_db:DEBUG)
log_handler = ${LOG_HANDLER}
; --log-db
log_db = ${LOG_DB}
; --log-db-level
log_db_level = ${LOG_DB_LEVEL}
; --log-level
log_level = ${LOG_LEVEL}
;------------;
; SMTP Group ;
;------------;
; --email-from
email_from = ${EMAIL_FROM}
; --from-filter
from_filter = ${FROM_FILTER}
; --smtp
smtp_server = ${SMTP_SERVER}
; --smtp-port
smtp_port = ${SMTP_PORT}
; --smtp-ssl
smtp_ssl = ${SMTP_SSL}
; --smtp-user
smtp_user = ${SMTP_USER}
; --smtp-password
smtp_password = ${SMTP_PASSWORD}
; --smtp-ssl-certificate-filename
smtp_ssl_certificate_filename = ${SMTP_SSL_CERTIFICATE_FILENAME}
; --smtp-ssl-private-key-filename
smtp_ssl_private_key_filename = ${SMTP_SSL_PRIVATE_KEY_FILENAME}
;----------;
; DB Group ;
;----------;
; --database | -d
db_name = ${DB_NAME}
; --db_user | -r
db_user = ${DB_USER}
; --db_password | -w
db_password = ${DB_PASSWORD}
; --pg_path
pg_path = ${PG_PATH}
; --db_host
db_host = ${DB_HOST}
; --db_port
db_port = ${DB_PORT}
; --db_sslmode
db_sslmode = ${DB_SSLMODE}
; --db_maxconn
db_maxconn = ${DB_MAXCONN}
; --db-template
db_template = ${DB_TEMPLATE}
;------------------------------;
; Internationalisation options ;
;------------------------------;
; --load-language
load_language = ${LOAD_LANGUAGE}
; --language
language = ${LANGUAGE}
; --i18n-export
translate_out = ${TRANSLATE_OUT}
; --i18n-import
translate_in = ${TRANSLATE_IN}
; --i18n-overwrite
overwrite_existing_translations = ${OVERWRITE_EXISTING_TRANSLATIONS}
; --modules
translate_modules = ${TRANSLATE_MODULES}
;----------;
; Security ;
;----------;
; --no-database-list
list_db = ${LIST_DB}
;-----;
; WEB ;
;-----;
; --db-filter
dbfilter = ${DBFILTER}
;------------------;
; Advanced options ;
;------------------;
; --dev (all, reload, xml, qweb, werkzeug, sql, shell, assets, tests)
dev_mode = ${DEV_MODE}
; --shell-interface
shell_interface = ${SHELL_INTERFACE}
; --stop-after-init
stop_after_init = ${STOP_AFTER_INIT}
; --osv-memory-count-limit
osv_memory_count_limit = ${OSV_MEMORY_COUNT_LIMIT}
; --transient-age-limit | --osv-memory-age-limit (deprecated)
transient_age_limit = ${TRANSIENT_AGE_LIMIT}
; --max-cron-threads
max_cron_threads = ${MAX_CRON_THREADS}
; --unaccent
unaccent = ${UNACCENT}
; --geoip-db
geoip_database = ${GEOIP_DATABASE}
; --workers
workers = ${WORKERS}
; --limit-memory-soft
limit_memory_soft = ${LIMIT_MEMORY_SOFT}
; --limit-memory-hard
limit_memory_hard = ${LIMIT_MEMORY_HARD}
; --limit-time-cpu
limit_time_cpu = ${LIMIT_TIME_CPU}
; --limit-time-real
limit_time_real = ${LIMIT_TIME_REAL}
; --limit-time-real-cron
limit_time_real_cron = ${LIMIT_TIME_REAL_CRON}
; --limit-request
limit_request = ${LIMIT_REQUEST}
;-----------------------------;
; External Integrations ;
;-----------------------------;
;-------------;
; Redis ;
;-------------;
; -- Possible values: 1 or true
ODOO_SESSION_REDIS = ${ODOO_SESSION_REDIS}
; -- Defaults to is localhost
ODOO_SESSION_REDIS_HOST = ${ODOO_SESSION_REDIS_HOST}
; -- Defaults to 6379
ODOO_SESSION_REDIS_PORT = ${ODOO_SESSION_REDIS_PORT}
; -- Sets the password for the AUTH command (optional)
ODOO_SESSION_REDIS_PASSWORD = ${ODOO_SESSION_REDIS_PASSWORD}
; -- Alternative way to define the Redis server address like rediss:// protocol.
ODOO_SESSION_REDIS_URL = ${ODOO_SESSION_REDIS_URL}
; -- Prefix for the session keys (optional)
ODOO_SESSION_REDIS_PREFIX = ${ODOO_SESSION_REDIS_PREFIX}
; -- Time in seconds before expiration of the sessions (default is 7 days)
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}
;----------;
; S3 ;
;----------;
; Disable S3 storage
DISABLE_ATTACHMENT_STORAGE = ${DISABLE_ATTACHMENT_STORAGE}
; Not required if using AWS S3
AWS_HOST = ${AWS_HOST}
; Required if using AWS services
AWS_REGION = ${AWS_REGION}
AWS_ACCESS_KEY_ID = ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY = ${AWS_SECRET_ACCESS_KEY}
; Optional ${db_name} placeholder
AWS_BUCKETNAME = ${AWS_BUCKETNAME}