No description
Find a file
dependabot[bot] dd9db91dd7
chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.14 to 1.32.16 (#210)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-19 09:11:01 +02:00
.codeql fix: Add URL validatio, snippet ID sanitization and a CodeQL configuration file (#112) 2026-02-07 07:17:16 +01:00
.github fix: export clean tag version to github env (#169) 2026-02-22 23:07:17 +01:00
cmd/server feat: display application version in the footer (#155) 2026-02-19 02:05:11 +01:00
docs fix: UI polish - text clipping, modal flicker, cancel button, copy alignment, Gist indicator (#206) 2026-04-08 15:41:43 +02:00
extension Security and UX Improvements for v1.3.2 (#96) 2026-02-07 07:17:14 +01:00
internal fix: UI polish - text clipping, modal flicker, cancel button, copy alignment, Gist indicator (#206) 2026-04-08 15:41:43 +02:00
migrations Add snippet expiration and auto-archive functionality (#205) 2026-04-07 02:08:29 +02:00
scripts Add snippet expiration and auto-archive functionality (#205) 2026-04-07 02:08:29 +02:00
tui chore: update help text to include 'n' for new snippet creation (#180) 2026-03-09 16:53:49 +01:00
.dockerignore Add extension directory to Docker build ignore paths (#109) 2026-02-07 07:17:16 +01:00
.env.example fix: add configurable database memory settings to resolve 'out of memory' errors (#111) 2026-02-07 07:17:16 +01:00
.gitignore Fix GitHub token persistence, sidebar mobile UX, and two-way gist sync (#153) 2026-02-16 04:18:28 +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 chore(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 (#145) 2026-02-07 08:13:53 +01:00
Dockerfile chore(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 (#145) 2026-02-07 08:13:53 +01:00
Dockerfile.hardened chore(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 (#145) 2026-02-07 08:13:53 +01:00
go.mod chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.14 to 1.32.16 (#210) 2026-04-19 09:11:01 +02:00
go.sum chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.14 to 1.32.16 (#210) 2026-04-19 09:11:01 +02:00
go.work.sum Add snippy - Terminal UI client for snippet management using Snipo (#71) 2025-12-28 17:50:08 +01:00
LICENSE Change licence to AGPLv3 (#83) 2026-02-07 07:17:14 +01:00
Makefile Add snippet expiration and auto-archive functionality (#205) 2026-04-07 02:08:29 +02:00
package.json fix: UI polish - text clipping, modal flicker, cancel button, copy alignment, Gist indicator (#206) 2026-04-08 15:41:43 +02:00
README.md chore: Improve snippet history tracking and restoration feature (#189) 2026-03-17 23:35:18 +01:00
SECURITY.md docs: Add Docker Compose warning for Argon2id hash variable substitution (#107) 2026-02-07 07:17:15 +01:00

Snipo

A lightweight, self-hosted snippet manager designed for single-user deployments.

Note: This project is intentionally scoped for single-user use. Multi-user features are not planned.

CI CI Release Go Version License: AGPL v3 GitHub release

Snipo Demo

Features

  • Fast & Lightweight: Built with Go and pure SQLite.
  • Powerful Search: Fuzzy search across titles, descriptions, and file content.
  • Organization: Organize snippets with folders and tags.
  • Public Sharing: Share snippets publicly with granular file-level access.
  • Version History: Automatic tracking of all changes with restore capabilities.
  • Trash & Recovery: Soft delete mechanism with restore capabilities.
  • GitHub Gist Sync: Two-way synchronization with GitHub Gists for backup.
  • Developer Friendly: RESTful API with tokens and granular permissions.
  • Docker Ready: Easy deployment with Docker and standard or hardened images.
  • Customizable: Extensive theming support via custom CSS.
  • RTL Support: Support for RTL languages with intelligent mixed-content handling.

Client Integrations

The Snipo RESTful API enables extensive client integration. As an example, the repository includes a ready-to-use Terminal User Interface (TUI) client:

  • Snippy: A rich TUI client showcasing a seamless, keyboard-driven integration with a running Snipo server.

Quick Start

# Create environment file
cat > .env << EOF
SNIPO_MASTER_PASSWORD=your-secure-password
SNIPO_SESSION_SECRET=$(openssl rand -hex 32)
SNIPO_ENCRYPTION_SALT=$(openssl rand -base64 32)
EOF

# Run with Docker Compose
docker compose up -d

Or using Docker directly:

docker run -d \
  -p 8080:8080 \
  -v snipo-data:/data \
  -e SNIPO_MASTER_PASSWORD=your-secure-password \
  -e SNIPO_SESSION_SECRET=$(openssl rand -hex 32) \
  -e SNIPO_ENCRYPTION_SALT=$(openssl rand -base64 32) \
  --name snipo \
  ghcr.io/mohamedelashri/snipo:latest

Access at http://localhost:8080

Binary

# Download latest release
curl -LO https://github.com/MohamedElashri/snipo/releases/latest/download/snipo_linux_amd64.tar.gz
tar xzf snipo_linux_amd64.tar.gz

# Configure and run
export SNIPO_MASTER_PASSWORD="your-secure-password"
export SNIPO_SESSION_SECRET=$(openssl rand -hex 32)
export SNIPO_ENCRYPTION_SALT=$(openssl rand -base64 32)
./snipo serve

Documentation

  • Deployment & Configuration: Installation, environment variables, reverse proxy setup, and database/API configuration.
  • Features Guide: In-depth guide to Search, Public Snippets, Gist Sync, API, and Arabic/RTL support.
  • Security: Security model, authentication modes, and best practices.
  • Customization: Theming, custom CSS, and RTL customization guide.
  • Development: Build instructions and contribution guidelines.
  • API Spec: OpenAPI specification.

License

This project is licensed under the AGPLv3. Use at your own risk.