Single user snippet manager web app.
  • HTML 37.8%
  • Go 35.5%
  • JavaScript 13.1%
  • CSS 8.1%
  • TypeScript 4.7%
  • Other 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Mohamed Elashri 02b8ad4a99
Prepare v2.2.0 (#479)
* Prepare unreleased v2.2.0

* Ignore stale Monaco language completion responses
2026-11-05 06:07:15 +01:00
.codeql fix: Add URL validatio, snippet ID sanitization and a CodeQL configuration file (#112) 2026-02-07 07:17:16 +01:00
.github Prepare v2.1.0 with client UX and reliability improvements (#472) 2026-11-05 01:35:02 +01:00
assets/logo feat: Add first version of VSCode extension (#315) 2026-07-16 00:49:21 +02:00
cmd/server Bug Fixes in the Settings UI (#321) 2026-07-18 16:47:55 +02:00
docs Prepare v2.2.0 (#479) 2026-11-05 06:07:15 +01:00
e2e/api chore: Remove unused code and add comprehensive E2E testing (#429) 2026-10-08 15:52:21 +02:00
extension Prepare v2.2.0 (#479) 2026-11-05 06:07:15 +01:00
internal Prepare v2.2.0 (#479) 2026-11-05 06:07:15 +01:00
packages Prepare v2.2.0 (#479) 2026-11-05 06:07:15 +01:00
patches fix: clear user-controlled data from log entries (#311) 2026-07-13 14:57:51 +02:00
pkg/models chore: Remove unused code and add comprehensive E2E testing (#429) 2026-10-08 15:52:21 +02:00
scripts Add Ace, CodeMirror, and Monaco editor choices (#478) 2026-11-05 05:58:33 +01:00
tests/frontend Add Ace, CodeMirror, and Monaco editor choices (#478) 2026-11-05 05:58:33 +01:00
tui Prepare v2.2.0 (#479) 2026-11-05 06:07:15 +01:00
vscode-extension Prepare v2.2.0 (#479) 2026-11-05 06:07:15 +01:00
.dockerignore release: prepare coordinated v2.0.0 (#459) 2026-10-25 15:29:49 +01:00
.env.example Bug Fixes in the Settings UI (#321) 2026-07-18 16:47:55 +02:00
.gitattributes Add Ace, CodeMirror, and Monaco editor choices (#478) 2026-11-05 05:58:33 +01:00
.gitignore ci: fix dependabot go workspace issue and add npm (#413) 2026-10-06 09:59:47 +02:00
.node-version release: prepare coordinated v2.0.0 (#459) 2026-10-25 15:29:49 +01:00
.sanad.toml update deps (#457) 2026-10-25 08:36:01 +01:00
docker-compose.prod.yml fix: add configurable database memory settings to resolve 'out of memory' errors (#111) 2026-02-07 07:17:16 +01:00
docker-compose.yml docs: clarify Snipo Argon2 hash format and Docker Compose escaping (#330) 2026-07-19 12:11:03 +02:00
Dockerfile release: prepare coordinated v2.0.0 (#459) 2026-10-25 15:29:49 +01:00
Dockerfile.hardened release: prepare coordinated v2.0.0 (#459) 2026-10-25 15:29:49 +01:00
go.mod chore(deps): bump the aws-sdk group with 4 updates (#468) 2026-11-01 09:34:14 +01:00
go.sum chore(deps): bump the aws-sdk group with 4 updates (#468) 2026-11-01 09:34:14 +01:00
LICENSE Change licence to AGPLv3 (#83) 2026-02-07 07:17:14 +01:00
Makefile fix: fix makefile and update tui (#446) 2026-10-17 18:49:16 +02:00
package-lock.json Prepare v2.2.0 (#479) 2026-11-05 06:07:15 +01:00
package.json Add Ace, CodeMirror, and Monaco editor choices (#478) 2026-11-05 05:58:33 +01:00
README.md docs: place README screenshot after introduction (#463) 2026-10-31 21:58:41 +01:00
SECURITY.md docs: refactor the docs to be less verbose, more accurate and concise. (#277) 2026-07-01 01:04:38 +02:00

Snipo

A lightweight, self-hosted snippet manager for single users.
Secure your code snippets, organize them seamlessly, and access them from anywhere.

Snipo CI Snippy CI VS Code CI Extension CI Unified Release License: AGPL v3


What is Snipo?

Snipo is a self-hosted snippet management ecosystem built for developers who want complete control over their data. It is designed specifically for a single user, avoiding the complexity of tenant isolation and user accounts in favor of simplicity and strong security.

Whether you're in the terminal, IDE, or browser, Snipo ensures your code fragments, commands, and notes are always at your fingertips.

Note

: Snipo is designed for a single user. One master password protects the entire instance. No user management overhead!

Snipo demo showing 11 sample snippets, language labels, and tags
Captured from Snipo's demo mode with its built-in sample snippets.

See the multi-file code preview

Snipo demo REST API Client with three Python files, syntax highlighting, and tags

The demo's REST API Client includes api_client.py, config.py, and main.py. Run make demo locally and sign in with the password demo to explore it.

Quick Start

Getting started with Snipo via Docker is incredibly easy.

  1. Clone the repository:

    git clone https://github.com/MohamedElashri/snipo.git
    cd snipo
    
  2. Configure your environment: Create a .env file from the provided example and fill in the necessary placeholders (like your master password).

    cp .env.example .env
    chmod 600 .env
    
  3. Start the instance:

    docker compose up -d
    

Snipo will now be running on http://localhost:8080.

Important: Before exposing Snipo to the internet, please read the Deployment Guide for production recommendations!

The Snipo Ecosystem

Snipo extends far beyond a web interface. Check out the dedicated clients:

Client Description Link
Snippy Fast TUI (Terminal User Interface) client View TUI
VS Code Editor extension for seamless workflow View Extension
Browser Chrome & Firefox companion extension View Browser Ext

Documentation

Dive deeper into configuring, securing, and developing Snipo:

⚖️ License

Snipo is open-source software licensed under the GNU Affero General Public License v3.0.