From 752f14c229096de283932f735f789b12a2d37753 Mon Sep 17 00:00:00 2001 From: Physcik Date: Wed, 11 Feb 2026 00:54:05 +0500 Subject: Docker --- Dockerfile | 8 ++++++++ Makefile | 11 +++++++++++ log.txt | 0 src/Settings.json | 10 +++++----- src/go.mod | 2 +- src/main.go | 22 +++++++++++++--------- src/physick.ru | Bin 0 -> 15098992 bytes 7 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 Dockerfile create mode 100644 log.txt create mode 100755 src/physick.ru diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4a6f0b9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +# syntax=docker/dockerfile:1 + +FROM golang:1.25 +WORKDIR /app +COPY . ./ +RUN make +EXPOSE 7000 +CMD ["./physick.ru"] diff --git a/Makefile b/Makefile index 9c6b87d..4c96140 100644 --- a/Makefile +++ b/Makefile @@ -1,2 +1,13 @@ +all: + cd src; go build + ln -f src/physick.ru . + ln -f src/Settings.json . + update: git submodule update --remote + +container: + sudo docker build --tag physick-blog . + +container-run: + sudo docker run -d -p 7000:7000 physick-blog diff --git a/log.txt b/log.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/Settings.json b/src/Settings.json index 9700828..1f643d7 100644 --- a/src/Settings.json +++ b/src/Settings.json @@ -1,7 +1,7 @@ { - "Port": ":7000", - "StaticLocation": "../static", - "TemplatesLocation": "../templates", - "ArticlesLocation": "../articles", - "IndexDB": "../articles/index.db" + "Port": ":7000", + "StaticLocation": "static", + "TemplatesLocation": "templates", + "ArticlesLocation": "articles", + "IndexDB": "articles/index.db" } diff --git a/src/go.mod b/src/go.mod index d6b9df7..afea9bc 100644 --- a/src/go.mod +++ b/src/go.mod @@ -1,5 +1,5 @@ module physick.ru -go 1.25.4 +go 1.25.5 require github.com/mattn/go-sqlite3 v1.14.32 // indirect diff --git a/src/main.go b/src/main.go index 8091458..f176acc 100644 --- a/src/main.go +++ b/src/main.go @@ -12,6 +12,19 @@ import ( ) func main() { + setupLogging() + settings.ReadSettings() + index.EstablistDBConnection() + + render.RegisterEndpoints() + + var httpErr = http.ListenAndServe(settings.Current.Port, nil) + if httpErr != nil { + slog.Error("Server error", slog.Any("Message", httpErr)) + } +} + +func setupLogging() { var file, err = os.OpenFile("log.txt", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666) if err != nil { panic(fmt.Sprintf("Failed to open log file: %s", err.Error())) @@ -26,13 +39,4 @@ func main() { slog.SetDefault(slog.New(handler)) programLevel.Set(slog.LevelDebug) - settings.ReadSettings() - index.EstablistDBConnection() - - render.RegisterEndpoints() - - var httpErr = http.ListenAndServe(settings.Current.Port, nil) - if httpErr != nil { - slog.Error("Server error", slog.Any("Message", httpErr)) - } } diff --git a/src/physick.ru b/src/physick.ru new file mode 100755 index 0000000..c697375 Binary files /dev/null and b/src/physick.ru differ -- cgit v1.3