From 98ccff7af9c518ab1dd77a089ae2d5d1dd1716b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20D=C3=BCren?= Date: Tue, 18 Mar 2025 19:26:22 +0100 Subject: [PATCH] Fixed directory permissions and Go module handling --- start.sh | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/start.sh b/start.sh index a8a4d7f..e597ce6 100644 --- a/start.sh +++ b/start.sh @@ -401,7 +401,22 @@ echo "==> Created db_override.go in writable location: /app/data/overrides" # Also copy db_override.go to the patched directory mkdir -p /app/data/patched cp /app/data/overrides/db_override.go /app/data/patched/ +chmod -R 777 /app/data/patched echo "==> Copied db_override.go to patched directory for Go compiler compatibility" +echo "==> Set permissions on patched directory to 777" + +# Create a minimal go.mod file in the patched directory +cat > /app/data/patched/go.mod < Created minimal go.mod in patched directory" # Patch source code directly for maximum effectiveness if [ -d "$SERVER_DIR/cmd/museum" ]; then @@ -477,7 +492,7 @@ 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 && go run -ldflags "-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'" *.go db force 25 +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 EOF chmod +x /tmp/run_migration.sh @@ -539,11 +554,11 @@ EOF # Check if we have a patched main.go to use if [ -f "/app/data/patched/main.go" ]; then echo "Using patched main.go from writable location" - echo "cd /app/data/patched && go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" *.go serve" >> /tmp/run_server.sh + echo "cd /app/data/patched && GO111MODULE=on go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" *.go serve" >> /tmp/run_server.sh else echo "Using original main.go from read-only location" # We'll need to copy the main.go to our writable directory since all source files must be in the same directory - echo "cp $SERVER_DIR/cmd/museum/main.go /app/data/patched/ && cd /app/data/patched && go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" *.go serve" >> /tmp/run_server.sh + echo "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 serve" >> /tmp/run_server.sh fi chmod +x /tmp/run_server.sh @@ -710,11 +725,11 @@ EOF # Check if we have a patched main.go to use if [ -f "/app/data/patched/main.go" ]; then echo "Using patched main.go from writable location" - echo "cd /app/data/patched && go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" *.go serve --port $PUBLIC_ALBUMS_PORT" >> /tmp/run_public_server.sh + echo "cd /app/data/patched && GO111MODULE=on go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" *.go serve --port $PUBLIC_ALBUMS_PORT" >> /tmp/run_public_server.sh else echo "Using original main.go from read-only location" # We'll need to copy the main.go to our writable directory since all source files must be in the same directory - echo "cp $SERVER_DIR/cmd/museum/main.go /app/data/patched/ && cd /app/data/patched && go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" *.go serve --port $PUBLIC_ALBUMS_PORT" >> /tmp/run_public_server.sh + echo "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 serve --port $PUBLIC_ALBUMS_PORT" >> /tmp/run_public_server.sh fi chmod +x /tmp/run_public_server.sh