VPS
Appearance
VPS Documentation
Self-hosted services and applications running on the ejfvps infrastructure
Applications
- Main Website - ejfox.com - Personal site and blog (Nuxt.js)
- Archive Wiki - archive.ejfox.com - MediaWiki knowledge base
- Smallweb - *.ejfox.tools - Small self-hosted deno micro-apps
- Kuma Uptime Monitoring - status.tools.ejfox.com - Service availability tracking
- Personal APIs - ejfox.com/api/* - Self-quantification data endpoints
- ArchiveBox - snap.ejfox.com - Web archiving and snapshot preservation
- Smallweb - ejfox.tools - Personal app platform and development environment
- n8n - n8n.tools.ejfox.com - Workflow automation and API orchestration
- Grafana - grafana.tools.ejfox.com - System metrics and personal data dashboards
- Loki - loki.tools.ejfox.com - Log aggregation and analysis
- Umami Analytics - umami.tools.ejfox.com - Privacy-focused web analytics
Architecture
Domain Strategy
- ejfox.com - Main personal brand and API endpoints
- ejfox.tools - Development tools and utilities subdomain
- *.tools.ejfox.com - Individual tool subdomains for organized access, powered by smallweb
- archive.ejfox.com - Knowledge management and documentation
- room302.studio - Studio work
Port Mapping
Service | Internal Port | Public URL | Purpose |
---|---|---|---|
Main Website | 3013 | ejfox.com | Personal site & blog |
Personal APIs | 3013 | ejfox.com/api/* | Self-quantification endpoints |
MediaWiki | 8437 | archive.ejfox.com | Knowledge base |
ArchiveBox | 4040 | snap.ejfox.com | Web archiving |
Smallweb | 7777 | ejfox.tools | Development platform |
n8n | 5678 | n8n.tools.ejfox.com | Workflow automation |
Datasette | 8002 | datasette.tools.ejfox.com | Data exploration |
Capabilities | 9991 | capabilities.tools.ejfox.com | Skills tracking |
Grafana | 3333 | grafana.tools.ejfox.com | Metrics dashboards |
Loki | 3100 | loki.tools.ejfox.com | Log aggregation |
Umami | 3900 | umami.tools.ejfox.com | Web analytics |
Uptime Kuma | 54321 | status.tools.ejfox.com | Uptime monitoring |
Room302 | 3012 | room302.studio | Creative projects |
System Overview
Host System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-37-cloud-amd64
Hostname: ejfvps
Architecture: x86_64
CPU: Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz (2 cores)
Memory: 3.8GB RAM
Storage:
- Root: 7.8GB (/dev/vda1)
- Data: 20GB (/dev/vdb1)
- Data2: 49GB (/dev/vdc)
Core Infrastructure Services
Reverse Proxy & SSL
- Caddy - Modern web server with automatic HTTPS
- Port: 80/443
- Config: /etc/caddy/Caddyfile
- Features: Automatic SSL certificates, HTTP/2, reverse proxy
Container Orchestration
- Docker Engine - Container runtime
- Docker Compose - Multi-container application definitions
- Containerd - Low-level container runtime
System Monitoring
- Cloudflared - Cloudflare tunnel service
- Fail2ban - Intrusion prevention system
- Monit - System monitoring daemon
Application Stack
Analytics & Monitoring
Umami Analytics
Primary Instance:
- Image: ghcr.io/umami-software/umami:postgresql-latest
Grafana Monitoring Stack
- Grafana - Visualization dashboard
- Image: grafana/grafana:latest
- Plugins: ClickHouse, GitHub, Loki Explorer, Pyroscope, JSON datasource
- Loki - Log aggregation system
- Image: grafana/loki:latest
Uptime Monitoring
- Uptime Kuma - Self-hosted monitoring tool
- Image: louislam/uptime-kuma:latest
- Base URL: https://status.tools.ejfox.com
- Features: Website monitoring, notifications, status pages
Content Management
MediaWiki
- Image: mediawiki:latest
- Port: 8437 → 80
- Database: SQLite (multiple databases)
- Extensions: AWS S3 integration
- Skin: Citizen theme
- Volumes:
- Data: /home/debian/mediawiki/data
- Config: /home/debian/mediawiki/LocalSettings.php
ArchiveBox
- Image: archivebox/archivebox:latest
- Features: Web archiving, full-text search via Sonic
- Components:
- Main archiver
- Background scheduler (ofelia-based)
- Sonic search backend
- noVNC remote browser control
Development & Automation
Smallweb
- Image: ghcr.io/pomdtr/smallweb:latest
- Ports: 7777, 2222
- Purpose: Lightweight web app hosting platform
- Projects: Multiple TypeScript/Deno applications including:
- Health dashboard and webhooks
- GitHub integrations
- Location tracking
- Screenshot generation
- Weather apps
- Mastodon integration
n8n Workflow Automation
- Image: docker.n8n.io/n8nio/n8n
Retroscope
- Custom Application - retroscope
- Scheduler: mcuadros/ofelia:latest
- Status: Healthy, with background job scheduling
Personal Websites
ejfox.com
- Custom Build - ejfoxcom_ejfox
- Port: 3013 → 3013
- Size: 1.84GB image
- Status: Production website
room302.studio
- Custom Build - website_room302
- Port: 3012 → 3012
- Size: 1.82GB image
- Status: Secondary website
Network Configuration
Backup Strategy
- MediaWiki has backup/restore scripts
- Database files stored in persistent volumes
- Configuration files version controlled
Process Management
PM2
- PM2 modules: Auto-pull, log rotation
- Stopped processes: Discord bot, capabilities service
- Log management: Automated log rotation