A code snippet storage solution written in React & node.js
TypeScript
2,541
388 commits
updated Sep 28, 2026
ByteStash is a self-hosted web application designed to store, organise, and manage your code snippets efficiently. With support for creating, editing, and filtering snippets, ByteStash helps you keep track of your code in one secure place.

Check out the ByteStash demo powered by PikaPods!
Username: demo
Password: demodemo
ByteStash is now on the Unraid App Store! Install it from there.
Also available on PikaPods for 1-click install from $1/month.
ByteStash can also be hosted manually via the docker-compose file:
services:
bytestash:
image: "ghcr.io/jordan-dalby/bytestash:latest"
restart: always
volumes:
- /your/snippet/path:/data/snippets
ports:
- "5000:5000"
environment:
# See https://github.com/jordan-dalby/ByteStash/wiki/FAQ#environment-variables
#ALLOWED_HOSTS: localhost,my.domain.com,my.domain.net
BASE_PATH: ""
TOKEN_EXPIRY: 24h
ALLOW_NEW_ACCOUNTS: "true"
DEBUG: "true"
DISABLE_ACCOUNTS: "false"
DISABLE_INTERNAL_ACCOUNTS: "false"
# See https://github.com/jordan-dalby/ByteStash/wiki/Single-Sign%E2%80%90on-Setup for more info
OIDC_ENABLED: "false"
OIDC_DISPLAY_NAME: ""
OIDC_ISSUER_URL: ""
OIDC_CLIENT_ID: ""
OIDC_CLIENT_SECRET: ""
OIDC_SCOPES: ""
Once the server is running you can explore the API via Swagger UI. Open
/api-docs in your browser to view the documentation for all endpoints.
ByteStash exposes a remote Model Context Protocol endpoint so AI assistants such as Claude (desktop & web), OpenAI/ChatGPT and Perplexity can search, read and manage your snippets directly.
https://<your-host>/mcp (or https://<your-host><BASE_PATH>/mcp when a
base path is configured). It is served on the same host/port as the app, so nothing extra
needs to be exposed in your deployment.Authorization: Bearer <api-key>
(or the x-api-key header). The MCP tools only ever access snippets owned by that key.list_snippets, get_snippet, create_snippet, update_snippet, delete_snippet,
list_metadata.
claude_desktop_config.json):
{
"mcpServers": {
"bytestash": {
"type": "http",
"url": "https://your-host/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
https://your-host/mcp and supply the Authorization: Bearer YOUR_API_KEY header.{
"type": "mcp",
"server_label": "bytestash",
"server_url": "https://your-host/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
Authorization header.The endpoint requires HTTPS for remote clients — terminate TLS at your reverse proxy/ingress as you already do for the web UI.
Contributions are welcome! Please submit a pull request or open an issue for any improvements or bug fixes.
To add phrases for a new language, follow these steps. Example for fr locale:
Locale enum in the client/src/i18n/types.ts filelocales array in the client/i18next.config.ts filecd client && npm run i18n:extract__TRANSLATE_ME__ lines with the desired phrasesclient/src/i18n/resources/fr.tsclient/src/i18n/resources/index.tsnpm run devcd client && npm run start215 followers · starred Jun 2026
4,097 followers · starred Jan 2025
15 followers · starred Sep 2025
183 followers · starred Jan 2025
TypeScript
72.6%
JavaScript
23.0%
Python
2.2%
Shell
1.0%
A code snippet storage solution written in React & node.js
TypeScript
2,541
388 commits
updated Sep 28, 2026
ByteStash is a self-hosted web application designed to store, organise, and manage your code snippets efficiently. With support for creating, editing, and filtering snippets, ByteStash helps you keep track of your code in one secure place.

Check out the ByteStash demo powered by PikaPods!
Username: demo
Password: demodemo
ByteStash is now on the Unraid App Store! Install it from there.
Also available on PikaPods for 1-click install from $1/month.
ByteStash can also be hosted manually via the docker-compose file:
services:
bytestash:
image: "ghcr.io/jordan-dalby/bytestash:latest"
restart: always
volumes:
- /your/snippet/path:/data/snippets
ports:
- "5000:5000"
environment:
# See https://github.com/jordan-dalby/ByteStash/wiki/FAQ#environment-variables
#ALLOWED_HOSTS: localhost,my.domain.com,my.domain.net
BASE_PATH: ""
TOKEN_EXPIRY: 24h
ALLOW_NEW_ACCOUNTS: "true"
DEBUG: "true"
DISABLE_ACCOUNTS: "false"
DISABLE_INTERNAL_ACCOUNTS: "false"
# See https://github.com/jordan-dalby/ByteStash/wiki/Single-Sign%E2%80%90on-Setup for more info
OIDC_ENABLED: "false"
OIDC_DISPLAY_NAME: ""
OIDC_ISSUER_URL: ""
OIDC_CLIENT_ID: ""
OIDC_CLIENT_SECRET: ""
OIDC_SCOPES: ""
Once the server is running you can explore the API via Swagger UI. Open
/api-docs in your browser to view the documentation for all endpoints.
ByteStash exposes a remote Model Context Protocol endpoint so AI assistants such as Claude (desktop & web), OpenAI/ChatGPT and Perplexity can search, read and manage your snippets directly.
https://<your-host>/mcp (or https://<your-host><BASE_PATH>/mcp when a
base path is configured). It is served on the same host/port as the app, so nothing extra
needs to be exposed in your deployment.Authorization: Bearer <api-key>
(or the x-api-key header). The MCP tools only ever access snippets owned by that key.list_snippets, get_snippet, create_snippet, update_snippet, delete_snippet,
list_metadata.
claude_desktop_config.json):
{
"mcpServers": {
"bytestash": {
"type": "http",
"url": "https://your-host/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
https://your-host/mcp and supply the Authorization: Bearer YOUR_API_KEY header.{
"type": "mcp",
"server_label": "bytestash",
"server_url": "https://your-host/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
Authorization header.The endpoint requires HTTPS for remote clients — terminate TLS at your reverse proxy/ingress as you already do for the web UI.
Contributions are welcome! Please submit a pull request or open an issue for any improvements or bug fixes.
To add phrases for a new language, follow these steps. Example for fr locale:
Locale enum in the client/src/i18n/types.ts filelocales array in the client/i18next.config.ts filecd client && npm run i18n:extract__TRANSLATE_ME__ lines with the desired phrasesclient/src/i18n/resources/fr.tsclient/src/i18n/resources/index.tsnpm run devcd client && npm run start215 followers · starred Jun 2026
4,097 followers · starred Jan 2025
15 followers · starred Sep 2025
183 followers · starred Jan 2025
TypeScript
72.6%
JavaScript
23.0%
Python
2.2%
Shell
1.0%