From d01eb30ef2cecb90f6f4e9da8b6d78b93a90c066 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 15 Apr 2021 11:54:55 +0200 Subject: [PATCH] :sparkles: Improve default docker-compose with env file. --- docker/images/config.env | 85 +++++++++++++++++++++++++++++++ docker/images/docker-compose.yaml | 48 +++-------------- 2 files changed, 91 insertions(+), 42 deletions(-) create mode 100644 docker/images/config.env diff --git a/docker/images/config.env b/docker/images/config.env new file mode 100644 index 000000000..ba5dabeaf --- /dev/null +++ b/docker/images/config.env @@ -0,0 +1,85 @@ +# Should be set to the public domain when penpot is going to be +# served. +PENPOT_PUBLIC_URI=http://localhost:9001 + +# Standard database connection parametes (only postgresql is +# supported): +PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot +PENPOT_DATABASE_USERNAME=penpot +PENPOT_DATABASE_PASSWORD=penpot + +# Redis is used for the websockets notifications. +PENPOT_REDIS_URI=redis://penpot-redis/0 + +# By default files upload by user are stored in local filesystem. But +# it can be configured to store in AWS S3 or completelly in de the +# database. Storing in the database makes the backups more easy but +# will make access to media less performant. +PENPOT_STORAGE_BACKEND=fs +PENPOT_STORAGE_FS_DIRECTORY=/opt/data/assets + +# Telemetry. When enabled, a periodical process will send annonymous +# data about this instance. Telemetry data will enable us to learn on +# how the application is used based on real scenarios. If you want to +# help us, please leave it enabled. +PENPOT_TELEMETRY_ENABLED=true + +# Email sending configuration. By default emails are printed in +# console, but for production usage is recommeded to setup a real SMTP +# provider. Emails are used for confirm user registration. +PENPOT_SMTP_ENABLED=false +PENPOT_SMTP_DEFAULT_FROM=no-reply@example.com +PENPOT_SMTP_DEFAULT_REPLY_TO=no-reply@example.com +# PENPOT_SMTP_HOST= +# PENPOT_SMTP_PORT= +# PENPOT_SMTP_USERNAME= +# PENPOT_SMTP_PASSWORD= +# PENPOT_SMTP_TLS=true +# PENPOT_SMTP_SSL=false + +# Enable or disable external user registration process. +PENPOT_REGISTRATION_ENABLED=true + +# Comma separated list of allowed domains to register. Empty for allow +# all. +PENPOT_REGISTRATION_DOMAIN_WHITELIST="" + +# Penpot comes with the facility to create quick demo users that are +# automatically deleted after some time. This settings enables or +# disables the creation of demo users. +PENPOT_ALLOW_DEMO_USERS=true + +## Authentication providers + +# Google +# PENPOT_GOOGLE_CLIENT_ID= +# PENPOT_GOOGLE_CLIENT_SECRET= + +# Github +# PENPOT_GITHUB_CLIENT_ID= +# PENPOT_GITHUB_CLIENT_SECRET= + +# Gitlab +# PENPOT_GITLAB_BASE_URI=https://gitlab.com +# PENPOT_GITLAB_CLIENT_ID= +# PENPOT_GITLAB_CLIENT_SECRET= + +# OpenID Connect (since 1.5.0) +# PENPOT_OIDC_BASE_URI= +# PENPOT_OIDC_CLIENT_ID= +# PENPOT_OIDC_CLIENT_SECRET= + +# LDAP +# PENPOT_LDAP_HOST=ldap +# PENPOT_LDAP_PORT=10389 +# PENPOT_LDAP_SSL=false +# PENPOT_LDAP_STARTTLS=false +# PENPOT_LDAP_BASE_DN=ou=people,dc=planetexpress,dc=com +# PENPOT_LDAP_BIND_DN=cn=admin,dc=planetexpress,dc=com +# PENPOT_LDAP_BIND_PASSWORD=GoodNewsEveryone +# PENPOT_LDAP_ATTRS_USERNAME=uid +# PENPOT_LDAP_ATTRS_EMAIL=mail +# PENPOT_LDAP_ATTRS_FULLNAME=cn +# PENPOT_LDAP_ATTRS_PHOTO=jpegPhoto +# PENPOT_LOGIN_WITH_LDAP=true + diff --git a/docker/images/docker-compose.yaml b/docker/images/docker-compose.yaml index d64271e56..75ab687e0 100644 --- a/docker/images/docker-compose.yaml +++ b/docker/images/docker-compose.yaml @@ -17,9 +17,13 @@ services: volumes: - penpot_assets_data:/opt/data + env_file: + - config.env + depends_on: - penpot-backend - penpot-exporter + networks: - penpot @@ -32,48 +36,8 @@ services: - penpot-postgres - penpot-redis - environment: - # Should be set to the public domain when penpot is going to be - # served. - - PENPOT_PUBLIC_URI=http://localhost:9001 - - # Standard database connection parametes (only postgresql is supported): - - PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot - - PENPOT_DATABASE_USERNAME=penpot - - PENPOT_DATABASE_PASSWORD=penpot - - # Redis is used for the websockets notifications. - - PENPOT_REDIS_URI=redis://penpot-redis/0 - - # By default files upload by user are stored in local - # filesystem. But it can be configured to store in AWS S3 or - # completelly in de the database. Storing in the database makes - # the backups more easy but will make access to media less - # performant. - - PENPOT_STORAGE_BACKEND=fs - - PENPOT_STORAGE_FS_DIRECTORY=/opt/data/assets - - # Telemetry. When enabled, a periodical process will send - # annonymous data about this instance. Telemetry data will - # enable us to learn on how the application is used based on - # real scenarios. If you want to help us, please leave it - # enabled. In any case you can see the source code of both - # client and server in the penpot repository. - - PENPOT_TELEMETRY_ENABLED=true - - # Email sending configuration. By default emails are printed in - # console, but for production usage is recommeded to setup a - # real SMTP provider. Emails are used for confirm user - # registration. - - PENPOT_SMTP_ENABLED=false - - PENPOT_SMTP_DEFAULT_FROM=no-reply@example.com - - PENPOT_SMTP_DEFAULT_REPLY_TO=no-reply@example.com - # - PENPOT_SMTP_HOST=... - # - PENPOT_SMTP_PORT=... - # - PENPOT_SMTP_USERNAME=... - # - PENPOT_SMTP_PASSWORD=... - # - PENPOT_SMTP_TLS=true - # - PENPOT_SMTP_SSL=false + env_file: + - config.env networks: - penpot