From 53dc9231195b9baed39415892304cf9b305cf7d3 Mon Sep 17 00:00:00 2001 From: Dominic Ferrando Date: Thu, 24 Apr 2025 22:45:23 -0400 Subject: [PATCH] path fixing --- internal/util/posts.go | 6 ++++-- internal/util/util.go | 5 +++++ web/main.go | 32 +++++++++++++++++++++++--------- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/internal/util/posts.go b/internal/util/posts.go index 846e864..fe7c4af 100644 --- a/internal/util/posts.go +++ b/internal/util/posts.go @@ -22,8 +22,10 @@ import ( const FILE_MEM_LIMIT int64 = 10 << 20 const MAX_REQUEST_BYTES int64 = FILE_MEM_LIMIT + (1 << 20) -const POST_MEDIA_FULL_PATH = "web/static/media/posts/full" -const POST_MEDIA_THUMB_PATH = "web/static/media/posts/thumb" +var ( + POST_MEDIA_FULL_PATH = "web/static/media/posts/full" + POST_MEDIA_THUMB_PATH = "web/static/media/posts/thumb" +) const MAX_THREAD_COUNT = 50 diff --git a/internal/util/util.go b/internal/util/util.go index 971147c..f5e577b 100644 --- a/internal/util/util.go +++ b/internal/util/util.go @@ -12,6 +12,11 @@ import ( const DevMode = false +var ( + STATIC_PATH = "web/static" + DATABASE_PATH = "internal/database/comfychan.db" +) + func FormatBytes(bytes int64) string { const ( KB = 1 << 10 // 1024 diff --git a/web/main.go b/web/main.go index d3a4c95..20611c5 100644 --- a/web/main.go +++ b/web/main.go @@ -4,6 +4,16 @@ import ( "database/sql" "errors" "fmt" + "io" + "log" + "mime/multipart" + "net/http" + "os" + "path/filepath" + "strconv" + "strings" + "time" + "github.com/dominicf2001/comfychan/internal/database" "github.com/dominicf2001/comfychan/internal/util" "github.com/dominicf2001/comfychan/web/views" @@ -12,14 +22,6 @@ import ( "github.com/go-chi/chi/v5/middleware" _ "github.com/mattn/go-sqlite3" "golang.org/x/crypto/bcrypt" - "io" - "log" - "mime/multipart" - "net/http" - "path/filepath" - "strconv" - "strings" - "time" ) func AdminOnlyMiddleware(next http.Handler) http.Handler { @@ -66,6 +68,18 @@ func main() { // SETUP // ----------------- + // init paths + + dataDir := os.Getenv("COMFYCHAN_DATA_DIR") + if dataDir == "" { + dataDir = "." // for development + } + + util.POST_MEDIA_FULL_PATH = filepath.Join(dataDir, util.POST_MEDIA_FULL_PATH) + util.POST_MEDIA_THUMB_PATH = filepath.Join(dataDir, util.POST_MEDIA_FULL_PATH) + util.DATABASE_PATH = filepath.Join(dataDir, util.DATABASE_PATH) + util.STATIC_PATH = filepath.Join(dataDir, util.STATIC_PATH) + db, err := sql.Open("sqlite3", "internal/database/comfychan.db") if err != nil { log.Fatal(err) @@ -79,7 +93,7 @@ func main() { r.Handle("/static/*", disableCacheInDevMode( http.StripPrefix("/static", - http.FileServer(http.Dir("web/static"))))) + http.FileServer(http.Dir(util.STATIC_PATH))))) // -----------------