Files
keila-cloudron/start.sh
2025-07-06 17:01:09 -06:00

49 lines
1.3 KiB
Bash

#!/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