Browse Source

Initial commit

master
Steven Polley 11 months ago
parent
commit
43adaf56b9
3 changed files with 50 additions and 0 deletions
  1. 23
    0
      .drone.yml
  2. 4
    0
      Dockerfile
  3. 23
    0
      main.go

+ 23
- 0
.drone.yml View File

@@ -0,0 +1,23 @@
kind: pipeline
name: default

workspace:
base: /go
path: src/deadbeef.codes/steven/deadbeef.codes-publicfileserver

steps:
- name: build
image: golang
pull: always
environment:
GOOS: linux
GOARCH: amd64
CGO_ENABLED: 0
commands:
- go version
- go get
- go build -a -ldflags '-w'
- name: publish
image: plugins/docker
settings:
repo: registry.deadbeef.codes/deadbeef.codes-publicfileserver

+ 4
- 0
Dockerfile View File

@@ -0,0 +1,4 @@
FROM scratch
COPY deadbeef.codes-publicfileserver /
EXPOSE 8080:8080
ENTRYPOINT ["/deadbeef.codes-publicfileserver"]

+ 23
- 0
main.go View File

@@ -0,0 +1,23 @@
package main

import (
"fmt"
"log"
"net/http"
"os"
"os/signal"
)

// http server setup and routing
func main() {
stop := make(chan os.Signal, 1)
signal.Notify(stop, os.Interrupt)
go func() {
http.Handle("/public/", http.StripPrefix("/public/", http.FileServer(http.Dir("public"))))
log.Fatal(http.ListenAndServe(":8080", nil))
}()
log.Println("started public fileserver on 8080")

<-stop
fmt.Println("Shutting server down...")
}

Loading…
Cancel
Save