diff --git a/README.md b/README.md index 07a5e37..059824d 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,7 @@ docker compose up - [Droppy](examples/droppy) (deprecated) - droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. It is particularly well-suited to be run on low-end hardware like the Raspberry Pi. - [PairDrop](examples/pairdrop) - PairDrop is a sublime alternative to AirDrop that works on all platforms. Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices. - [MinIO](examples/minio) - MinIO is an object storage server, compatible with Amazon S3 cloud storage service, mainly used for storing unstructured data (such as photos, videos, log files, etc.). +- [Transfer.sh](examples/transfer.sh) - Easy and fast file sharing from the command-line. ### Publishing, Writing, Blogging, Hosting - [Ghost](examples/ghost) - Ghost is a free and open source blogging platform written in JavaScript and distributed under the MIT License, designed to simplify the process of online publishing for individual bloggers as well as online publications. diff --git a/examples/transfer.sh/README.md b/examples/transfer.sh/README.md new file mode 100644 index 0000000..1611309 --- /dev/null +++ b/examples/transfer.sh/README.md @@ -0,0 +1,7 @@ +# References + +- https://github.com/dutchcoders/transfer.sh + +# Notes + +Ensure that the bind mount volume can be written by the container. diff --git a/examples/transfer.sh/docker-compose.yml b/examples/transfer.sh/docker-compose.yml new file mode 100644 index 0000000..fcdb6b0 --- /dev/null +++ b/examples/transfer.sh/docker-compose.yml @@ -0,0 +1,34 @@ +version: '3.3' + +services: + transfer: + image: dutchcoders/transfer.sh:latest-noroot + container_name: transfer + hostname: transfer + restart: unless-stopped + ports: + - 8080:8080/tcp + expose: + - 8080 + volumes: + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/transfer:/tmp + command: + - --provider=local + - --basedir=/tmp/ + #networks: + # - dev # or use dev for testing purposes + #labels: + # - traefik.enable=true + # - traefik.http.routers.transfer.rule=Host(`transfer.example.com`) + # - traefik.http.services.transfer.loadbalancer.server.port=8080 + # - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads + # - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads + # - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads + # - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads + # - traefik.docker.network=proxy + # # Part for optional traefik middlewares + # - traefik.http.routers.transfer.middlewares=local-ipwhitelist@file + +#networks: +# dev: # or use dev for testing purposes +# external: true