From 517ef4c0c673e6184e3017f05477211a8994a83e Mon Sep 17 00:00:00 2001 From: Andreas Dueren Date: Tue, 18 Mar 2025 19:55:11 +0100 Subject: [PATCH] Fixed Caddy config and file permissions issues --- start.sh | 147 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 90 insertions(+), 57 deletions(-) diff --git a/start.sh b/start.sh index 56c15b7..e581be2 100644 --- a/start.sh +++ b/start.sh @@ -10,6 +10,11 @@ echo "==> Starting Ente Cloudron app..." # Create necessary directories mkdir -p /app/data/config /app/data/storage /app/data/caddy /app/data/go /app/data/logs +# Create and set proper permissions for patched directory early +mkdir -p /app/data/patched +chmod -R 777 /app/data/patched +echo "==> Created and set full permissions (777) on /app/data/patched directory" + # Add comment about Cloudron filesystem limitations echo "==> NOTE: Running in Cloudron environment with limited write access" echo "==> Writable directories: /app/data, /tmp, /run" @@ -400,6 +405,7 @@ echo "==> Created db_override.go in writable location: /app/data/overrides" mkdir -p /app/data/patched cp /app/data/overrides/db_override.go /app/data/patched/ chmod -R 777 /app/data/patched +chmod 666 /app/data/patched/db_override.go echo "==> Copied db_override.go to patched directory for Go compiler compatibility" echo "==> Set permissions on patched directory to 777" @@ -474,25 +480,45 @@ if [ -d "$SERVER_DIR/cmd/museum" ]; then #!/bin/bash # Unset any module-related flags that cause issues unset GOFLAGS -cd "$SERVER_DIR" && \ -PGHOST="${CLOUDRON_POSTGRESQL_HOST}" \ -PGPORT="${CLOUDRON_POSTGRESQL_PORT}" \ -PGUSER="${CLOUDRON_POSTGRESQL_USERNAME}" \ -PGPASSWORD="${CLOUDRON_POSTGRESQL_PASSWORD}" \ -PGDATABASE="${CLOUDRON_POSTGRESQL_DATABASE}" \ -PGSSLMODE="disable" \ -ENTE_PG_HOST="${MUSEUM_DB_HOST}" \ -ENTE_PG_PORT="${MUSEUM_DB_PORT}" \ -ENTE_PG_USER="${MUSEUM_DB_USER}" \ -ENTE_PG_PASSWORD="${MUSEUM_DB_PASSWORD}" \ -ENTE_PG_DATABASE="${MUSEUM_DB_NAME}" \ -ENTE_PG_DSN="postgres://${MUSEUM_DB_USER}:${MUSEUM_DB_PASSWORD}@${MUSEUM_DB_HOST}:${MUSEUM_DB_PORT}/${MUSEUM_DB_NAME}?sslmode=disable&host=${MUSEUM_DB_HOST}" \ -CLOUDRON_POSTGRESQL_HOST="${CLOUDRON_POSTGRESQL_HOST}" \ -CLOUDRON_POSTGRESQL_PORT="${CLOUDRON_POSTGRESQL_PORT}" \ -CLOUDRON_POSTGRESQL_USERNAME="${CLOUDRON_POSTGRESQL_USERNAME}" \ -CLOUDRON_POSTGRESQL_PASSWORD="${CLOUDRON_POSTGRESQL_PASSWORD}" \ -CLOUDRON_POSTGRESQL_DATABASE="${CLOUDRON_POSTGRESQL_DATABASE}" \ -cp $SERVER_DIR/cmd/museum/main.go /app/data/patched/ && cd /app/data/patched && GO111MODULE=on go run -ldflags "-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'" *.go db force 25 +unset GO111MODULE + +# Set PostgreSQL environment variables +export PGHOST="${CLOUDRON_POSTGRESQL_HOST}" +export PGPORT="${CLOUDRON_POSTGRESQL_PORT}" +export PGUSER="${CLOUDRON_POSTGRESQL_USERNAME}" +export PGPASSWORD="${CLOUDRON_POSTGRESQL_PASSWORD}" +export PGDATABASE="${CLOUDRON_POSTGRESQL_DATABASE}" +export PGSSLMODE="disable" + +# Create go.mod and go.sum files +cd /app/data/patched +cat > go.mod <> go.sum < /tmp/run_server.sh < /app/data/caddy/Caddyfile < /app/data/caddy/Caddyfile < /app/data/caddy/Caddyfile < /app/data/caddy/Caddyfile <