57 lines
1.9 KiB
Bash
Executable File
57 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
set -eu
|
|
|
|
mkdir -p /app/data/library /app/data/config /app/data/assets /app/data/resources
|
|
mkdir -p /tmp/vite-temp /tmp/vite /tmp/cache
|
|
|
|
touch /app/data/config/config.yml
|
|
|
|
# ensure that data directory is owned by 'cloudron' user
|
|
chown -R cloudron:cloudron /app/data /tmp/vite-temp /tmp/vite /tmp/cache
|
|
|
|
cd /app/data
|
|
|
|
export ROMM_DB_DRIVER=postgresql
|
|
export DB_HOST=${CLOUDRON_POSTGRESQL_HOST}
|
|
export DB_PORT=${CLOUDRON_POSTGRESQL_PORT}
|
|
export DB_NAME=${CLOUDRON_POSTGRESQL_DATABASE}
|
|
export DB_USER=${CLOUDRON_POSTGRESQL_USERNAME}
|
|
export DB_PASSWD=${CLOUDRON_POSTGRESQL_PASSWORD}
|
|
export OIDC_PROVIDER=${CLOUDRON_OIDC_PROVIDER_NAME}
|
|
export OIDC_CLIENT_ID=${CLOUDRON_OIDC_CLIENT_ID}
|
|
export OIDC_CLIENT_SECRET=${CLOUDRON_OIDC_CLIENT_SECRET}
|
|
export OIDC_REDIRECT_URI="${CLOUDRON_APP_ORIGIN}/api/oauth/openid"
|
|
export OIDC_SERVER_APPLICATION_URL=${CLOUDRON_OIDC_ISSUER}
|
|
export UV_PYTHON_INSTALL_DIR=/app/code/uv
|
|
export DEV_HTTPS=false
|
|
export __VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS=${CLOUDRON_APP_DOMAIN}
|
|
export XDG_CACHE_HOME=/tmp/cache
|
|
export REDIS_HOST=${CLOUDRON_REDIS_HOST}
|
|
export REDIS_PORT=${CLOUDRON_REDIS_PORT}
|
|
export ROMM_BASE_PATH=/app/data
|
|
export ROMM_TMP_PATH=/tmp
|
|
|
|
TEMPLATE_FILE="/app/pkg/env.sh.template"
|
|
ENV_FILE="/app/data/env.sh"
|
|
|
|
# Check if env.sh exists in /app/data
|
|
if [ -f "$ENV_FILE" ]; then
|
|
echo "env.sh already exists in $ENV_FILE"
|
|
else
|
|
# Copy the template to the target location
|
|
echo "Copying $TEMPLATE_FILE to $ENV_FILE"
|
|
cp "$TEMPLATE_FILE" "$ENV_FILE"
|
|
chmod +x "$ENV_FILE"
|
|
|
|
# Generate a new secret key using openssl
|
|
SECRET_KEY=$(openssl rand -hex 32 2>/dev/null)
|
|
echo "export ROMM_AUTH_SECRET_KEY=$SECRET_KEY" >> "$ENV_FILE"
|
|
|
|
echo "Successfully created $ENV_FILE from template"
|
|
fi
|
|
|
|
source /app/data/env.sh
|
|
|
|
echo "==> Starting supervisor"
|
|
exec /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf --nodaemon -i Romm
|