OpenSource self-hosted solution to transfer disposable links, like onetimesecret.com
docker run --rm -p 9000:9000 dessolo/enigma2:latest
see deployments examples
- Secure:
- Secrets are encrypted using AES-256.
- Secrets are deleted immediately after being viewed.
- An optional confirmation step prevents accidental secret exposure.
- Flexible Configuration:
- Configure the application with a single
config.yml
file. - Pluggable storage backends: use in-memory for testing or Redis for production.
- Set a lifetime for secrets.
- Customize secret token length.
- Configure the application with a single
- Easy to Deploy and Scale:
- Ready-to-use Docker image and Docker Compose example.
- Stateless server design allows for horizontal scaling.
- Healthcheck endpoint for service monitoring.
- Developer Friendly:
- Easily rebrand and customize HTML templates (see Customisation).
- Structured request logging with request IDs for easier debugging.
- Graceful shutdown to prevent data loss.
For more details see example config.
Default config file path is /etc/enigma2/config.yml
. You can override it by specifying the path in the CONFIG_FILE_PATH
environment variable.
val: memory
Keeping all secrets in memory
⚠️ Attention! not for productions use!!!: old secrets are removed only on request, please choose another storages, like redis
val: redis
Keeping all secrets in redis
docker build -t enigma .
make build-server
docker run --rm --name="enigma" -p 9000:9000 localhost/enigma
./enigma2_server_{VERSION}_{OS}_{ARCH}
You can change the html templates to suit your needs.