Deploying a Yopass App
Introduction
Yopass is a minimal secret sharing service that encrypts data in the browser and stores it temporarily server-side. This guide shows how to package Yopass with a Dockerfile and deploy it to Klutch.sh over HTTP with sensible security defaults.
Prerequisites
- GitHub repository containing your Dockerfile.
- Optional Redis instance if you prefer Redis-backed storage; otherwise, Yopass uses in-memory storage.
- Klutch.sh project ready in klutch.sh/app.
Project structure
.└── DockerfileSample Dockerfile
FROM jotptr/yopass:latest
# Default Yopass HTTP portENV PORT=80EXPOSE 80Recommended environment variables
PORT=80– internal port for the HTTP server.YOPASS_MAX_FILE_SIZE=5242880– limit file uploads (5 MB example).YOPASS_MAX_MESSAGE_LENGTH=10000– max message size.YOPASS_EXPIRATION=24h– default expiration for secrets.- Optional Redis:
YOPASS_STORAGE=redisYOPASS_REDIS=redis://:PASSWORD@HOST:6379/0
Persistence
Yopass is designed for ephemeral secret storage. No local volume is required unless you customize logging.
Networking
- Protocol: HTTP
- Internal port:
80 - Users reach
https://example-app.klutch.shwhile Klutch.sh routes to port80inside the container.
Health check (recommended)
curl -I http://localhostDeployment on Klutch.sh
- Push your Dockerfile to GitHub.
- In klutch.sh/app, create a new app and select GitHub as the source.
- Klutch.sh automatically detects the Dockerfile in the repository root.
- Select HTTP traffic and set the internal port to
80. - Add environment variables for limits (
YOPASS_MAX_FILE_SIZE,YOPASS_MAX_MESSAGE_LENGTH,YOPASS_EXPIRATION). If using Redis, setYOPASS_STORAGE=redisandYOPASS_REDIS. Mark secrets as sensitive. - Deploy. Once live, share the public URL for secure, time-limited secret links.
Verification
-
UI: open
https://example-app.klutch.shand confirm the Yopass form loads. -
Quick check:
Terminal window curl -I https://example-app.klutch.sh
Next steps
- Restrict access to trusted users via your edge controls.
- Tune expiration and size limits to match your security policies.
- If using Redis, enable backups or snapshots according to your retention needs.