0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-12 10:09:03 -05:00

🐛 Fix backend configuration setup

This commit is contained in:
mathieu.brunot 2019-02-16 00:59:31 +01:00
parent 9dad8b75d9
commit 858993d8e2
No known key found for this signature in database
GPG key ID: 81584BEAF692D7E0
4 changed files with 48 additions and 75 deletions

View file

@ -35,6 +35,31 @@ $ docker run -d \
postgresql
```
## Auto configuration via environment variables
The following environment variables are also honored for configuring your UXBOX instance:
### Frontend
- `-e API_URL=...` (defaults to http://127.0.0.1:6060/api. **Only available at build time!**
### Backend
- `-e UXBOX_HTTP_SERVER_DEBUG=...` (defaults to false)
- `-e UXBOX_DATABASE_USERNAME=...` (defaults to uxbox)
- `-e UXBOX_DATABASE_PASSWORD=...` (defaults to youshouldoverwritethiswithsomethingelse)
- `-e UXBOX_DATABASE_NAME=...` (defaults to uxbox)
- `-e UXBOX_DATABASE_SERVER=...` (defaults to localhost)
- `-e UXBOX_DATABASE_PORT=...` (defaults to 5432)
- `-e UXBOX_EMAIL_REPLY_TO=...` (defaults to no-reply@uxbox.io)
- `-e UXBOX_EMAIL_FROM=...` (defaults to no-reply@uxbox.io)
- `-e UXBOX_SMTP_HOST=...` (defaults to localhost)
- `-e UXBOX_SMTP_PORT=...` (defaults to 25)
- `-e UXBOX_SMTP_USER=...` (defaults to uxbox)
- `-e UXBOX_SMTP_PASSWORD=...` (defaults to youshouldoverwritethiswithsomethingelse)
- `-e UXBOX_SMTP_SSL=...` (defaults to false)
- `-e UXBOX_SMTP_TLS=...` (defaults to false)
- `-e UXBOX_SMTP_ENABLED=...` (defaults to false)
- `-e UXBOX_SECRET=...` (defaults to youshouldoverwritethiswithsomethingelse)
## Contributing ##
**Open to you!**

View file

@ -28,9 +28,14 @@ RUN set -ex; \
mkdir -p /srv/uxbox/resources/public/static;
ENV UXBOX_CONFIG=/srv/uxbox/config/application.properties \
UXBOX_SECRET=youshouldoverwritethiswithsomethingelse \
UXBOX_DEBUG=false \
ENV UXBOX_HTTP_SERVER_DEBUG=false \
UXBOX_DATABASE_USERNAME=uxbox \
UXBOX_DATABASE_PASSWORD=youshouldoverwritethiswithsomethingelse \
UXBOX_DATABASE_NAME=uxbox \
UXBOX_DATABASE_SERVER=localhost \
UXBOX_DATABASE_PORT=5432 \
UXBOX_EMAIL_REPLY_TO=no-reply@uxbox.io \
UXBOX_EMAIL_FROM=no-reply@uxbox.io \
UXBOX_SMTP_HOST=localhost \
UXBOX_SMTP_PORT=25 \
UXBOX_SMTP_USER=uxbox \
@ -38,14 +43,7 @@ ENV UXBOX_CONFIG=/srv/uxbox/config/application.properties \
UXBOX_SMTP_SSL=false \
UXBOX_SMTP_TLS=false \
UXBOX_SMTP_ENABLED=false \
UXBOX_MAIL_REPLY=no-reply@uxbox.io \
UXBOX_MAIL_FROM=no-reply@uxbox.io \
UXBOX_DB_TYPE=postgresql \
UXBOX_DB_USER=uxbox \
UXBOX_DB_PASSWORD=youshouldoverwritethiswithsomethingelse \
UXBOX_DB_NAME=uxbox \
UXBOX_DB_HOST=localhost \
UXBOX_DB_PORT=5432
UXBOX_SECRET=youshouldoverwritethiswithsomethingelse
EXPOSE 6060

View file

@ -3,54 +3,5 @@ set -e
echo "UXBOX backend Docker entrypoint initialization..."
echo 'Backend configuration...'
# If no config provided in volume, setup a default config from environment variables
if [ ! -f $APP_CONFIG ]; then
echo "Setting up initial application configuration..."
echo "# Initial configuration generated at $(date +%Y-%m-%dT%H:%M:%S%z)" > $APP_CONFIG
echo "# ~~~~~" >> $APP_CONFIG
echo "# Security Configuration" >> $APP_CONFIG
echo "# ~~~~~" >> $APP_CONFIG
echo "secret=${UXBOX_SECRET}" >> $APP_CONFIG
-e "s/:host .*/:host \"${UXBOX_DEBUG}" >> $APP_CONFIG
echo "# ~~~~~" >> $APP_CONFIG
echo "# SMTP Configuration" >> $APP_CONFIG
echo "# ~~~~~" >> $APP_CONFIG
echo "smtp.host=${UXBOX_SMTP_HOST}" >> $APP_CONFIG
echo "smtp.port=${UXBOX_SMTP_PORT}" >> $APP_CONFIG
echo "smtp.user=${UXBOX_SMTP_USER}" >> $APP_CONFIG
echo "smtp.pass=${UXBOX_SMTP_PASSWORD}" >> $APP_CONFIG
echo "smtp.ssl=${UXBOX_SMTP_SSL}" >> $APP_CONFIG
echo "smtp.tls=${UXBOX_SMTP_TLS}" >> $APP_CONFIG
echo "smtp.enabled=${UXBOX_SMTP_ENABLED}" >> $APP_CONFIG
echo "# ~~~~~" >> $APP_CONFIG
echo "# Email Configuration" >> $APP_CONFIG
echo "# ~~~~~" >> $APP_CONFIG
echo "email.host=${UXBOX_MAIL_REPLY}" >> $APP_CONFIG
echo "email.port=${UXBOX_MAIL_FROM}" >> $APP_CONFIG
echo "# ~~~~~" >> $APP_CONFIG
echo "# Database Configuration" >> $APP_CONFIG
echo "# ~~~~~" >> $APP_CONFIG
echo "database.adapter=${UXBOX_DB_TYPE}" >> $APP_CONFIG
echo "database.username=${UXBOX_DB_USER}" >> $APP_CONFIG
echo "database.password=${UXBOX_DB_PASSWORD}" >> $APP_CONFIG
echo "database.database-name=${UXBOX_DB_NAME}" >> $APP_CONFIG
echo "database.server-name=${UXBOX_DB_HOST}" >> $APP_CONFIG
echo "database.port-number=${UXBOX_DB_PORT}" >> $APP_CONFIG
echo "Configuration generated."
else
echo "Configuration found."
fi
# TODO Find how to actually pass configuration file to JAR
echo 'Running backend'
echo 'Running UXBOX backend'
exec "$@"

View file

@ -27,10 +27,17 @@ services:
ports:
- "6060:6060"
environment:
# Security setup
- "UXBOX_SECRET=youshouldoverwritethiswithsomethingelse"
# Debug setup
- "UXBOX_DEBUG=false"
# HTTP setup
- "UXBOX_HTTP_SERVER_DEBUG=false"
# Database setup
- "UXBOX_DATABASE_USERNAME=uxbox"
- "UXBOX_DATABASE_PASSWORD=youshouldoverwritethiswithsomethingelse"
- "UXBOX_DATABASE_NAME=uxbox"
- "UXBOX_DATABASE_SERVER=db"
- "UXBOX_DATABASE_PORT=5432"
# Mail setup
- "UXBOX_EMAIL_REPLY_TO=no-reply@uxbox.io"
- "UXBOX_EMAIL_FROM=no-reply@uxbox.io"
# STMP setup
- "UXBOX_SMTP_HOST=localhost"
- "UXBOX_SMTP_PORT=25"
@ -39,16 +46,8 @@ services:
- "UXBOX_SMTP_SSL=false"
- "UXBOX_SMTP_TLS=false"
- "UXBOX_SMTP_ENABLED=false"
# Mail setup
- "UXBOX_MAIL_REPLY=no-reply@uxbox.io"
- "UXBOX_MAIL_FROM=no-reply@uxbox.io"
# Database setup
- "UXBOX_DB_TYPE=postgresql"
- "UXBOX_DB_USER=uxbox"
- "UXBOX_DB_PASSWORD=youshouldoverwritethiswithsomethingelse"
- "UXBOX_DB_NAME=uxbox"
- "UXBOX_DB_HOST=db"
- "UXBOX_DB_PORT=5432"
# Security setup
- "UXBOX_SECRET=youshouldoverwritethiswithsomethingelse"
frontend:
build: ./frontend