diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..f5a0241 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,12 @@ +FROM golang:1.22 + +WORKDIR /usr/src/app + +# pre-copy/cache go.mod for pre-downloading dependencies and only redownloading them in subsequent builds if they change +COPY go.mod go.sum ./ +RUN go mod download && go mod verify + +COPY . . +RUN go build -v -o /usr/local/bin/app ./... + +CMD ["app"] diff --git a/backend/cmd/app/main.go b/backend/cmd/app/main.go new file mode 100644 index 0000000..f6d75ca --- /dev/null +++ b/backend/cmd/app/main.go @@ -0,0 +1,21 @@ +package main + +import ( + //"encoding/json" + "log" + "net/http" + "fmt" + + "github.com/gorilla/mux" +) + +func main() { + router := mux.NewRouter() + router.HandleFunc("/ping", ping).Methods("GET") + + log.Fatal(http.ListenAndServe(":8080", router)) +} + +func ping(w http.ResponseWriter, r *http.Request) { + fmt.Fprintf(w, "pong") +} \ No newline at end of file diff --git a/backend/go.mod b/backend/go.mod index 406daa9..b1ea11c 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -1,3 +1,5 @@ module git.weirdcat.su/weirdcat/personal-website/src/backend go 1.22.5 + +require github.com/gorilla/mux v1.8.1 // indirect diff --git a/backend/go.sum b/backend/go.sum new file mode 100644 index 0000000..7128337 --- /dev/null +++ b/backend/go.sum @@ -0,0 +1,2 @@ +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=