From 7c980f1b1fce873d54958d0b6d75f2d4ac011130 Mon Sep 17 00:00:00 2001 From: Adam French Date: Mon, 9 Mar 2026 16:53:45 +0000 Subject: [PATCH] Fix file permissions, still --- backend/handlers/handle_message_upload.go | 8 ++++++++ nginx/entrypoint.sh | 3 +++ 2 files changed, 11 insertions(+) diff --git a/backend/handlers/handle_message_upload.go b/backend/handlers/handle_message_upload.go index 8a106e1..56453f9 100644 --- a/backend/handlers/handle_message_upload.go +++ b/backend/handlers/handle_message_upload.go @@ -71,6 +71,14 @@ func (store *Store) UploadMessageFile(ctx *gin.Context) { filename := hex.EncodeToString(b) + ext uploadDir := "/backend/uploads/" + if err := os.MkdirAll(uploadDir, 0755); err != nil { + ctx.JSON(http.StatusInternalServerError, gin.H{"error": "failed to create upload directory"}) + return + } + if err := os.Chmod(uploadDir, 0755); err != nil { + ctx.JSON(http.StatusInternalServerError, gin.H{"error": "failed to set directory permissions"}) + return + } dest := filepath.Join(uploadDir, filename) if err := ctx.SaveUploadedFile(file, dest); err != nil { ctx.JSON(http.StatusInternalServerError, gin.H{"error": "failed to save file"}) diff --git a/nginx/entrypoint.sh b/nginx/entrypoint.sh index 38981b1..3e1eccb 100755 --- a/nginx/entrypoint.sh +++ b/nginx/entrypoint.sh @@ -17,5 +17,8 @@ else envsubst '${DOMAIN}' /etc/nginx/nginx.conf fi +# Ensure upload directory is traversable by nginx worker +chmod 755 /uploads 2>/dev/null || true + # Start nginx nginx -g 'daemon off;'