diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 69ecd56..d4aaa6a 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -20,7 +20,7 @@ jobs: - name: Install npm run: npm install - + - name: Build css run: npm run build:css @@ -28,7 +28,7 @@ jobs: run: npm run build - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: '1.22' diff --git a/cmd/server/main.go b/cmd/server/main.go index 6387c32..7803720 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -1,7 +1,7 @@ package main import ( - "git.tijl.dev/tijl/tijl.dev/internal/tijl.dev/service" + "git.tijl.dev/tijl/tijl.dev/internal/service" ) func main() { diff --git a/internal/service/main.go b/internal/service/main.go new file mode 100644 index 0000000..9682725 --- /dev/null +++ b/internal/service/main.go @@ -0,0 +1,64 @@ +package service + +import ( + "context" + "net/http" + + "git.tijl.dev/tijl/tijl.dev/internal/assets" + "git.tijl.dev/tijl/tijl.dev/internal/config" + "git.tijl.dev/tijl/tijl.dev/internal/db" + "git.tijl.dev/tijl/tijl.dev/internal/handlers" + "git.tijl.dev/tijl/tijl.dev/internal/i18n" + "git.tijl.dev/tijl/tijl.dev/internal/oidc" + webinternal "git.tijl.dev/tijl/tijl.dev/internal/web" + "git.tijl.dev/tijl/tijl.dev/modules/logger" + "git.tijl.dev/tijl/tijl.dev/modules/web" + "git.tijl.dev/tijl/tijl.dev/views" + "github.com/gofiber/contrib/fiberzerolog" + "github.com/gofiber/fiber/v2" + "github.com/gofiber/template/html/v2" +) + +func Listen() { + // Load initial context + ctx := context.Background() + + // setup logger + log.Load() + // Load config + config.Load() + // Load database + db.Load() + // Setup oidc + oidc.Load(ctx) + // Load assets + assets.Load() + // Load translations + i18n.Load() + // setup handler + handlers.Setup() + // setup web + webinternal.Load() + + // Init templating engine + engine := html.NewFileSystem(http.FS(views.Embed), ".html") + engine.AddFunc("icon", assets.Svg) + + // Init fiber + app := fiber.New(fiber.Config{ + Views: engine, + DisableStartupMessage: true, + }) + app.Use(fiberzerolog.New(fiberzerolog.Config{ + Logger: &log.Logger, + })) + + // Setup routes + web.Setup(app) + + // Listen web server + if err := app.Listen(":3000"); err != nil { + log.Fatal().Err(err).Msg("Fiber app error") + } + +}