mirror of
https://github.com/httpjamesm/AnonymousOverflow.git
synced 2025-04-21 22:39:14 +00:00
Merge 0f576945b2
into f13ed33873
This commit is contained in:
commit
7091815cc3
3 changed files with 16 additions and 20 deletions
|
@ -20,8 +20,6 @@ FROM scratch
|
||||||
|
|
||||||
COPY --from=build /app/anonymousoverflow /anonymousoverflow
|
COPY --from=build /app/anonymousoverflow /anonymousoverflow
|
||||||
COPY --from=build /app/healthcheck /healthcheck
|
COPY --from=build /app/healthcheck /healthcheck
|
||||||
COPY templates /templates
|
|
||||||
COPY public /public
|
|
||||||
COPY --from=build /etc/ssl/certs /etc/ssl/certs
|
COPY --from=build /etc/ssl/certs /etc/ssl/certs
|
||||||
|
|
||||||
HEALTHCHECK --interval=60s --timeout=5s --start-period=2s --retries=3 CMD [ "/healthcheck","http://localhost:8080/healthz" ]
|
HEALTHCHECK --interval=60s --timeout=5s --start-period=2s --retries=3 CMD [ "/healthcheck","http://localhost:8080/healthz" ]
|
||||||
|
|
18
main.go
18
main.go
|
@ -4,7 +4,11 @@ import (
|
||||||
"anonymousoverflow/env"
|
"anonymousoverflow/env"
|
||||||
"anonymousoverflow/src/middleware"
|
"anonymousoverflow/src/middleware"
|
||||||
"anonymousoverflow/src/routes"
|
"anonymousoverflow/src/routes"
|
||||||
|
"embed"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"html/template"
|
||||||
|
"io/fs"
|
||||||
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
@ -13,6 +17,12 @@ import (
|
||||||
"github.com/tavsec/gin-healthcheck/config"
|
"github.com/tavsec/gin-healthcheck/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//go:embed templates/*
|
||||||
|
var templates embed.FS
|
||||||
|
|
||||||
|
//go:embed public/*
|
||||||
|
var public embed.FS
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
env.RunChecks()
|
env.RunChecks()
|
||||||
|
@ -29,19 +39,21 @@ func main() {
|
||||||
|
|
||||||
if os.Getenv("DEV") != "true" {
|
if os.Getenv("DEV") != "true" {
|
||||||
gin.SetMode(gin.ReleaseMode)
|
gin.SetMode(gin.ReleaseMode)
|
||||||
fmt.Printf("Running in production mode. Listening on %s:%s.", host, port)
|
fmt.Printf("Running in production mode. Listening on %s:%s.\n", host, port)
|
||||||
}
|
}
|
||||||
|
|
||||||
r := gin.Default()
|
r := gin.Default()
|
||||||
|
|
||||||
r.LoadHTMLGlob("templates/*")
|
templ := template.Must(template.New("").ParseFS(templates, "templates/*"))
|
||||||
|
r.SetHTMLTemplate(templ)
|
||||||
|
|
||||||
r.Use(gin.Recovery())
|
r.Use(gin.Recovery())
|
||||||
r.Use(middleware.XssPreventionHeaders())
|
r.Use(middleware.XssPreventionHeaders())
|
||||||
r.Use(middleware.OptionsMiddleware())
|
r.Use(middleware.OptionsMiddleware())
|
||||||
r.Use(middleware.Ratelimit())
|
r.Use(middleware.Ratelimit())
|
||||||
|
|
||||||
r.GET("/static/*filepath", routes.StaticContent)
|
static, _ := fs.Sub(public, "public")
|
||||||
|
r.StaticFS("/static", http.FS(static))
|
||||||
|
|
||||||
r.GET("/robots.txt", func(c *gin.Context) {
|
r.GET("/robots.txt", func(c *gin.Context) {
|
||||||
c.String(200, "User-agent: *\nDisallow: /")
|
c.String(200, "User-agent: *\nDisallow: /")
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
package routes
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
)
|
|
||||||
|
|
||||||
func StaticContent(c *gin.Context) {
|
|
||||||
cleanFilePath := strings.ReplaceAll(c.Param("filepath"), "..", "")
|
|
||||||
|
|
||||||
c.File(fmt.Sprintf("./public/%s", cleanFilePath))
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue