Fixed directory permissions and Go module handling

This commit is contained in:
Andreas Düren 2025-03-18 19:26:22 +01:00
parent 546fe4fe5d
commit 98ccff7af9

View File

@ -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 <<EOT
module ente.io/server
go 1.24
require (
github.com/lib/pq v1.10.9
)
EOT
chmod 666 /app/data/patched/go.mod
echo "==> 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