formatting
This commit is contained in:
parent
34ac340cad
commit
4082be54e2
9 changed files with 53 additions and 46 deletions
|
@ -3,4 +3,13 @@ services:
|
||||||
build: ./server/Dockerfile
|
build: ./server/Dockerfile
|
||||||
ports:
|
ports:
|
||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
|
volumes:
|
||||||
|
- "./storage/files:/mnt/storage/files"
|
||||||
|
ole:
|
||||||
|
build: ./scanners/ole/Dockerfile
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
volumes:
|
||||||
|
- "./storage/files:/mnt/storage/files"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
FROM python:3-alpine
|
FROM python:3-alpine
|
||||||
|
|
||||||
# Set environment variables (these can be overridden in `docker-compose.yml` or `docker run`)
|
# Set environment variables (these can be overridden in `docker-compose.yml` or `docker run`)
|
||||||
ENV UPLOAD_FOLDER="/tmp/uploads"
|
ENV FILE_DIRECTORY="/mnt/storage/files/"
|
||||||
ENV HOST="127.0.0.1"
|
ENV HOST="127.0.0.1"
|
||||||
ENV PORT="5000"
|
ENV PORT="5000"
|
||||||
ENV DEBUG="True"
|
ENV DEBUG="True"
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log/slog"
|
"log/slog"
|
||||||
|
|
||||||
_ "github.com/joho/godotenv/autoload"
|
_ "github.com/joho/godotenv/autoload"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
func ReadConfigFile(configFile string) {
|
func ReadConfigFile(configFile string) {
|
||||||
setDefaults()
|
setDefaults()
|
||||||
if configFile != "" {
|
if configFile != "" {
|
||||||
slog.Info("reading Config file", "file", configFile)
|
slog.Info("reading Config file", "file", configFile)
|
||||||
viper.SetConfigFile(configFile)
|
viper.SetConfigFile(configFile)
|
||||||
} else {
|
} else {
|
||||||
viper.AddConfigPath(".")
|
viper.AddConfigPath(".")
|
||||||
viper.AddConfigPath("/etc/scanfile/")
|
viper.AddConfigPath("/etc/scanfile/")
|
||||||
viper.SetConfigName("config")
|
viper.SetConfigName("config")
|
||||||
viper.SetConfigType("toml")
|
viper.SetConfigType("toml")
|
||||||
}
|
}
|
||||||
viper.SetEnvPrefix("SF")
|
viper.SetEnvPrefix("SF")
|
||||||
|
|
||||||
viper.ReadInConfig()
|
viper.ReadInConfig()
|
||||||
viper.AutomaticEnv()
|
viper.AutomaticEnv()
|
||||||
if viper.ConfigFileUsed() == "" {
|
if viper.ConfigFileUsed() == "" {
|
||||||
viper.WriteConfigAs("./config.toml")
|
viper.WriteConfigAs("./config.toml")
|
||||||
}
|
}
|
||||||
slog.Info("done reading config", "file", viper.ConfigFileUsed())
|
slog.Info("done reading config", "file", viper.ConfigFileUsed())
|
||||||
}
|
}
|
||||||
|
|
||||||
func setDefaults() {
|
func setDefaults() {
|
||||||
// Web
|
// Web
|
||||||
viper.SetDefault("web.port", 8080)
|
viper.SetDefault("web.port", 8080)
|
||||||
viper.SetDefault("web.host", "127.0.0.1")
|
viper.SetDefault("web.host", "127.0.0.1")
|
||||||
viper.SetDefault("web.tls", false)
|
viper.SetDefault("web.tls", false)
|
||||||
viper.SetDefault("web.cert", "/etc/ssl/certs/ssl-cert-snakeoil.pem")
|
viper.SetDefault("web.cert", "/etc/ssl/certs/ssl-cert-snakeoil.pem")
|
||||||
viper.SetDefault("web.key", "/etc/ssl/key/ssl-cert-snakeoil.key")
|
viper.SetDefault("web.key", "/etc/ssl/key/ssl-cert-snakeoil.key")
|
||||||
viper.SetDefault("web.loghttp", true)
|
viper.SetDefault("web.loghttp", true)
|
||||||
}
|
}
|
||||||
|
|
||||||
func SaveConfig() error {
|
func SaveConfig() error {
|
||||||
return viper.WriteConfig()
|
return viper.WriteConfig()
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ type User struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateUser(user User) error {
|
func CreateUser(user User) error {
|
||||||
log.Println(user)
|
log.Println(user)
|
||||||
_, err := db.NamedExec(`
|
_, err := db.NamedExec(`
|
||||||
INSERT INTO users (
|
INSERT INTO users (
|
||||||
username,
|
username,
|
||||||
|
|
|
@ -27,7 +27,6 @@ func Logging(next http.Handler) http.Handler {
|
||||||
|
|
||||||
next.ServeHTTP(wrapped, r)
|
next.ServeHTTP(wrapped, r)
|
||||||
|
|
||||||
slog.Info("webserver", "status", wrapped.statusCode, "method", r.Method, "path", r.URL.Path, "duration", time.Since(start))
|
slog.Info("webserver", "status", wrapped.statusCode, "method", r.Method, "path", r.URL.Path, "duration", time.Since(start))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"git.jmbit.de/jmb/scanfile/server/web"
|
||||||
"net/http"
|
"net/http"
|
||||||
"git.jmbit.de/jmb/scanfile/server/web"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func RegisterRoutes() *http.ServeMux {
|
func RegisterRoutes() *http.ServeMux {
|
||||||
mux := http.NewServeMux()
|
mux := http.NewServeMux()
|
||||||
mux.HandleFunc("/", web.IndexWebHandler)
|
mux.HandleFunc("/", web.IndexWebHandler)
|
||||||
mux.Handle("/assets/", http.FileServer(http.FS(web.Files)))
|
mux.Handle("/assets/", http.FileServer(http.FS(web.Files)))
|
||||||
return mux
|
return mux
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,9 +2,9 @@ package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
"log/slog"
|
|
||||||
|
|
||||||
"git.jmbit.de/jmb/scanfile/server/internal/middlewares"
|
"git.jmbit.de/jmb/scanfile/server/internal/middlewares"
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@ package session
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/gorilla/securecookie"
|
"github.com/gorilla/securecookie"
|
||||||
"github.com/gorilla/sessions"
|
"github.com/gorilla/sessions"
|
||||||
|
@ -31,7 +31,7 @@ func sessionStore() sessions.FilesystemStore {
|
||||||
workdir, err := os.Getwd()
|
workdir, err := os.Getwd()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("Error determining working directory", "error", err)
|
slog.Error("Error determining working directory", "error", err)
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
sessionPath = path.Join(workdir, sessionPath)
|
sessionPath = path.Join(workdir, sessionPath)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,14 +26,13 @@ import (
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
log.SetOutput(os.Stderr)
|
log.SetOutput(os.Stderr)
|
||||||
slog.SetDefault(slog.New(slog.NewTextHandler(os.Stderr, nil)))
|
slog.SetDefault(slog.New(slog.NewTextHandler(os.Stderr, nil)))
|
||||||
config.ReadConfigFile("")
|
config.ReadConfigFile("")
|
||||||
if viper.GetBool("web.tls") {
|
if viper.GetBool("web.tls") {
|
||||||
server.NewServer().ListenAndServeTLS(viper.GetString("web.cert"), viper.GetString("web.key"))
|
server.NewServer().ListenAndServeTLS(viper.GetString("web.cert"), viper.GetString("web.key"))
|
||||||
} else {
|
} else {
|
||||||
server.NewServer().ListenAndServe()
|
server.NewServer().ListenAndServe()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue