From 5e22c7de4cb139ed730928cd8c25b3cba4ce2804 Mon Sep 17 00:00:00 2001 From: Jeromy Streets Date: Wed, 14 Nov 2018 16:16:03 -0800 Subject: [PATCH 1/3] Updated to use Go 1.11.2. Fixed ENTRYPOINT and CMD in Dockerfile. Cleaned up README. --- .dockerignore | 4 ++++ Dockerfile | 5 +++-- README.md | 48 ++++++++++++++++++++++++++++-------------- cli/version/version.go | 2 +- 4 files changed, 40 insertions(+), 19 deletions(-) create mode 100644 .dockerignore 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( From fb5181e7df6f461381f005a7ce5c2715119d743e Mon Sep 17 00:00:00 2001 From: Jeromy Streets Date: Wed, 14 Nov 2018 16:19:37 -0800 Subject: [PATCH 2/3] Added .git directory to .dockerignore. --- .dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.dockerignore b/.dockerignore index af526a8..81cbee1 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,4 @@ +.git .gitignore Dockerfile LICENSE From 79edf6b505f639ce5abc1e53b42d9607325066e5 Mon Sep 17 00:00:00 2001 From: Jeromy Streets Date: Wed, 14 Nov 2018 16:25:48 -0800 Subject: [PATCH 3/3] Revised the minor version rather than the fix version due to changes in ENTRYPOINT and CMD. --- cli/version/version.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/version/version.go b/cli/version/version.go index c425ec9..37be87d 100644 --- a/cli/version/version.go +++ b/cli/version/version.go @@ -16,10 +16,10 @@ var ( MajorVersion = 1 // MinorVersion of static-file-server. - MinorVersion = 4 + MinorVersion = 5 // FixVersion of static-file-server. - FixVersion = 1 + FixVersion = 0 // Text for directly accessing the static-file-server version. Text = fmt.Sprintf(