Was ist Microbin?
Microbin ist ein minimalistischer, selbst-gehosteter Pastebin-Dienst – ideal zum Teilen von Code, Logs, Konfigurationen oder Text-Snippets. Anders als öffentliche Dienste wie Pastebin.com bleibt alles unter deiner Kontrolle: verschlüsselt, mit Passwortschutz, automatischer Löschung und QR-Code.
Architektur
Client (Browser)
│
▼
Nginx (SSL:443)
│
▼
Microbin (Docker:8080)
│
▼
microbin_data (SQLite + Files)
Super simpel – nur ein Container, eine SQLite-Datenbank, keine externen Abhängigkeiten.
1. docker-compose.yml
services:
microbin:
container_name: microbin
image: danielszabo99/microbin:latest
restart: unless-stopped
ports:
- "127.0.0.1:9765:8080"
volumes:
- ./microbin_data:/app/microbin_data
env_file:
- .env
environment:
- MICROBIN_PUBLIC_PATH=https://paste.example.com
- MICROBIN_PORT=8080
- MICROBIN_WIDE=true
- MICROBIN_HIGHLIGHTSYNTAX=true
- MICROBIN_QR=true
- MICROBIN_EDITABLE=true
- MICROBIN_PRIVATE=true
- MICROBIN_NO_LISTING=true
- MICROBIN_ENABLE_BURN_AFTER=true
- MICROBIN_GC_DAYS=90
- MICROBIN_DEFAULT_EXPIRY=24hour
.env (Umgebungsvariablen)
MICROBIN_ADMIN_USERNAME=admin MICROBIN_ADMIN_PASSWORD=DEIN_SICHERES_PASSWORT
2. Nginx Reverse-Proxy
server {
listen 443 ssl http2;
server_name paste.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:9765;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_redirect off;
client_max_body_size 10M;
}
}
3. Alle Environment-Variablen erklärt
| Variable | Wert | Beschreibung |
|---|---|---|
MICROBIN_PUBLIC_PATH |
https://paste.example.com | Öffentliche URL (wichtig für QR-Codes & Links) |
MICROBIN_WIDE |
true | Breites Layout für mehr Platz |
MICROBIN_HIGHLIGHTSYNTAX |
true | Syntax-Highlighting für Code |
MICROBIN_QR |
true | QR-Code für jeden Paste generieren |
MICROBIN_EDITABLE |
true | Pastes nachträglich bearbeitbar |
MICROBIN_PRIVATE |
true | Nur mit Link einsehbar (keine öffentliche Liste) |
MICROBIN_NO_LISTING |
true | Keine öffentliche Paste-Liste |
MICROBIN_ENABLE_BURN_AFTER |
true | Paste nach einmaligem Lesen löschen |
MICROBIN_GC_DAYS |
90 | Autom. Aufräumen nach 90 Tagen |
MICROBIN_DEFAULT_EXPIRY |
24hour | Standard-Ablaufzeit: 24h |
4. Schnellstart
# Verzeichnis anlegen mkdir -p /opt/microbin && cd /opt/microbin # docker-compose.yml erstellen (siehe oben) nano docker-compose.yml # .env mit Admin-Zugang nano .env # Stack starten docker compose up -d # Prüfen docker compose ps curl http://127.0.0.1:9765
5. Nginx-Konfiguration für ISPConfig
Wenn Microbin hinter ISPConfig läuft, nutze die ISPConfig-Web-GUI, um die Domain paste.example.com anzulegen, und füge in der Nginx-Direktiven-Option folgendes ein:
location / {
proxy_pass http://127.0.0.1:9765;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_redirect off;
client_max_body_size 10M;
}
6. Funktionen im Detail
🔒 Privatmodus
Mit MICROBIN_PRIVATE=true sind alle Pastes standardmäßig privat – nur wer den direkten Link kennt, kann sie sehen. Perfekt für Team-internen Austausch.
🔥 Burn after reading
Pastes können so konfiguriert werden, dass sie sich nach dem ersten Aufruf selbst zerstören. Ideal für Passwörter, API-Keys oder temporäre Zugangsdaten.
📱 QR-Codes
Jeder Paste bekommt automatisch einen QR-Code generiert. Perfekt zum Teilen per Handy – einfach scannen und los.
🧹 Auto-Cleanup
Microbin löscht automatisch Pastes, die älter als 90 Tage sind (MICROBIN_GC_DAYS=90). Der Speicher bleibt sauber.
✨ Syntax-Highlighting
Code wird automatisch farbig hervorgehoben. Unterstützt die gängigsten Sprachen (Python, JavaScript, Go, Bash, YAML, JSON, etc.).
7. Backup
Da Microbin SQLite nutzt, reicht ein einfaches File-Backup:
# Container stoppen docker compose down # Daten sichern tar -czf microbin-backup-$(date +%Y%m%d).tar.gz microbin_data/ # Container starten docker compose up -d
Fazit
Microbin ist mit einem Docker-Container in 5 Minuten einsatzbereit. Perfekt als privater Pastebin-Dienst für Entwickler, Teams oder den eigenen Bedarf.
🔗 GitHub: danielszabo99/microbin | Weitere Projekte auf GitHub