mirror of
https://github.com/pldubouilh/gossa
synced 2025-12-06 08:22:32 +01:00
commit
e4ff35d78b
7 changed files with 65 additions and 11 deletions
|
|
@ -1,4 +0,0 @@
|
|||
FROM alpine
|
||||
EXPOSE 8001
|
||||
COPY gossa /gossa
|
||||
ENTRYPOINT [ "/gossa", "-h", "0.0.0.0", "/shared" ]
|
||||
2
Makefile
2
Makefile
|
|
@ -26,7 +26,7 @@ ci-watch:
|
|||
|
||||
build-all:
|
||||
make embed
|
||||
env GOOS=linux GOARCH=amd64 go build gossa.go
|
||||
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build gossa.go
|
||||
mv gossa gossa-linux64
|
||||
env GOOS=linux GOARCH=arm go build gossa.go
|
||||
mv gossa gossa-linux-arm
|
||||
|
|
|
|||
8
docker/build.Dockerfile
Normal file
8
docker/build.Dockerfile
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
FROM golang:latest as builder
|
||||
COPY . /gossaSrc
|
||||
RUN cd /gossaSrc && make
|
||||
|
||||
FROM alpine
|
||||
EXPOSE 8001
|
||||
COPY --from=builder /gossaSrc/gossa /gossa
|
||||
ENTRYPOINT [ "/gossa", "-h", "0.0.0.0", "/shared" ]
|
||||
22
docker/caddy.Dockerfile
Normal file
22
docker/caddy.Dockerfile
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
FROM alpine
|
||||
|
||||
# download and prepare caddy
|
||||
RUN apk update && apk add curl ca-certificates
|
||||
RUN curl -L -o caddy.tar.gz "https://github.com/mholt/caddy/releases/download/v0.11.1/caddy_v0.11.1_linux_amd64.tar.gz"
|
||||
RUN tar xvzf caddy.tar.gz && mv caddy /caddy
|
||||
|
||||
# download and prepare gossa
|
||||
RUN curl -L -o /gossa "https://github.com/pldubouilh/gossa/releases/download/v0.0.4/gossa-linux64"
|
||||
RUN chmod +x /gossa /caddy
|
||||
|
||||
# Caddy config:
|
||||
# * http basic auth is implemented here, with bob as user and dylan as password
|
||||
# * to enable https just set a valid domain instead of *:8001 - how simple !
|
||||
RUN echo -e '\n\
|
||||
*:8001\n\
|
||||
basicauth / bob dylan\n\
|
||||
proxy / 127.0.0.1:8000\n\
|
||||
'>> /Caddyfile
|
||||
|
||||
RUN echo -e '/gossa -h 127.0.0.1 -p 8000 /shared & \n /caddy'>> /start.sh
|
||||
ENTRYPOINT [ "sh", "/start.sh" ]
|
||||
5
docker/download.Dockerfile
Normal file
5
docker/download.Dockerfile
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
FROM alpine
|
||||
EXPOSE 8001
|
||||
RUN wget https://github.com/pldubouilh/gossa/releases/download/v0.0.4/gossa-linux64 && mv gossa-linux64 /gossa && chmod +x /gossa
|
||||
ENTRYPOINT [ "/gossa", "-h", "0.0.0.0", "/shared" ]
|
||||
|
||||
22
docker/readme.md
Normal file
22
docker/readme.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
```sh
|
||||
# download latest gossa release
|
||||
docker build -t gossa -f download.Dockerfile .
|
||||
|
||||
# ... or build gossa within a build container, needs to be ran within the sources, ../ from here
|
||||
docker build -t gossa -f docker/build.Dockerfile .
|
||||
|
||||
# and to run it simply
|
||||
sudo docker run -v ~/LocalDirToShare:/shared -p 8001:8001 gossa
|
||||
```
|
||||
|
||||
|
||||
a fancy docker image using [Caddy](https://caddyserver.com/) is also provided. a simple config is embedded in the docker file, and shows how to use http basic authentication, and automatic TLS for hands-free https 🎉
|
||||
|
||||
```sh
|
||||
# run with caddy, checkout the config in the dockerfile
|
||||
docker build -t gossa -f caddy.Dockerfile .
|
||||
|
||||
# run with caddy
|
||||
sudo docker run -v ~/LocalDirToShare:/shared --net=host gossa
|
||||
```
|
||||
|
||||
13
readme.md
13
readme.md
|
|
@ -52,13 +52,14 @@ make
|
|||
|drag-and-drop external item | upload file/folders|
|
||||
|
||||
### using with docker
|
||||
a pretty short docker file is provided
|
||||
multiple dockerfiles are provided in the `docker` folder. to simply get started just have a look below
|
||||
|
||||
|
||||
```sh
|
||||
# build docker image
|
||||
make
|
||||
docker build -t gossa .
|
||||
# build
|
||||
cd docker
|
||||
docker build -t gossa -f download .
|
||||
|
||||
# run
|
||||
sudo docker run -v ~/ToShare:/shared -p 8001:8001 gossa
|
||||
```
|
||||
sudo docker run -v ~/LocalDirToShare:/shared -p 8001:8001 gossa
|
||||
```
|
||||
|
|
|
|||
Loading…
Reference in a new issue