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.
- 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.
# 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 -dOr 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:latestAccess at http://localhost:8080
# 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- 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.
This project is licensed under the AGPLv3. Use at your own risk.
