#!/usr/bin/env bash set -euo pipefail log() { echo "[start] $(date -Is) $*"; } abort() { echo "[start] ERROR: $*" >&2; exit 1; } # Defaults : "${APP_PORT:=__HTTP_PORT__}" log "Starting __APP_TITLE__ on port ${APP_PORT}" # Example: ensure /app/data exists and is writable mkdir -p /app/data chown -R cloudron:cloudron /app/data || true # Example addon integration (uncomment and adapt as needed) # if [[ -n "${CLOUDRON_POSTGRESQL_URL:-}" ]]; then # log "Detected PostgreSQL addon" # # Use $CLOUDRON_POSTGRESQL_* env vars # fi # if [[ -n "${CLOUDRON_REDIS_URL:-}" ]]; then # log "Detected Redis addon" # fi # If your app needs config generation, do it here # cat > /app/data/config.yaml <<'YAML' # key: value # YAML # Example: start a simple HTTP server (placeholder) # Replace with your actual app start command if command -v python3 >/dev/null 2>&1; then log "Launching placeholder server: python3 -m http.server ${APP_PORT}" exec python3 -m http.server "${APP_PORT}" --bind 0.0.0.0 else abort "No application command configured. Replace placeholder with your app's start command." fi