Self-hosted image uploader: public upload page, admin gallery, custom branding, SMB backup.
73
Self-hosted image uploader with a public upload page and a protected admin gallery. Guests upload photos from any phone or browser, no account needed; you collect, view and download everything in one place.
Built for events, teams, clubs and anyone who wants to collect photos without cloud services.
/app/data volumelinux/amd64 and linux/arm64 (e.g. Raspberry Pi 4/5)docker run -d --name image-uploader \
-p 3002:8080 \
-v ./data:/app/data \
--restart unless-stopped \
techbygiusi/picly:latest
Then:
docker logs image-uploaderhttp://SERVER-IP:3002/admin, enter the code and choose your admin username and passwordhttp://SERVER-IP:3002/ with your guestsservices:
image-uploader:
image: techbygiusi/picly:latest
container_name: image-uploader
ports:
- "3002:8080"
environment:
MAX_UPLOAD_MB: 25
MAX_UPLOAD_FILES: 30
volumes:
- ./data:/app/data
restart: unless-stopped
Update to the latest version:
docker compose pull && docker compose up -d
| Variable | Default | Description |
|---|---|---|
MAX_UPLOAD_MB | 50 | Max size per file in MB |
MAX_UPLOAD_FILES | 30 | Max files per upload |
MAX_PARALLEL_UPLOADS | 12 | Parallel upload requests |
MIN_FREE_SPACE_MB | 250 | Uploads are refused below this free disk space |
SETUP_CODE | auto | Fixed setup code instead of a generated one |
JWT_SECRET | auto | Session secret, generated and stored in /app/data if empty |
JWT_EXPIRATION | 24h | Admin session lifetime |
Everything lives in /app/data: uploads, admin account, settings, logo, timeline, backup config and preview cache. Back up this folder and you have everything.
Reset the admin account (images stay): delete data/admin.json and data/admin.json.bak, then restart the container.
Works behind Nginx, Caddy, Traefik or Cloudflare Tunnel. Allow large request bodies (e.g. client_max_body_size 512M; in Nginx) and long timeouts for big uploads.
AGPL-3.0 ยท made by TechByGiusiโ
Content type
Image
Digest
sha256:0af0e86b0โฆ
Size
73 MB
Last updated
20 days ago
docker pull techbygiusi/picly