Secure Share is a One-Time Password (OTP) service: a lean, efficient solution, similar in concept to Snappass but optimized for ease of use and low resource consumption, with a total size of only 16MB. Designed to work out-of-the-box, it requires no initial configuration, making it ideal for quick deployments and hassle-free setup.
Running the service is as straightforward as executing the following command in the root of the repository:
docker compose up -d
then you can test the UI by connecting to localhost:8080
.
Here are all the environment variables that can be used:
Variable | Description | Default Value | Notes |
---|---|---|---|
REDIS_ADDR |
The address for the Redis server (if using Redis store). | redis:6379 |
Used when connecting to a Redis instance. |
REDIS_DB |
The name of the Redis database to use (if using Redis store). | "0" |
As a string. |
BASE_URL |
The base URL of the service. | http://localhost:8080 |
Useful for constructing URLs in responses. |
STORE_BACKEND |
Type of storage backend to use (redis or in-memory ). |
in-memory |
Choose redis for persistence, in-memory for simplicity. The in-memory store will reset if the container is restareted. |
DEBUG_MODE |
Toggles debug mode for additional logging. | false |
Set to true for verbose logging during development or troubleshooting. |
TITLE |
The title visible at the top of the page. | "Secure Share" |
Can be the name of the company. |
SUBTITLE |
The subtitle visible at the top of the page. | "Share short-lived secret that can be accessed only once." |
Can be the company tagline. |
Secure Share comes with a Helm chart for Kubernetes deployment. Here some configuration examples.
# ...
ingress:
enabled: false
config:
env:
STORE_BACKEND: "in-memory"
DEBUG_MODE: "true"
redis:
enabled: false
# ...
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: "nginx"
hosts:
- host: secure-share.yourcompany.com
paths: ["/"]
config:
env:
BASE_URL: "secure-share.yourcompany.com"
STORE_BACKEND: "in-memory"
redis:
enabled: false
# ...
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: "nginx"
hosts:
- host: secure-share.yourcompany.com
paths: ["/"]
config:
env:
REDIS_ADDR: "secure-share-redis-master.default.svc.cluster.local:6379"
BASE_URL: "secure-share.yourcompany.com"
STORE_BACKEND: "redis"
redisAuth:
secretName: "secure-share-redis"
secretKey: "redis-password"
redis:
enabled: true
auth:
password: "secretpassword" # Don't do this
This project is licensed under the MIT License - see the LICENSE file for details.