Productivity & Tools¶
Self-hosted productivity suite for password management, finance tracking, document organization, and information management. Privacy-focused alternatives to cloud services.
Security & Passwords¶
🔐 Vaultwarden¶
Lightweight Bitwarden server for password management. Self-hosted alternative with full compatibility with Bitwarden clients.
Features: - Password vault with encryption - Browser extensions - Mobile apps - TOTP 2FA generator - Secure sharing - Emergency access
Finance¶
💰 Actual Budget¶
Personal finance tracking with zero-based budgeting methodology. Self-hosted alternative to YNAB.
Features: - Bank sync capabilities - Budget categories - Goal tracking - Multi-device sync - Reports and analytics - Split transactions
Document Management¶
📄 Paperless-NGX¶
Document archiving and OCR system. Scan, index, and organize all paperwork digitally.
Features: - Automatic OCR - Tagging and metadata - Full-text search - Email import - Automated workflows - Mobile scanning app
Bookmarks & Links¶
🔖 Linkwarden¶
Bookmark and link management with archival capabilities. Save web content for offline access.
Features: - Bookmark organization - Full-page archival - Tag-based organization - Collaborative collections - Browser extensions - API access
🔗 LinkStack¶
Personal link landing page. Customizable bio link page for social media profiles.
Features: - Multiple link buttons - Analytics tracking - Theme customization - Social media icons - QR code generation
Web Monitoring¶
👁️ ChangeDetection.io¶
Webpage change monitoring and alerting. Track website updates and get notified of changes.
Features: - Visual and text diff - XPath/CSS selectors - Alert notifications - Scheduled checks - API monitoring - Screenshot comparison
File Management¶
📁 FileBrowser¶
Web-based file manager for VPS. Secure file access and management from anywhere.
Features: - File upload/download - Directory browsing - File sharing - User management - Mobile responsive - Search functionality
Productivity Architecture¶
Data Flow¶
Document Workflow:
Physical Document
↓
Scanner/Mobile App
↓
Paperless-NGX (OCR + Index)
↓
Searchable Archive
Web Content Workflow:
Interesting Article
↓
Linkwarden (Save + Archive)
↓
Offline Accessible Content
Password Workflow:
New Account
↓
Generate Password (Vaultwarden)
↓
Auto-fill via Browser Extension
↓
Encrypted Vault Storage
Storage Organization¶
/opt/stacks/productivity/
├── vaultwarden/
│ └── data/ # Encrypted vault
├── actual/
│ └── server-files/ # Budget database
├── paperless/
│ ├── data/ # Documents
│ ├── media/ # Scanned files
│ └── consume/ # Import folder
├── linkwarden/
│ └── data/ # Bookmarks and archives
└── changedetection/
└── datastore/ # Monitored pages
Integration Examples¶
Paperless-NGX Auto-Import¶
Email to Paperless:
# Fetch emails with attachments
PAPERLESS_CONSUMER_IMAP_ENABLED: true
PAPERLESS_CONSUMER_IMAP_SERVER: imap.gmail.com
PAPERLESS_CONSUMER_IMAP_PORT: 993
Watch Folder:
# Scan documents to this folder
/mnt/scanner/output → /opt/stacks/paperless/consume
# Paperless auto-imports and OCRs
Vaultwarden → Authelia SSO¶
Use Vaultwarden as identity provider for other services:
# authelia configuration
authentication_backend:
ldap:
implementation: custom
url: ldap://vaultwarden.local
ChangeDetection → Discord Alerts¶
# notification.yaml
webhook:
url: https://discord.com/api/webhooks/xxx
format: |
{
"content": "Change detected on {{watch_url}}",
"embeds": [{
"title": "{{watch_title}}",
"url": "{{watch_url}}",
"description": "{{diff_summary}}"
}]
}
Backup Strategy¶
Vaultwarden¶
# Daily automated backup
0 2 * * * /opt/scripts/backup-vaultwarden.sh
#!/bin/bash
# backup-vaultwarden.sh
docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup '/data/backup.sqlite3'"
tar -czf vaultwarden-$(date +%Y%m%d).tar.gz \
/opt/stacks/vaultwarden/data/
rsync -av vaultwarden-*.tar.gz /mnt/backup/vaultwarden/
Paperless-NGX¶
# Export documents and database
docker exec paperless document_exporter /export/
tar -czf paperless-export-$(date +%Y%m%d).tar.gz /export/
Actual Budget¶
# Automated sync to cloud storage
services:
actual-sync:
image: rclone/rclone
command: sync /data remote:backup/actual
volumes:
- /opt/stacks/actual/server-files:/data
Security Best Practices¶
Vaultwarden Security¶
- Strong Master Password – Use 20+ character passphrase
- 2FA Enabled – TOTP or hardware key required
- Disable Registration – After creating accounts
- Backup Encryption – Encrypt backup files
- HTTPS Only – Never expose over HTTP
- Regular Audits – Review password health reports
Access Control¶
# Traefik middleware for Authelia protection
labels:
- "traefik.http.routers.productivity.middlewares=authelia@docker"
Network Isolation¶
# Productivity services on internal network
networks:
productivity:
internal: true # No direct internet access
proxy:
external: true # Only reverse proxy connection
Mobile Access¶
Apps¶
Vaultwarden: - Official Bitwarden app (iOS/Android) - Browser autofill integration
Paperless-NGX: - Web UI (mobile-responsive) - Paperless Mobile (community app) - Document scanning via mobile camera
Actual Budget: - Web UI (PWA capable) - Mobile-optimized interface
Linkwarden: - Browser share menu integration - Mobile web UI
Automation Examples¶
Auto-Organize Documents¶
# Paperless-NGX pre-consume script
import os
import re
def preprocess(filename):
# Auto-tag based on filename patterns
if re.search(r'invoice', filename, re.I):
return {'tags': ['invoice'], 'correspondent': 'vendor'}
elif re.search(r'receipt', filename, re.I):
return {'tags': ['receipt'], 'document_type': 'expense'}
return {}
Budget Alert¶
// Actual Budget webhook
if (account.balance < 1000) {
sendAlert({
title: "Low Balance Warning",
message: `${account.name} balance is ${account.balance}`,
channel: "finance-alerts"
});
}
Performance Optimization¶
Paperless-NGX¶
# Optimize OCR performance
PAPERLESS_OCR_LANGUAGE: eng
PAPERLESS_OCR_MODE: skip # Skip if text already present
PAPERLESS_TASK_WORKERS: 2 # Parallel processing
PAPERLESS_THREADS_PER_WORKER: 1
Linkwarden¶
# Archive optimization
ARCHIVE_METHOD: screenshot # Faster than full-page
ARCHIVE_QUALITY: medium # Balance size vs quality
Best Practices¶
- Regular Backups – Automate daily backups of all productivity data
- Version Control – Keep configs in Git for disaster recovery
- Access Logs – Monitor authentication attempts
- Data Retention – Define policies for document archival
- Mobile Access – Ensure mobile-responsive interfaces
- Search Indexing – Maintain search indices for fast lookups
- Privacy First – Self-host to maintain data ownership
- Secure Sharing – Use encrypted sharing for sensitive data