pawelmalak / snippet-box

Snippet Box is a simple self-hosted app for organizing your code snippets. It allows you to easily create, edit, browse and manage your snippets in various languages.
MIT License
930 stars 80 forks source link
self-hosted snippets snippets-library snippets-manager

Snippet Box

Snippet library screenshot

Description

Snippet Box is a simple self-hosted app for organizing your code snippets. It allows you to easily create, edit, browse and manage your snippets in various languages. With built-in Markdown support, Snippet Box makes it very easy to add notes or simple documentation to your code.

Technology

Development

# clone repository
git clone https://github.com/pawelmalak/snippet-box
cd snippet-box

# install dependencies (run only once)
npm run init

# start backend and frontend development servers
npm run dev

Installation

With Docker

Docker Hub

Docker Hub image link. For arm platforms use :arm tag.

Building image

# Building image for Linux
docker build -t snippet-box .

# Build image for ARM
docker buildx build \
  --platform linux/arm/v7,linux/arm64 \
  -f Dockerfile.arm \
  -t snippet-box:arm .

Deployment

# run container
# for ARM use snippet-box:arm tag
docker run -p 5000:5000 -v /path/to/data:/app/data snippet-box

Docker Compose

version: '3'
services:
  snippet-box:
    image: pawelmalak/snippet-box:latest
    container_name: snippet-box
    volumes:
      - /path/to/host/data:/app/data
    ports:
      - 5000:5000
    restart: unless-stopped

Without Docker

Follow instructions from wiki - Installation without Docker

Functionality

Homescreen screenshot

Snippet library screenshot

Snippet screenshot

Editor screenshot

Usage

Search functionality

Visit wiki for search functionality and available filters reference: Search functionality