mirror of
https://github.com/odoocker/odoocker
synced 2025-12-22 04:59:32 +01:00
added profiles for containers management
This commit is contained in:
30
.env.example
30
.env.example
@@ -5,21 +5,21 @@
|
||||
APP_ENV=local
|
||||
INIT=
|
||||
UPDATE=
|
||||
LOAD=base,web,session_redis,attachment_s3,sentry
|
||||
LOAD=base,web
|
||||
ROOT_PATH=/usr/lib/python3/dist-packages/odoo
|
||||
WORKERS=2
|
||||
DEV_MODE=reload,xml
|
||||
DOMAIN=erp.odoocker.test
|
||||
|
||||
# Enterprise
|
||||
GITHUB_USER=
|
||||
GITHUB_ACCESS_TOKEN=
|
||||
GITHUB_USER=yhaelopez
|
||||
GITHUB_ACCESS_TOKEN=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
|
||||
|
||||
# Database
|
||||
ADMIN_PASSWD=odoo
|
||||
DB_HOST=postgres
|
||||
DB_PORT=5432
|
||||
DB_NAME=odoocker
|
||||
DB_NAME=
|
||||
DB_USER=odoo
|
||||
DB_PASSWORD=odoo
|
||||
LOAD_LANGUAGE=
|
||||
@@ -43,7 +43,7 @@ SENTRY_EXCLUDE_LOGGERS=
|
||||
SENTRY_IGNORE_EXCEPTIONS=
|
||||
SENTRY_INCLUDE_CONTEXT=true
|
||||
SENTRY_ENVIRONMENT=production
|
||||
SENTRY_RELEASE=1.0
|
||||
SENTRY_RELEASE=
|
||||
SENTRY_ODOO_DIR=${ROOT_PATH}
|
||||
|
||||
# Nginx
|
||||
@@ -114,6 +114,24 @@ PGADMIN_CONFIG_SERVER_MODE=True
|
||||
PROJECT_NAME=odoocker
|
||||
SUPPORT_EMAIL=mail@example.com
|
||||
|
||||
# Service configuration
|
||||
USE_REDIS=false
|
||||
USE_S3=false
|
||||
USE_SENTRY=false
|
||||
|
||||
# Which services are going to be brought up
|
||||
COMPOSE_PROFILES=base
|
||||
|
||||
# Service profiles
|
||||
ODOO_PROFILES="base"
|
||||
POSTGRES_PROFILES="base"
|
||||
NGINX_PROFILES="base"
|
||||
NGINX_PROXY_PROFILES="base"
|
||||
ACME_COMPANION_PROFILES="ssl"
|
||||
KEYDB_PROFILES="cache"
|
||||
MINIO_PROFILES="storage"
|
||||
PGADMIN_PROFILES="admin"
|
||||
|
||||
# Containers' Tags
|
||||
ODOO_TAG=16.0
|
||||
POSTGRES_TAG=16.0
|
||||
@@ -124,7 +142,7 @@ NGINX_PROXY_TAG=1.3.1
|
||||
ACME_COMPANION_TAG=2.2.8
|
||||
PGADMIN_TAG=7.6
|
||||
|
||||
# Custom paths
|
||||
# Odoocker paths
|
||||
COMMUNITY_ADDONS=${ROOT_PATH}/addons
|
||||
ENTERPRISE_ADDONS=${ROOT_PATH}/enterprise
|
||||
THIRD_PARTY_ADDONS=${ROOT_PATH}/third-party-addons
|
||||
|
||||
@@ -1,152 +0,0 @@
|
||||
services:
|
||||
odoo:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./odoo/Dockerfile
|
||||
args:
|
||||
- ODOO_TAG
|
||||
- ODOO_RC
|
||||
- ROOT_PATH
|
||||
- GITHUB_USER
|
||||
- GITHUB_ACCESS_TOKEN
|
||||
- ENTERPRISE_ADDONS
|
||||
- THIRD_PARTY_ADDONS
|
||||
- LOG_PATH
|
||||
depends_on:
|
||||
- postgres
|
||||
tty: true
|
||||
volumes:
|
||||
- odoo-data:${DATA_DIR}
|
||||
- ./odoo/extra-addons:${EXTRA_ADDONS}
|
||||
- ./odoo/custom-addons:${CUSTOM_ADDONS}
|
||||
- ./odoo/entrypoint.sh:/entrypoint.sh
|
||||
environment:
|
||||
- HOST=${DB_HOST}
|
||||
- PORT=${DB_PORT}
|
||||
- USER=${DB_USER}
|
||||
- PASSWORD=${DB_PASSWORD}
|
||||
- ODOO_TAG
|
||||
- ODOO_RC
|
||||
- THIRD_PARTY_ADDONS
|
||||
- ODOO_SESSION_REDIS
|
||||
- ODOO_SESSION_REDIS_HOST
|
||||
- ODOO_SESSION_REDIS_PORT
|
||||
- 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
|
||||
- AWS_REGION
|
||||
- AWS_ACCESS_KEY_ID
|
||||
- AWS_SECRET_ACCESS_KEY
|
||||
- AWS_BUCKETNAME
|
||||
networks:
|
||||
- internal
|
||||
|
||||
postgres:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./postgres/Dockerfile
|
||||
args:
|
||||
- POSTGRES_TAG
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
volumes:
|
||||
- pg-data:${PGDATA}
|
||||
- ./postgres/entrypoint.sh:/docker-entrypoint-initdb.d/entrypoint.sh
|
||||
environment:
|
||||
- POSTGRES_DB
|
||||
- POSTGRES_USER
|
||||
- POSTGRES_PASSWORD
|
||||
- PGDATA
|
||||
- DB_USER
|
||||
- DB_TEMPLATE
|
||||
- UNACCENT_TEMPLATE
|
||||
- PGADMING_DB_NAME
|
||||
- PGADMING_DB_USER
|
||||
- PGADMIN_DB_PASSWORD
|
||||
networks:
|
||||
- internal
|
||||
|
||||
redis:
|
||||
image: eqalpha/keydb:${KEYDB_TAG}
|
||||
platform: linux/amd64
|
||||
ports:
|
||||
- ${KEYDB_PORT}:${KEYDB_PORT}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- redis-data:${KEYDB_DATA}
|
||||
networks:
|
||||
- internal
|
||||
|
||||
s3:
|
||||
image: minio/minio:${MINIO_TAG}
|
||||
environment:
|
||||
- MINIO_ROOT_USER
|
||||
- MINIO_ROOT_PASSWORD
|
||||
- MINIO_BROWSER_REDIRECT_URL
|
||||
- VIRTUAL_HOST=${MINIO_VIRTUAL_HOST}
|
||||
- VIRTUAL_PORT=${MINIO_CONSOLE_PORT}
|
||||
command: server ${MINIO_DATA} --console-address ":${MINIO_CONSOLE_PORT}"
|
||||
volumes:
|
||||
- s3-data:${MINIO_DATA}
|
||||
ports:
|
||||
- ${MINIO_API_PORT}:${MINIO_API_PORT}
|
||||
- ${MINIO_CONSOLE_PORT}:${MINIO_CONSOLE_PORT}
|
||||
networks:
|
||||
- internal
|
||||
|
||||
nginx:
|
||||
image: nginx:${NGINX_TAG}
|
||||
depends_on:
|
||||
- odoo
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
expose:
|
||||
- 80/tcp
|
||||
volumes:
|
||||
- ./nginx/nginx.conf:${NGINX_CONF}
|
||||
- ./nginx/default.conf:${NGINX_DEFAULT_CONF}
|
||||
environment:
|
||||
- VIRTUAL_HOST
|
||||
- LETSENCRYPT_HOST
|
||||
- LETSENCRYPT_EMAIL
|
||||
- CORS_ALLOWED_DOMAIN
|
||||
networks:
|
||||
- internal
|
||||
|
||||
nginx-proxy:
|
||||
image: nginxproxy/nginx-proxy:${NGINX_PROXY_TAG}
|
||||
depends_on:
|
||||
- nginx
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
volumes:
|
||||
- ./nginx-proxy/nginx.conf:${NGINX_CONF}
|
||||
- ./nginx-proxy/cors.conf:${NGINX_PROXY_CORS_CONF}
|
||||
- certs:${NGINX_CERTS}:ro
|
||||
- vhost:${NGINX_VHOST}
|
||||
- html:${NGINX_HTML}
|
||||
- ${DOCKER_SOCK}:${TEMP_DOCKER_SOCK}:ro
|
||||
environment:
|
||||
- TRUST_DOWNSTREAM_PROXY
|
||||
- CORS_ALLOWED_DOMAIN
|
||||
networks:
|
||||
- internal
|
||||
|
||||
volumes:
|
||||
odoo-data:
|
||||
pg-data:
|
||||
redis-data:
|
||||
s3-data:
|
||||
certs:
|
||||
vhost:
|
||||
html:
|
||||
|
||||
networks:
|
||||
internal:
|
||||
driver: bridge
|
||||
@@ -1,49 +0,0 @@
|
||||
services:
|
||||
odoo:
|
||||
restart: 'no'
|
||||
ports:
|
||||
- 8069:8069
|
||||
- 8070:8070
|
||||
- 8071:8071
|
||||
- 8072:8072
|
||||
|
||||
postgres:
|
||||
restart: 'no'
|
||||
ports:
|
||||
- 5432:5432
|
||||
|
||||
nginx:
|
||||
restart: 'no'
|
||||
|
||||
nginx-proxy:
|
||||
restart: 'no'
|
||||
ports:
|
||||
- 80:80
|
||||
|
||||
redis:
|
||||
image: eqalpha/keydb:${KEYDB_TAG}
|
||||
platform: linux/amd64
|
||||
ports:
|
||||
- ${KEYDB_PORT}:${KEYDB_PORT}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- redis-data:${KEYDB_DATA}
|
||||
networks:
|
||||
- internal
|
||||
|
||||
s3:
|
||||
image: minio/minio:${MINIO_TAG}
|
||||
environment:
|
||||
- MINIO_ROOT_USER
|
||||
- MINIO_ROOT_PASSWORD
|
||||
- MINIO_BROWSER_REDIRECT_URL
|
||||
- VIRTUAL_HOST=${MINIO_VIRTUAL_HOST}
|
||||
- VIRTUAL_PORT=${MINIO_CONSOLE_PORT}
|
||||
command: server ${MINIO_DATA} --console-address ":${MINIO_CONSOLE_PORT}"
|
||||
volumes:
|
||||
- s3-data:${MINIO_DATA}
|
||||
ports:
|
||||
- ${MINIO_API_PORT}:${MINIO_API_PORT}
|
||||
- ${MINIO_CONSOLE_PORT}:${MINIO_CONSOLE_PORT}
|
||||
networks:
|
||||
- internal
|
||||
@@ -17,22 +17,6 @@ services:
|
||||
- 80:80
|
||||
- 443:443
|
||||
|
||||
letsencrypt:
|
||||
image: nginxproxy/acme-companion:${ACME_COMPANION_TAG}
|
||||
depends_on:
|
||||
- nginx-proxy
|
||||
restart: unless-stopped
|
||||
volumes_from:
|
||||
- nginx-proxy:rw
|
||||
volumes:
|
||||
- certs:${NGINX_CERTS}:rw
|
||||
- acme:${NGINX_ACME}
|
||||
- ${DOCKER_SOCK}:${DOCKER_SOCK}:ro
|
||||
environment:
|
||||
- DEFAULT_EMAIL
|
||||
networks:
|
||||
- internal
|
||||
|
||||
volumes:
|
||||
acme:
|
||||
certs:
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
services:
|
||||
pgadmin:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./pgadmin/Dockerfile
|
||||
args:
|
||||
- PGADMIN_TAG
|
||||
depends_on:
|
||||
- postgres
|
||||
restart: 'no'
|
||||
expose:
|
||||
- 80
|
||||
volumes:
|
||||
- pgadmin-data:${PGADMIN_DATA}
|
||||
environment:
|
||||
- PGADMIN_DEFAULT_EMAIL
|
||||
- PGADMIN_DEFAULT_PASSWORD
|
||||
- VIRTUAL_HOST=${PGADMIN_VIRTUAL_HOST}
|
||||
- LETSENCRYPT_HOST=${PGADMIN_LETSENCRYPT_HOST}
|
||||
- LETSENCRYPT_EMAIL=${PGADMIN_LETSENCRYPT_EMAIL}
|
||||
- PGADMIN_CONFIG_APP_NAME
|
||||
- PGADMIN_CONFIG_CONFIG_DATABASE_CONNECTION_POOL_SIZE
|
||||
- PGADMIN_CONFIG_SERVER_MODE
|
||||
- PGADMIN_CONFIG_DEFAULT_SERVER
|
||||
- PGADMIN_CONFIG_DEFAULT_SERVER_PORT
|
||||
- PGADMIN_CONFIG_PASSWORD_LENGTH_MIN
|
||||
- PGADMIN_CONFIG_MAX_SESSION_IDLE_TIME
|
||||
- PGADMIN_CONFIG_CONFIG_DATABASE_URI
|
||||
- PGADMIN_CONFIG_ALLOW_SAVE_PASSWORD
|
||||
- PGADMIN_CONFIG_MAX_QUERY_HIST_STORED
|
||||
- PGADMIN_CONFIG_MAIL_SERVER
|
||||
- PGADMIN_CONFIG_MAIL_PORT
|
||||
- PGADMIN_CONFIG_MAIL_USE_SSL
|
||||
- PGADMIN_CONFIG_MAIL_USE_TLS
|
||||
- PGADMIN_CONFIG_MAIL_USERNAME
|
||||
- PGADMIN_CONFIG_MAIL_PASSWORD
|
||||
- PGADMIN_CONFIG_MAIL_DEBUG
|
||||
- PGADMIN_CONFIG_SECURITY_EMAIL_SENDER
|
||||
- PGADMIN_CONFIG_ALLOW_SAVE_TUNNEL_PASSWORD
|
||||
- PGADMIN_CONFIG_MAX_LOGIN_ATTEMPTS
|
||||
networks:
|
||||
- internal
|
||||
|
||||
volumes:
|
||||
pgadmin-data:
|
||||
@@ -51,6 +51,7 @@ services:
|
||||
- AWS_BUCKETNAME
|
||||
networks:
|
||||
- internal
|
||||
profiles: [$ODOO_PROFILES]
|
||||
|
||||
postgres:
|
||||
build:
|
||||
@@ -76,6 +77,7 @@ services:
|
||||
- PGADMIN_DB_PASSWORD
|
||||
networks:
|
||||
- internal
|
||||
profiles: [$POSTGRES_PROFILES]
|
||||
|
||||
nginx:
|
||||
image: nginx:${NGINX_TAG}
|
||||
@@ -95,6 +97,7 @@ services:
|
||||
- CORS_ALLOWED_DOMAIN
|
||||
networks:
|
||||
- internal
|
||||
profiles: [$NGINX_PROFILES]
|
||||
|
||||
nginx-proxy:
|
||||
image: nginxproxy/nginx-proxy:${NGINX_PROXY_TAG}
|
||||
@@ -114,6 +117,7 @@ services:
|
||||
- CORS_ALLOWED_DOMAIN
|
||||
networks:
|
||||
- internal
|
||||
profiles: [$NGINX_PROXY_PROFILES]
|
||||
|
||||
redis:
|
||||
image: eqalpha/keydb:${KEYDB_TAG}
|
||||
@@ -125,7 +129,7 @@ services:
|
||||
- redis-data:${KEYDB_DATA}
|
||||
networks:
|
||||
- internal
|
||||
profiles: ["dev"]
|
||||
profiles: [$KEYDB_PROFILES]
|
||||
|
||||
s3:
|
||||
image: minio/minio:${MINIO_TAG}
|
||||
@@ -143,16 +147,78 @@ services:
|
||||
- ${MINIO_CONSOLE_PORT}:${MINIO_CONSOLE_PORT}
|
||||
networks:
|
||||
- internal
|
||||
profiles: ["dev"]
|
||||
profiles: [$MINIO_PROFILES]
|
||||
|
||||
letsencrypt:
|
||||
image: nginxproxy/acme-companion:${ACME_COMPANION_TAG}
|
||||
depends_on:
|
||||
- nginx-proxy
|
||||
restart: unless-stopped
|
||||
volumes_from:
|
||||
- nginx-proxy:rw
|
||||
volumes:
|
||||
- certs:${NGINX_CERTS}:rw
|
||||
- acme:${NGINX_ACME}
|
||||
- ${DOCKER_SOCK}:${DOCKER_SOCK}:ro
|
||||
environment:
|
||||
- DEFAULT_EMAIL
|
||||
networks:
|
||||
- internal
|
||||
profiles: [$ACME_COMPANION_PROFILES]
|
||||
|
||||
pgadmin:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./pgadmin/Dockerfile
|
||||
args:
|
||||
- PGADMIN_TAG
|
||||
depends_on:
|
||||
- postgres
|
||||
restart: 'no'
|
||||
expose:
|
||||
- 80
|
||||
volumes:
|
||||
- pgadmin-data:${PGADMIN_DATA}
|
||||
environment:
|
||||
- PGADMIN_DEFAULT_EMAIL
|
||||
- PGADMIN_DEFAULT_PASSWORD
|
||||
- VIRTUAL_HOST=${PGADMIN_VIRTUAL_HOST}
|
||||
- LETSENCRYPT_HOST=${PGADMIN_LETSENCRYPT_HOST}
|
||||
- LETSENCRYPT_EMAIL=${PGADMIN_LETSENCRYPT_EMAIL}
|
||||
- PGADMIN_CONFIG_APP_NAME
|
||||
- PGADMIN_CONFIG_CONFIG_DATABASE_CONNECTION_POOL_SIZE
|
||||
- PGADMIN_CONFIG_SERVER_MODE
|
||||
- PGADMIN_CONFIG_DEFAULT_SERVER
|
||||
- PGADMIN_CONFIG_DEFAULT_SERVER_PORT
|
||||
- PGADMIN_CONFIG_PASSWORD_LENGTH_MIN
|
||||
- PGADMIN_CONFIG_MAX_SESSION_IDLE_TIME
|
||||
- PGADMIN_CONFIG_CONFIG_DATABASE_URI
|
||||
- PGADMIN_CONFIG_ALLOW_SAVE_PASSWORD
|
||||
- PGADMIN_CONFIG_MAX_QUERY_HIST_STORED
|
||||
- PGADMIN_CONFIG_MAIL_SERVER
|
||||
- PGADMIN_CONFIG_MAIL_PORT
|
||||
- PGADMIN_CONFIG_MAIL_USE_SSL
|
||||
- PGADMIN_CONFIG_MAIL_USE_TLS
|
||||
- PGADMIN_CONFIG_MAIL_USERNAME
|
||||
- PGADMIN_CONFIG_MAIL_PASSWORD
|
||||
- PGADMIN_CONFIG_MAIL_DEBUG
|
||||
- PGADMIN_CONFIG_SECURITY_EMAIL_SENDER
|
||||
- PGADMIN_CONFIG_ALLOW_SAVE_TUNNEL_PASSWORD
|
||||
- PGADMIN_CONFIG_MAX_LOGIN_ATTEMPTS
|
||||
networks:
|
||||
- internal
|
||||
profiles: [$PGADMIN_PROFILES]
|
||||
|
||||
volumes:
|
||||
odoo-data:
|
||||
pg-data:
|
||||
redis-data:
|
||||
s3-data:
|
||||
pgadmin-data:
|
||||
html:
|
||||
vhost:
|
||||
certs:
|
||||
acme:
|
||||
|
||||
networks:
|
||||
internal:
|
||||
|
||||
Reference in New Issue
Block a user