VPS: Difference between revisions
Appearance
Created page with "= VPS Docker Infrastructure Documentation = This document provides a comprehensive overview of the Docker-based infrastructure running on this VPS. == System Overview == '''Host System:''' Debian GNU/Linux 12 (bookworm)<br> '''Kernel:''' Linux 6.1.0-37-cloud-amd64<br> '''Hostname:''' ejfvps<br> '''Architecture:''' x86_64<br> '''CPU:''' Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz (2 cores)<br> '''Memory:''' 3.8GB RAM<br> '''Storage:''' * Root: 7.8GB (/dev/vda1) * Data:..." |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= VPS | = VPS Documentation = | ||
''Self-hosted services and applications running on the ejfvps infrastructure'' | |||
== Applications == | |||
* '''Main Website''' - [https://ejfox.com ejfox.com] - Personal site and blog (Nuxt.js) | |||
* '''Archive Wiki''' - [https://archive.ejfox.com archive.ejfox.com] - MediaWiki knowledge base | |||
* '''Smallweb''' - *.ejfox.tools - Small self-hosted deno micro-apps | |||
* '''Kuma Uptime Monitoring''' - [https://status.tools.ejfox.com status.tools.ejfox.com] - Service availability tracking | |||
* '''Personal APIs''' - ejfox.com/api/* - Self-quantification data endpoints | |||
* '''[[ArchiveBox]]''' - [https://snap.ejfox.com snap.ejfox.com] - Web archiving and snapshot preservation | |||
* '''Smallweb''' - [https://ejfox.tools ejfox.tools] - Personal app platform and development environment | |||
* '''n8n''' - [https://n8n.tools.ejfox.com n8n.tools.ejfox.com] - Workflow automation and API orchestration | |||
* '''Grafana''' - [https://grafana.tools.ejfox.com grafana.tools.ejfox.com] - System metrics and personal data dashboards | |||
* '''Loki''' - [https://loki.tools.ejfox.com loki.tools.ejfox.com] - Log aggregation and analysis | |||
* '''Umami Analytics''' - [https://umami.tools.ejfox.com 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 === | |||
{| class="wikitable" | |||
! 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 == | == System Overview == |
Latest revision as of 17:27, 31 May 2025
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