mirror of
https://github.com/httpjamesm/AnonymousOverflow.git
synced 2025-04-19 13:29:15 +00:00
Merge 0f576945b2
into f13ed33873
This commit is contained in:
commit
7091815cc3
3 changed files with 16 additions and 20 deletions
|
@ -20,12 +20,10 @@ FROM scratch
|
|||
|
||||
COPY --from=build /app/anonymousoverflow /anonymousoverflow
|
||||
COPY --from=build /app/healthcheck /healthcheck
|
||||
COPY templates /templates
|
||||
COPY public /public
|
||||
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" ]
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["/anonymousoverflow"]
|
||||
CMD ["/anonymousoverflow"]
|
||||
|
|
18
main.go
18
main.go
|
@ -4,7 +4,11 @@ import (
|
|||
"anonymousoverflow/env"
|
||||
"anonymousoverflow/src/middleware"
|
||||
"anonymousoverflow/src/routes"
|
||||
"embed"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"io/fs"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
@ -13,6 +17,12 @@ import (
|
|||
"github.com/tavsec/gin-healthcheck/config"
|
||||
)
|
||||
|
||||
//go:embed templates/*
|
||||
var templates embed.FS
|
||||
|
||||
//go:embed public/*
|
||||
var public embed.FS
|
||||
|
||||
func main() {
|
||||
|
||||
env.RunChecks()
|
||||
|
@ -29,19 +39,21 @@ func main() {
|
|||
|
||||
if os.Getenv("DEV") != "true" {
|
||||
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.LoadHTMLGlob("templates/*")
|
||||
templ := template.Must(template.New("").ParseFS(templates, "templates/*"))
|
||||
r.SetHTMLTemplate(templ)
|
||||
|
||||
r.Use(gin.Recovery())
|
||||
r.Use(middleware.XssPreventionHeaders())
|
||||
r.Use(middleware.OptionsMiddleware())
|
||||
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) {
|
||||
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