From 980a3edf63551b60a85307005cdb6f0380932d83 Mon Sep 17 00:00:00 2001 From: James Mills Date: Sun, 29 Mar 2020 19:02:52 +1000 Subject: [PATCH] Fix default server config and ensure upload and video paths exist --- app/app.go | 6 ++++++ app/config.go | 3 ++- media/library.go | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/app.go b/app/app.go index 4e0657c..387adc8 100644 --- a/app/app.go +++ b/app/app.go @@ -162,6 +162,12 @@ func (a *App) Run() error { } a.Watcher.Add(p.Path) } + if err := os.MkdirAll(a.Config.Server.UploadPath, 0755); err != nil { + return fmt.Errorf( + "error creating upload path %s: %w", + a.Config.Server.UploadPath, err, + ) + } buildFeed(a) go startWatcher(a) return http.Serve(a.Listener, a.Router) diff --git a/app/config.go b/app/config.go index 4d72657..9c0e733 100644 --- a/app/config.go +++ b/app/config.go @@ -64,6 +64,7 @@ func DefaultConfig() *Config { Server: &ServerConfig{ Host: "0.0.0.0", Port: 8000, + StorePath: "tube.db", UploadPath: "uploads", MaxUploadSize: 104857600, }, @@ -74,7 +75,7 @@ func DefaultConfig() *Config { Timeout: 300, }, Feed: &FeedConfig{ - ExternalURL: "http://localhost", + ExternalURL: "http://localhost:8000", }, } } diff --git a/media/library.go b/media/library.go index 5ea20e3..6bfedff 100644 --- a/media/library.go +++ b/media/library.go @@ -2,8 +2,10 @@ package media import ( "errors" + "fmt" "io/ioutil" "log" + "os" "path" "path/filepath" "strings" @@ -39,6 +41,9 @@ func (lib *Library) AddPath(p *Path) error { return errors.New("media: duplicate library prefix") } } + if err := os.MkdirAll(p.Path, 07550); err != nil { + return fmt.Errorf("error creating library path %s: %w", p.Path, err) + } lib.Paths[p.Path] = p return nil }