Dockerize everything!

This commit is contained in:
Bryan Joshua Pedini 2020-09-15 10:29:41 +02:00
parent 58c8f54a9a
commit 4ec0091785
4 changed files with 27 additions and 3 deletions

18
Dockerfile Normal file
View File

@ -0,0 +1,18 @@
FROM golang:1.14-buster AS builder
WORKDIR ${GOPATH}/src/git.bjphoster.com/bryanpedini/go-totp
COPY . .
RUN go get -d -v
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix gco -ldflags="-w -s" -o /go/bin/go-totp
FROM scratch
LABEL maintainer="Bryan Joshua Pedini <b.pedini@bjphoster.com>"
COPY --from=builder /go/bin/go-totp /app/go-totp
COPY ./static /app/static
COPY ./templates /app/templates
EXPOSE 8080
ENTRYPOINT ["/app/go-totp"]

2
go.mod
View File

@ -1,3 +1,5 @@
module git.bjphoster.com/bryanpedini/go-totp module git.bjphoster.com/bryanpedini/go-totp
go 1.14 go 1.14
require github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119

2
go.sum Normal file
View File

@ -0,0 +1,2 @@
github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119 h1:YyPWX3jLOtYKulBR6AScGIs74lLrJcgeKRwcbAuQOG4=
github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119/go.mod h1:/nuTSlK+okRfR/vnIPqR89fFKonnWPiZymN5ydRJkX8=

View File

@ -1,8 +1,8 @@
package main package main
import ( import (
"fmt"
"encoding/json" "encoding/json"
"fmt"
"net/http" "net/http"
"strings" "strings"
"text/template" "text/template"
@ -11,6 +11,8 @@ import (
"github.com/xlzd/gotp" "github.com/xlzd/gotp"
) )
var addr = "0.0.0.0:8080"
type secret struct { type secret struct {
S string `json:"secret"` S string `json:"secret"`
} }
@ -42,6 +44,6 @@ func main() {
http.HandleFunc("/", index) http.HandleFunc("/", index)
http.HandleFunc("/calculate", calculate) http.HandleFunc("/calculate", calculate)
http.Handle("/static/", http.StripPrefix(strings.TrimRight("/static/", "/"), staticFolder)) http.Handle("/static/", http.StripPrefix(strings.TrimRight("/static/", "/"), staticFolder))
fmt.Println("Listening on 127.0.0.1:8000") fmt.Println("Listening on ", addr)
http.ListenAndServe("127.0.0.1:8000", nil) http.ListenAndServe(addr, nil)
} }