🖥️ jov-minipc — Mac Mini Infrastructure

Complete reference dashboard • Everything you've touched on this machine

📋 System Information

Hostname jov-minipc
OS macOS 14.3.1 (23D60)
CPU Apple M1
User jovyllebermudez

🌐 Cloudflare Tunnel

Tunnel Name mac-mini-local
Tunnel ID 1c23d677-617b-4f8a-8011-dbcd4d473102
Status ✓ Running
Config (Live) ~/.cloudflared/config.yml
Credentials ~/.cloudflared/1c23d677-617b-4f8a-8011-dbcd4d473102.json

🔗 Public Hostnames → Local Services

Public Hostname Local Target Service
home.uft1.com http://localhost:80 nginx — "It works!" page
mini-pc.uft1.com http://localhost:80 nginx — same as home
minipc.uft1.com http://localhost:80 nginx — infra dashboard (password protected)
pic.uft1.com http://localhost:38471 og-image (Node.js server)
netdata.uft1.com http://localhost:19999 Netdata monitoring dashboard

⚙️ LaunchDaemons & LaunchAgents

System LaunchDaemons (boot-level)

Label Service RunAtLoad KeepAlive Config Path
com.jo.cloudflared Cloudflare tunnel /Library/LaunchDaemons/com.jo.cloudflared.plist
homebrew.mxcl.nginx nginx on :80 /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
com.netdata.agent Netdata monitoring /Library/LaunchDaemons/com.netdata.agent.plist

User LaunchAgents (after login)

Label Service Port Repo
com.fore.og-image og-image (Node.js) :38471 fore/lab/og-image
homebrew.mxcl.redis Redis server :6379 Homebrew

🔌 Ports & Services

Listening Ports

Port Process Service Notes
22 sshd SSH System
80 nginx Web server Behind Cloudflare
6379 redis-server Redis 127.0.0.1 (local only)
19999 netdata Monitoring UI Behind Cloudflare
20241 cloudflared Metrics API 127.0.0.1 (local only)
38471 node (og-image) OG image generator Behind Cloudflare

🌍 nginx Configuration

Binary /opt/homebrew/bin/nginx
Config Path /opt/homebrew/etc/nginx/nginx.conf
Root Directory /opt/homebrew/Cellar/nginx/1.27.0/html/
Password File /opt/homebrew/etc/nginx/.htpasswd

nginx Reload Command

$ sudo nginx -s reload

nginx Test Configuration

$ sudo nginx -t

📦 Backup & Configuration Files

Backups in Repo

backups/ssh/authorized_keys

LaunchDaemons Backups

launchd/LaunchDaemons/com.jo.cloudflared.plist launchd/LaunchDaemons/homebrew.mxcl.nginx.plist launchd/LaunchDaemons/com.netdata.agent.plist

LaunchAgents Backups

launchd/LaunchAgents/com.fore.og-image.plist launchd/LaunchAgents/homebrew.mxcl.redis.plist

Critical Files (NOT in repo)

Tunnel Credentials: ~/.cloudflared/1c23d677-617b-4f8a-8011-dbcd4d473102.json

Origin Certificate: ~/.cloudflared/cert.pem

Tunnel Token: ~/.cloudflared/token.txt

⚠️ Back these up separately (1Password, encrypted disk, etc.)

⚡ Quick Commands

Tunnel Status & Reload

cloudflared tunnel info mac-mini-local cloudflared tunnel list sudo launchctl print system/com.jo.cloudflared tail -f /tmp/cloudflared.log

Add DNS Route (when adding new hostname)

cloudflared tunnel route dns mac-mini-local HOSTNAME.uft1.com

Service Status & Logs

brew services list launchctl list | grep -E 'og-image|redis|nginx' ps aux | grep -E 'cloudflared|nginx|netdata|node' sudo lsof -iTCP -sTCP:LISTEN -n -P

Reload LaunchDaemon (example: cloudflared)

sudo launchctl bootout system/com.jo.cloudflared sudo cp launchd/LaunchDaemons/com.jo.cloudflared.plist /Library/LaunchDaemons/ sudo launchctl bootstrap system /Library/LaunchDaemons/com.jo.cloudflared.plist

📁 Important Directories & URLs

Local URLs

Netdata (local)

http://127.0.0.1:19999

Redis

127.0.0.1:6379

og-image

http://127.0.0.1:38471

Remote URLs (via Cloudflare)

Dashboard

minipc.uft1.com (pwd protected)

OG Image

pic.uft1.com