Skip to content

MohamedElashri/snipo

Repository files navigation

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.
  • 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.

Quick Start

Docker (Recommended)

# 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: In-depth guide to Search, Public Snippets, Gist Sync, and API.
  • Security: Security model, authentication modes, and best practices.
  • Customization: Theming and custom CSS guide.
  • Development: Build instructions and contribution guidelines.
  • API Spec: OpenAPI specification.

License

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

About

Single user snippet manager web app.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •