2023-04-19 14:27:50 -05:00
services :
odoo :
build :
context : ./
dockerfile : ./odoo/Dockerfile
2023-08-25 02:08:56 -05:00
args :
2023-08-26 16:23:45 -05:00
- ODOO_TAG
2023-08-25 02:08:56 -05:00
- ODOO_RC
- ROOT_PATH
2023-12-19 02:17:56 -07:00
- ENTERPRISE_USER
- ENTERPRISE_ACCESS_TOKEN
- ENTERPRISE_ADDONS
2023-08-25 02:08:56 -05:00
- GITHUB_USER
- GITHUB_ACCESS_TOKEN
2023-09-27 22:47:22 -05:00
- THIRD_PARTY_ADDONS
2023-08-25 02:08:56 -05:00
- LOG_PATH
2023-10-20 00:07:37 -05:00
- USE_REDIS
- USE_S3
- USE_SENTRY
2023-04-19 14:27:50 -05:00
tty : true
2024-01-10 14:27:56 +01:00
shm_size : 1gb
2023-04-19 14:27:50 -05:00
volumes :
2023-09-28 13:43:49 -05:00
- odoo-data:${DATA_DIR}
2023-04-19 14:27:50 -05:00
- ./odoo/extra-addons:${EXTRA_ADDONS}
- ./odoo/custom-addons:${CUSTOM_ADDONS}
- ./odoo/entrypoint.sh:/entrypoint.sh
2023-10-01 00:55:06 -05:00
environment :
- HOST=${DB_HOST}
- PORT=${DB_PORT}
- USER=${DB_USER}
- PASSWORD=${DB_PASSWORD}
- ODOO_TAG
2023-10-17 22:10:08 -05:00
- ODOO_RC
2023-10-19 19:14:12 -05:00
- USE_REDIS
- USE_S3
- USE_SENTRY
2023-10-01 00:55:06 -05:00
- THIRD_PARTY_ADDONS
2023-10-06 23:55:18 -05:00
- ODOO_SESSION_REDIS
- ODOO_SESSION_REDIS_HOST
- ODOO_SESSION_REDIS_PORT
- ODOO_SESSION_REDIS_PASSWORD
- ODOO_SESSION_REDIS_URL
- ODOO_SESSION_REDIS_PREFIX
2023-10-07 05:43:40 -05:00
- ODOO_SESSION_REDIS_SENTINEL_MASTER_NAME
- ODOO_SESSION_REDIS_SENTINEL_HOST
- ODOO_SESSION_REDIS_SENTINEL_PORT
2023-10-06 23:55:18 -05:00
- ODOO_SESSION_REDIS_EXPIRATION
- ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS
- AWS_HOST
- AWS_REGION
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_BUCKETNAME
2023-04-19 14:27:50 -05:00
networks :
- internal
2023-10-19 22:11:19 -05:00
profiles : [ $ODOO_PROFILES]
2023-04-19 14:27:50 -05:00
postgres :
build :
2023-09-27 22:47:22 -05:00
context : ./
dockerfile : ./postgres/Dockerfile
2023-08-26 16:23:45 -05:00
args :
- POSTGRES_TAG
2023-04-19 14:27:50 -05:00
tty : true
2024-01-10 14:27:56 +01:00
shm_size : 1gb
2023-04-19 14:27:50 -05:00
volumes :
- pg-data:${PGDATA}
- ./postgres/entrypoint.sh:/docker-entrypoint-initdb.d/entrypoint.sh
environment :
- POSTGRES_DB
- POSTGRES_USER
- POSTGRES_PASSWORD
- PGDATA
2023-09-27 22:47:22 -05:00
- DB_USER
- DB_TEMPLATE
- UNACCENT_TEMPLATE
- PGADMING_DB_NAME
- PGADMING_DB_USER
- PGADMIN_DB_PASSWORD
2023-04-19 14:27:50 -05:00
networks :
- internal
2023-10-19 22:11:19 -05:00
profiles : [ $POSTGRES_PROFILES]
2023-04-19 14:27:50 -05:00
nginx :
2023-08-26 16:23:45 -05:00
image : nginx:${NGINX_TAG}
2023-04-19 14:27:50 -05:00
depends_on :
- odoo
tty : true
expose :
- 80 /tcp
2024-01-10 14:27:56 +01:00
shm_size : 1gb
2023-04-19 14:27:50 -05:00
volumes :
- ./nginx/nginx.conf:${NGINX_CONF}
- ./nginx/default.conf:${NGINX_DEFAULT_CONF}
environment :
- VIRTUAL_HOST
- LETSENCRYPT_HOST
- LETSENCRYPT_EMAIL
- CORS_ALLOWED_DOMAIN
networks :
- internal
2023-10-19 22:11:19 -05:00
profiles : [ $NGINX_PROFILES]
2023-04-19 14:27:50 -05:00
nginx-proxy :
2023-08-26 16:23:45 -05:00
image : nginxproxy/nginx-proxy:${NGINX_PROXY_TAG}
2023-04-19 14:27:50 -05:00
depends_on :
- nginx
tty : true
2024-01-10 14:27:56 +01:00
shm_size : 1gb
2023-04-19 14:27:50 -05:00
volumes :
- ./nginx-proxy/nginx.conf:${NGINX_CONF}
- ./nginx-proxy/cors.conf:${NGINX_PROXY_CORS_CONF}
- html:${NGINX_HTML}
2023-10-19 19:14:12 -05:00
- vhost:${NGINX_VHOST}
- certs:${NGINX_CERTS}:ro
2023-04-19 14:27:50 -05:00
- ${DOCKER_SOCK}:${TEMP_DOCKER_SOCK}:ro
environment :
- TRUST_DOWNSTREAM_PROXY
- CORS_ALLOWED_DOMAIN
networks :
- internal
2023-10-19 22:11:19 -05:00
profiles : [ $NGINX_PROXY_PROFILES]
2023-04-19 14:27:50 -05:00
2024-01-10 14:13:35 +01:00
traefik :
container_name : traefik
image : "traefik:${TRAEFIK_TAG}"
networks :
- internal
command :
- --api.dashboard=true
- --api.insecure=false
- --api.debug=true
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --providers.docker
- --log.level=INFO
- --accesslog.filepath=/var/log/traefik/access.log
- --certificatesresolvers.leresolver.acme.httpchallenge=true
- --certificatesresolvers.leresolver.acme.httpchallenge.entrypoint=web
- --certificatesresolvers.leresolver.acme.email=xxxxxx@yourdomain.tld #Set your email address here, is for the generation of SSL certificates with Let's Encrypt.
- --certificatesresolvers.leresolver.acme.storage=/acme.json
# - --certificatesresolvers.leresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
- --serversTransport.insecureSkipVerify=true
tty : true
2024-01-10 14:27:56 +01:00
shm_size : 1gb
2024-01-10 14:13:35 +01:00
volumes :
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./acme.json:/acme.json"
- traefik_logs:/var/log/traefik
labels :
- "traefik.enable=true"
# Catch all HTTP trafic and redirect it to HTTPS
- "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
- "traefik.http.routers.http-catchall.entrypoints=web"
- "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
# Traefik Dashboard route
- "traefik.http.routers.traefik-dashboard.rule=Host(`traefik.yourdomain.tld`)"
- "traefik.http.routers.traefik-dashboard.entrypoints=websecure"
- "traefik.http.routers.traefik-dashboard.tls.certresolver=leresolver"
- "traefik.http.routers.traefik-dashboard.service=api@internal"
profiles : [ $TRAEFIK_PROFILES]
2023-12-19 19:37:24 -07:00
letsencrypt :
image : nginxproxy/acme-companion:${ACME_COMPANION_TAG}
depends_on :
- nginx-proxy
volumes_from :
- nginx-proxy:rw
volumes :
- certs:${NGINX_CERTS}:rw
- acme:${NGINX_ACME}
- ${DOCKER_SOCK}:${DOCKER_SOCK}:ro
environment :
- ACME_CA_URI
- CERTS_UPDATE_INTERVAL
- DEFAULT_EMAIL
networks :
- internal
profiles : [ $ACME_COMPANION_PROFILES]
2023-10-19 19:14:12 -05:00
redis :
image : eqalpha/keydb:${KEYDB_TAG}
platform : linux/amd64
ports :
- ${KEYDB_PORT}:${KEYDB_PORT}
volumes :
- redis-data:${KEYDB_DATA}
networks :
- internal
2023-10-19 22:11:19 -05:00
profiles : [ $KEYDB_PROFILES]
2023-10-19 19:14:12 -05:00
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}"
2024-01-10 14:27:56 +01:00
shm_size : 1gb
2023-10-19 19:14:12 -05:00
volumes :
- s3-data:${MINIO_DATA}
ports :
- ${MINIO_API_PORT}:${MINIO_API_PORT}
- ${MINIO_CONSOLE_PORT}:${MINIO_CONSOLE_PORT}
networks :
- internal
2023-10-19 22:11:19 -05:00
profiles : [ $MINIO_PROFILES]
pgadmin :
build :
context : ./
dockerfile : ./pgadmin/Dockerfile
args :
- PGADMIN_TAG
2023-12-15 16:55:25 -07:00
depends_on :
- nginx-proxy
2023-10-19 22:11:19 -05:00
expose :
- 80
2024-01-10 14:27:56 +01:00
shm_size : 1gb
2023-10-19 22:11:19 -05:00
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]
2023-10-19 19:14:12 -05:00
2023-04-19 14:27:50 -05:00
volumes :
2023-09-28 13:43:49 -05:00
odoo-data :
2023-04-19 14:27:50 -05:00
pg-data :
2023-09-28 13:43:49 -05:00
redis-data :
2023-10-01 17:47:02 -05:00
s3-data :
2023-10-19 22:11:19 -05:00
pgadmin-data :
2023-04-19 14:27:50 -05:00
html :
2023-10-19 19:14:12 -05:00
vhost :
certs :
2023-10-19 22:11:19 -05:00
acme :
2024-01-10 14:13:35 +01:00
traefik_logs :
2023-04-19 14:27:50 -05:00
networks :
internal :
2023-08-25 02:08:56 -05:00
driver : bridge