diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..af526a8 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +.gitignore +Dockerfile +LICENSE +README.md \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 55eaa31..de388df 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.11.1 as builder +FROM golang:1.11.2 as builder EXPOSE 8080 @@ -20,4 +20,5 @@ RUN CGO_ENABLED=0 go build -a -installsuffix cgo -o /serve ${MAIN} FROM scratch COPY --from=builder /serve / -CMD ["/serve"] +ENTRYPOINT ["/serve"] +CMD [] diff --git a/README.md b/README.md index 189a9e7..317c9dc 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,21 @@ # static-file-server -Tiny, simple static file server using environment variables for configuration +## Introduction +Tiny, simple static file server using environment variables for configuration. +Install from any of the following locations: -Available on Docker Hub at https://hub.docker.com/r/halverneus/static-file-server/ -Available on GitHub at https://github.com/halverneus/static-file-server +- Docker Hub: https://hub.docker.com/r/halverneus/static-file-server/ +- GitHub: https://github.com/halverneus/static-file-server -Environment variables with defaults: +## Configuration + +### Environment Variables + +Default values are shown with the associated environment variable. ```bash # Enable debugging for troubleshooting. If set to 'true' this prints extra -# information during execution. Default value is 'false'. +# information during execution. DEBUG=false # Optional Hostname for binding. Leave black to accept any incoming HTTP request # on the prescribed port. @@ -31,10 +37,12 @@ TLS_CERT= TLS_KEY= ``` -Matching configuration YAML settings. YAML settings are individually overridden -by the corresponding environment variable. The following is an example -configuration file with defaults. Pass in the path to the configuration file -using the command line option ('-c', '-config', '--config'). +### YAML Configuration File + +YAML settings are individually overridden by the corresponding environment +variable. The following is an example configuration file with defaults. Pass in +the path to the configuration file using the command line option +('-c', '-config', '--config'). ```yaml debug: false @@ -47,7 +55,9 @@ tls-cert: "" tls-key: "" ``` -## Without Docker +## Deployment + +### Without Docker ```bash PORT=8888 FOLDER=. ./serve @@ -55,10 +65,13 @@ PORT=8888 FOLDER=. ./serve Files can then be accessed by going to http://localhost:8888/my/file.txt -## With Docker +### With Docker ```bash -docker run -d -v /my/folder:/web -p 8080:8080 halverneus/static-file-server:latest +docker run -d \ + -v /my/folder:/web \ + -p 8080:8080 \ + halverneus/static-file-server:latest ``` This will serve the folder "/my/folder" over http://localhost:8080/my/file.txt @@ -66,15 +79,18 @@ This will serve the folder "/my/folder" over http://localhost:8080/my/file.txt Any of the variables can also be modified: ```bash -docker run -d -v /home/me/dev/source:/content/html -v /home/me/dev/files:/content/more/files -e FOLDER=/content -p 8080:8080 halverneus/static-file-server:latest +docker run -d \ + -v /home/me/dev/source:/content/html \ + -v /home/me/dev/files:/content/more/files \ + -e FOLDER=/content \ + -p 8080:8080 \ + halverneus/static-file-server:latest ``` -## Also try... +### Getting Help ```bash ./serve help # OR docker run -it halverneus/static-file-server:latest help ``` - -This maybe a cheesy program, but it is convenient and less than 6MB in size. diff --git a/cli/version/version.go b/cli/version/version.go index 426a505..c425ec9 100644 --- a/cli/version/version.go +++ b/cli/version/version.go @@ -19,7 +19,7 @@ var ( MinorVersion = 4 // FixVersion of static-file-server. - FixVersion = 0 + FixVersion = 1 // Text for directly accessing the static-file-server version. Text = fmt.Sprintf(