Fixed creation of db_override.go in writable location

This commit is contained in:
Andreas Düren 2025-03-18 19:15:11 +01:00
parent 4819bda8ad
commit 428b7f0ea3

View File

@ -344,10 +344,10 @@ else
echo "==> Cannot modify /etc/hosts (read-only filesystem)" echo "==> Cannot modify /etc/hosts (read-only filesystem)"
fi fi
# Create the overrides directory and db_override.go file # Create the overrides directory in writable location
mkdir -p "$SERVER_DIR/overrides" mkdir -p "/app/data/overrides"
echo "==> Creating db_override.go in overrides directory" echo "==> Creating db_override.go in writable overrides directory"
cat > "$SERVER_DIR/overrides/db_override.go" <<EOT cat > "/app/data/overrides/db_override.go" <<EOT
// Override database functions - will be added to museum build // Override database functions - will be added to museum build
package main package main
@ -396,7 +396,7 @@ func forceCorrectDatabase() (*sql.DB, error) {
return sql.Open("postgres", connStr) return sql.Open("postgres", connStr)
} }
EOT EOT
echo "==> Created overrides/db_override.go" echo "==> Created db_override.go in writable location: /app/data/overrides"
# Patch source code directly for maximum effectiveness # Patch source code directly for maximum effectiveness
if [ -d "$SERVER_DIR/cmd/museum" ]; then if [ -d "$SERVER_DIR/cmd/museum" ]; then
@ -472,7 +472,7 @@ CLOUDRON_POSTGRESQL_PORT="${CLOUDRON_POSTGRESQL_PORT}" \
CLOUDRON_POSTGRESQL_USERNAME="${CLOUDRON_POSTGRESQL_USERNAME}" \ CLOUDRON_POSTGRESQL_USERNAME="${CLOUDRON_POSTGRESQL_USERNAME}" \
CLOUDRON_POSTGRESQL_PASSWORD="${CLOUDRON_POSTGRESQL_PASSWORD}" \ CLOUDRON_POSTGRESQL_PASSWORD="${CLOUDRON_POSTGRESQL_PASSWORD}" \
CLOUDRON_POSTGRESQL_DATABASE="${CLOUDRON_POSTGRESQL_DATABASE}" \ CLOUDRON_POSTGRESQL_DATABASE="${CLOUDRON_POSTGRESQL_DATABASE}" \
go run -ldflags "-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'" overrides/db_override.go cmd/museum/main.go db force 25 go run -ldflags "-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'" /app/data/overrides/db_override.go cmd/museum/main.go db force 25
EOF EOF
chmod +x /tmp/run_migration.sh chmod +x /tmp/run_migration.sh
@ -534,10 +534,10 @@ EOF
# Check if we have a patched main.go to use # Check if we have a patched main.go to use
if [ -f "/app/data/patched/main.go" ]; then if [ -f "/app/data/patched/main.go" ]; then
echo "Using patched main.go from writable location" echo "Using patched main.go from writable location"
echo "go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" overrides/db_override.go /app/data/patched/main.go serve" >> /tmp/run_server.sh echo "go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" /app/data/overrides/db_override.go /app/data/patched/main.go serve" >> /tmp/run_server.sh
else else
echo "Using original main.go from read-only location" echo "Using original main.go from read-only location"
echo "go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" overrides/db_override.go cmd/museum/main.go serve" >> /tmp/run_server.sh echo "go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" /app/data/overrides/db_override.go cmd/museum/main.go serve" >> /tmp/run_server.sh
fi fi
chmod +x /tmp/run_server.sh chmod +x /tmp/run_server.sh
@ -704,10 +704,10 @@ EOF
# Check if we have a patched main.go to use # Check if we have a patched main.go to use
if [ -f "/app/data/patched/main.go" ]; then if [ -f "/app/data/patched/main.go" ]; then
echo "Using patched main.go from writable location" echo "Using patched main.go from writable location"
echo "go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" overrides/db_override.go /app/data/patched/main.go serve --port $PUBLIC_ALBUMS_PORT" >> /tmp/run_public_server.sh echo "go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" /app/data/overrides/db_override.go /app/data/patched/main.go serve --port $PUBLIC_ALBUMS_PORT" >> /tmp/run_public_server.sh
else else
echo "Using original main.go from read-only location" echo "Using original main.go from read-only location"
echo "go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" overrides/db_override.go cmd/museum/main.go serve --port $PUBLIC_ALBUMS_PORT" >> /tmp/run_public_server.sh echo "go run -ldflags \"-X 'github.com/lib/pq.defaulthost=${MUSEUM_DB_HOST}'\" /app/data/overrides/db_override.go cmd/museum/main.go serve --port $PUBLIC_ALBUMS_PORT" >> /tmp/run_public_server.sh
fi fi
chmod +x /tmp/run_public_server.sh chmod +x /tmp/run_public_server.sh