A portable web file manager and gallery
50K+
Point pupcloud to a local folder and instantly get its contents exposed as a web application. Browse, manage, share files... in a truly portable way!
Pupcloud doesn't need a database, nor it leaves .dotfiles on the filesystem; it is packaged as a single executable file (written in Go+Svelte+Typescript), so you'll just need to download and run it.
It is an exercise in minimalism: it aims to be as simple as possible, while retaining all the features you would like it to have. Just run it! It has everything that fits in a pup-sized cloud ;-)
If you are curious, go see the Demo!
The image is based on Alpine. It's a multiarch image for amd64, ARM and ARM64.
Here are the relevant configurations:
| Parameter | Value | Notes |
|---|---|---|
| Exposed port | -p xxxx:17178 | Fixed; remap it with -p |
| Config dir | -v [...]:/data | Fixed; remap it with -v |
| User | -e PUID=1001 | If not specified, 1000 |
| Group | -e PGID=1001 | If not specified, 1000 |
Environment variables can be used to configure the various aspects of Pupcloud.
| Variable | Help |
|---|---|
-e PUP_TITLE="PupWow" | Title of the window |
-e PUP_FOLLOW_SYMLINKS=1 | Follow symlinks when traversing directories |
-e PUP_MAX_UPLOAD_SIZE=64 | The max size of an upload, in MiB |
-e PUP_PASSWORD=ciao | The main access password, if desired. Use --pwd-hash for a safer alternative |
-e PUP_PWD_HASH=5302bf | SHA256 hash of the main access password, if desired |
-e PUP_ALLOW_EDITS=1 | Allow edit operations to FS |
-e PUP_SHARE_PORT=12345 | The port of the sharing interface |
-e PUP_SHARE_PREFIX=http://localhost:12345 | The base URL of the sharing interface |
-e PUP_SHARE_PROFILES=k1:v1,k2:v2 | Profiles for sharing, in the form name:secret |
See Running Pupcloud for more info, and other variables (use with caution, the ones listed here are the "safe" ones).
docker run -d \
--restart=unless-stopped \
--name=pupcloud \
-p 8080:17178 \
-v /mnt/DockerHome/myDir:/data \
-e PUID=1001 \
-e PGID=1001 \
-e PUP_TITLE="MyPupCloud!" \
germanorizzo/pupcloud:latest
This command will install and run pupcloud, configuring it to:
/data in the docker environment (Line 5);Note: if you specify PUP_FOLLOW_SYMLINKS, please be aware that the links are resolved in the docker container, so the feature won't probably work. Use multiple bind/mounts inside /data instead.
Content type
Image
Digest
Size
5.7 MB
Last updated
over 4 years ago
docker pull germanorizzo/pupcloud