A self-hosted pastebin built with Flask. Supports syntax highlighting, file attachments, password-protected pastes, expiry options, and an admin panel. Live demo at https://p.wenberg.net.
- Syntax highlighting with auto-language detection
- Optional password protection with AES-256-GCM encryption at rest
- Expiry options: burn after read, 1h, 1d, 1w, or never
- File attachments (number of attachments is configurable)
- Fork pastes to create an editable copy
- Full-text search
- Admin panel - manage pastes, ban IPs, toggle maintenance mode
- Rate-limiting options
git clone https://github.com/redeuxx/whitespace.git
cd whitespace/
# set SECRET_KEY, ADMIN_USERNAME, ADMIN_PASSWORD
cp .env.example .env
docker compose up -d --buildApp runs at http://localhost:8118, admin at /admin. This app is meant to be run behind a reverse proxy that provides SSL.
See .env.example for all configuration options (file upload limits, rate limits, pagination, database URL).
cd whitespace/
git pull
docker compose up -d --build