Update readme and docker-compose example
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
2dbc274043
commit
2a01483028
43
README.md
43
README.md
@ -6,9 +6,52 @@ Serves files to the public, static content to any files in ./public
|
||||
|
||||
This is meant to be a spot for non-changing content, to host files to allow me to share with others. In most cases it'll be best practice to keep project-related files within the project directory and serve public static content from a webserver within that project.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
1. First, install [Go](https://golang.org/dl/).
|
||||
2. Then, install [Docker](https://docs.docker.com/engine/install/ubuntu/) - see left menu for other distibutions.
|
||||
3. Finally, install [docker-compose](sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose)
|
||||
|
||||
|
||||
### Build Application
|
||||
|
||||
```shell
|
||||
go build -a -ldflags '-w'
|
||||
```
|
||||
|
||||
You may need to log out and back in afterwards to ensure the "go" command is set in your PATH environment variable, otherwise it may say it's an invalid command.
|
||||
|
||||
### Build Container
|
||||
|
||||
Disclaimer! If you use this, you’ll need to build the container yourself. I have a CICD pipeline setup, but my registry is used for my internal infrastructure only and is not publicly available.
|
||||
|
||||
Because this is a staticly linked binary with no external runtime dependancies, the container literally only contains the binary file, keeping it clean and low in size (6.3MB). I never did understand why people include operating systems in containers.
|
||||
|
||||
```shell
|
||||
docker build -t publicfileserver:latest .
|
||||
```
|
||||
|
||||
### Example docker-compose.yml
|
||||
|
||||
```yaml
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
publicfileserver:
|
||||
image: publicfileserver:latest
|
||||
restart: always
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- /data/public:/public
|
||||
```
|
||||
|
||||
In this example, data stored on your host disk /data/public would be served
|
||||
|
||||
## Usage
|
||||
|
||||
```shell
|
||||
git clone https://deadbeef.codes/steven/deadbeef.codes-publicfileserver.git
|
||||
docker build -t publicfileserver:latest .
|
||||
docker-compose up -d
|
||||
```
|
||||
|
@ -2,7 +2,7 @@ version: '3.7'
|
||||
|
||||
services:
|
||||
publicfileserver:
|
||||
image: registry.deadbeef.codes/deadbeef.codes-publicfileserver:latest
|
||||
image: publicfileserver:latest
|
||||
restart: always
|
||||
ports:
|
||||
- 8080:8080
|
||||
|
Loading…
Reference in New Issue
Block a user