#!/bin/bash set -euo pipefail # Create user content directory mkdir -p /app/data/uploads chown -R cloudron:cloudron /app/data # Generate secret key on first run if [ ! -f /app/data/secret_key.txt ]; then echo "=> Generating new secret key" head -c 48 /dev/urandom | base64 > /app/data/secret_key.txt fi # Export environment variables for Keila export PORT=4000 export DB_URL=$CLOUDRON_POSTGRESQL_URL export SECRET_KEY_BASE=$(cat /app/data/secret_key.txt) # Configure URLs from Cloudron environment variables export URL_HOST=$CLOUDRON_APP_DOMAIN export URL_PATH="/" if [[ "$CLOUDRON_APP_ORIGIN" == https://* ]]; then export URL_SCHEMA="https" export URL_PORT="443" else export URL_SCHEMA="http" export URL_PORT="80" fi # Configure email settings export MAILER_TYPE=smtp export MAILER_SMTP_FROM_EMAIL=$CLOUDRON_MAIL_FROM export MAILER_SMTP_HOST=$CLOUDRON_MAIL_SMTP_SERVER export MAILER_SMTP_PORT=$CLOUDRON_MAIL_SMTP_PORT export MAILER_SMTP_USER=$CLOUDRON_MAIL_SMTP_USERNAME export MAILER_SMTP_PASSWORD=$CLOUDRON_MAIL_SMTP_PASSWORD export MAILER_ENABLE_STARTTLS=true # Configure user content directory export USER_CONTENT_DIR=/app/data/uploads # Set the initial admin user export KEILA_USER="admin@cloudron.local" export KEILA_PASSWORD="changeme123" echo "=> Starting Keila" exec gosu cloudron:cloudron /app/code/bin/keila start