Services Documentation¶
This directory contains detailed documentation for each service deployed in the infrastructure.
Available Services¶
Core Infrastructure¶
- Traefik - Reverse proxy and SSL termination
- Automatic HTTPS via Cloudflare
- Service discovery and routing
- Load balancing and health checks
-
Authentication integration
-
Authentik - OAuth2/OIDC authentication provider
- Centralized single sign-on (SSO)
- User and group management
- Forward authentication for services
-
Session management and security policies
-
Supabase - Backend-as-a-Service platform
- PostgreSQL database with extensions
- Authentication service (GoTrue)
- REST API generation (PostgREST)
- Object storage
- Real-time subscriptions
Authentication Integration¶
The infrastructure implements a comprehensive dual-route authentication strategy using Authentik that provides:
- Centralized Single Sign-On (SSO): One authentication system for all services
- Browser Protection: Web interfaces secured by OAuth2/OIDC authentication
- API Accessibility: Programmatic access maintained without authentication barriers
- Priority-Based Routing: Smart routing that differentiates between human and machine access
Protected Services¶
The following services are currently protected by Authentik authentication:
- Infrastructure: Prometheus, Portainer, Rclone, Glance
- Applications: LiteLLM, Apprise, Paperless-AI, Metube
Documentation¶
- Authentication Strategy - Complete overview and implementation guide
- Authentik Service - Service setup and configuration
- Traefik Auth Middleware - Technical middleware documentation
Development Tools¶
- Gitea - Self-hosted Git service
- Git repository hosting
- Web-based repository management
- Issue tracking and pull requests
- Webhook integrations
-
GitHub sync capabilities
-
Pocketbase - Lightweight backend for rapid development
- SQLite database
- Built-in auth and user management
- Real-time subscriptions
- File storage
-
Admin dashboard
-
CodeScribe - Code documentation generator for AI context
- Directory scanning with .gitignore support
- Markdown documentation generation
- Security scanning for secrets detection
- Token counting for multiple AI models
- REST API, MCP server, and CLI interfaces
- Remote repository processing (GitHub, GitLab, etc.)
AI/ML Services¶
- LiteLLM - AI/LLM proxy service
- Unified API for multiple LLM providers
- Request routing and load balancing
- Usage tracking and analytics
- Virtual keys for cost control and security isolation
-
Virtual Keys Implementation - Enhanced security and budget management
-
Ollama - Local LLM runtime
- Run open-source models locally
- Model management
- GPU acceleration support
-
REST API interface
-
Open WebUI - Web interface for LLMs
- Chat interface for multiple models
- Conversation management
- Model switching
-
Integration with Ollama and OpenAI-compatible APIs
-
Paperless-AI - AI-powered document management
- Intelligent document classification and tagging
- OCR with multiple language support
- RAG (Retrieval-Augmented Generation) for semantic search
- Natural language document queries
- Automated workflow processing
Automation & Workflows¶
- n8n - Workflow automation platform
- Visual workflow builder
- API integrations with infrastructure services
- Scheduled and webhook-triggered workflows
-
Custom nodes and community integrations
-
StackWiz MCP - AI-powered Docker stack management
- Natural language commands for stack operations
- Model Context Protocol (MCP) server
- Integrates with Claude, Cline, and other AI assistants
- Automated Docker Compose generation and management
Monitoring & Observability¶
- Monitoring Stack - Complete observability platform
- Prometheus for metrics collection
- Grafana for visualization
- Loki for log aggregation
- AlertManager for alert routing
- Multiple exporters for comprehensive metrics
Network Services¶
- AdGuard Home - DNS filtering and ad blocking
- Network-wide ad and tracker blocking
- Malware and phishing protection
- Custom filtering rules and whitelists
- DNS-over-HTTPS and DNS-over-TLS support
- Detailed query statistics and analytics
Notification & Communication¶
- Notification Stack - Unified notification system
- Apprise for 100+ notification service integrations
- ntfy for push notifications with authentication
- Mailrise SMTP gateway for legacy applications
- Uptime Kuma for service monitoring and alerts
Backup & Storage¶
- Rclone - Cloud storage backup and sync service
- Automated backups to cloud storage providers
- Scheduled synchronization of critical data
- Support for 70+ cloud storage backends
- Encrypted transfers and storage
- Bandwidth limiting and scheduling
Container Management¶
- Watchtower - Automated Docker container updates
- Monitors running containers for newer image versions
- Graceful container restarts with minimal downtime
- Email notifications for all update activities
- Selective exclusion of critical infrastructure services
- Automatic cleanup of old Docker images
Media & Content¶
- Metube - YouTube and video platform downloader
- Web-based interface for video downloads
- Support for 1000+ video platforms via yt-dlp
- Queue management with concurrent downloads
- Format and quality selection
-
Subtitle support and embedding
-
Stremthru - Streaming proxy service for debrid providers
- Unified API for multiple debrid services (Real-Debrid, AllDebrid, etc.)
- IP restriction bypassing through proxy streaming
- Improved compatibility with streaming players
- Redis caching for performance optimization
-
Integration with TMDB, Trakt, and GitHub APIs
-
AIOStreams - Lightweight Stremio addon for debrid services
- Simple alternative to Stremthru with no database dependencies
- Direct Stremio integration with preset addon configurations
- Support for Real-Debrid, AllDebrid, Premiumize, and 5+ other services
- Local SQLite storage for configuration and caching
- Web-based configuration interface with custom addon support
Service Categories¶
Databases¶
- PostgreSQL (via Supabase) - Primary relational database
- SQLite (via Pocketbase) - Lightweight application databases
Authentication¶
- Supabase Auth - Full-featured authentication service
- Pocketbase Auth - Simple auth for small applications
- Gitea Auth - Git service user management
Storage¶
- Supabase Storage - S3-compatible object storage
- Pocketbase Storage - File attachments for records
- Gitea LFS - Large file storage for Git
- Rclone - Cloud storage backup and synchronization
API Services¶
- PostgREST (Supabase) - Auto-generated REST APIs
- Pocketbase API - REST and realtime APIs
- Gitea API - Repository and user management
- LiteLLM API - Unified LLM access
Quick Start Guides¶
Deploy a New Service¶
# Using StackWiz for generic services
stackwiz service-name
# For Pocketbase-based apps
stackwiz --pocketbase app-name
# With automatic DNS creation
stackwiz --create-dns service-name
Access Services¶
All services are accessible via HTTPS with automatic SSL certificates:
- Traefik Dashboard: Internal only (port 8080)
- Supabase Studio: https://supabase.rbnk.uk
- Gitea: https://gitea.rbnk.uk
- LiteLLM: https://litellm.rbnk.uk
- n8n: https://n8n.rbnk.uk
- Grafana: https://grafana.rbnk.uk
- Prometheus: https://prometheus.rbnk.uk (protected)
- AdGuard: https://dns.rbnk.uk
- Rclone: https://rclone.rbnk.uk (web GUI interface)
- Apprise: https://apprise.rbnk.uk (notification aggregator)
- ntfy: https://ntfy.rbnk.uk (push notifications)
- Uptime Kuma: https://uptime.rbnk.uk (service monitoring)
- Metube: https://metube.rbnk.uk (video downloader)
- Stremthru: https://stremthru.rbnk.uk (streaming proxy)
- AIOStreams: https://aiostreams.rbnk.uk (Stremio addon for debrid services)
- CodeScribe: https://codescribe.rbnk.uk (code documentation API)
- Other services: https://[service-name].rbnk.uk
Common Operations¶
-
View Service Logs:
-
Restart Service:
-
Update Service:
-
Check Service Health:
Service Dependencies¶
graph TD
A[Traefik] --> B[Supabase]
A --> C[Gitea]
A --> D[LiteLLM]
A --> E[Pocketbase Apps]
A --> F[Open WebUI]
A --> I[n8n]
A --> K[StackWiz MCP]
A --> N[CodeScribe]
B --> G[PostgreSQL]
C --> G
F --> D
F --> H[Ollama]
I --> B
I --> C
I --> J[External APIs]
K --> L[Docker API]
K --> M[File System]
N --> M
N --> O[Git Repos]
style A fill:#f9f,stroke:#333,stroke-width:4px
style G fill:#9ff,stroke:#333,stroke-width:4px
style I fill:#ff9,stroke:#333,stroke-width:2px
style K fill:#f96,stroke:#333,stroke-width:2px
style N fill:#9f9,stroke:#333,stroke-width:2px
Backup and Recovery¶
All services follow a consistent backup strategy:
- Database Backups: Daily automated backups of PostgreSQL and SQLite databases
- Configuration Backups: Service configurations and environment files
- Data Backups: User uploads, Git repositories, and other persistent data
- Recovery Procedures: Documented in each service's guide
Security Considerations¶
- Network Isolation: Services use separate Docker networks
- SSL/TLS: All external traffic encrypted via Traefik
- Authentication: Multiple auth providers and methods
- Access Control: Role-based permissions and API keys
- Secrets Management: Environment variables and secure storage
Monitoring and Maintenance¶
- Health Checks: Built into Docker Compose configurations
- Log Aggregation: Centralized logging for troubleshooting
- Update Schedule: Regular updates following security advisories
- Performance Metrics: Resource usage monitoring
For specific details about each service, refer to their individual documentation files.