Go to file
Jared Swanson 46725a5738 docs: record remetrics secrets extracted to .env
- remetrics POSTGRES_PASSWORD, SECRET_KEY_BASE, OPENAI_API_KEY moved from
  inline compose to gitignored ~/services/remetrics/.env (mode 600) via
  ${VAR} interpolation; byte-identical resolved config, zero container disruption
- strapi-remetrics already used env_file: ./strapi/.env — no change needed there
- remaining remetrics prereq is the missing build: stanza (PREREQ 2)
- GCS service-account JSON (strapi/gcs/) noted as follow-up rotation item for Vaultwarden

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 12:51:01 -04:00
configs Initial commit: Add server infrastructure, service configs, and documentation 2026-05-15 10:26:32 -04:00
docs docs: record remetrics secrets extracted to .env 2026-06-25 12:51:01 -04:00
migrations docs: document server architecture, add health tooling, harden ops hazards 2026-06-25 12:20:08 -04:00
scripts Initial commit: Add server infrastructure, service configs, and documentation 2026-05-15 10:26:32 -04:00
.gitignore Initial commit: Add server infrastructure, service configs, and documentation 2026-05-15 10:26:32 -04:00
CLAUDE.md docs: document server architecture, add health tooling, harden ops hazards 2026-06-25 12:20:08 -04:00
README.md docs: mark DigitalOcean→OVH migration complete, old VPS deleted 2026-06-24 11:48:11 -04:00
profile.yaml docs: document server architecture, add health tooling, harden ops hazards 2026-06-25 12:20:08 -04:00

README.md

systems-prod-01 - OVHcloud VPS

Provider: OVHcloud VPS-3 (8 vCores, 24GB RAM, 200GB SSD) Location: Virginia, US East IP: 15.204.247.153

Quick Access

# Server access
ssh jared@15.204.247.153

# Traefik Dashboard
# URL: https://traefik.hyperthrive.app
# Login: admin / dH1CtZuVLBUMig7P

# Docker status
ssh jared@15.204.247.153 "docker ps"
ssh jared@15.204.247.153 "docker stats --no-stream"

# System health
ssh jared@15.204.247.153 "syshealth"
ssh jared@15.204.247.153 "logsummary"

Live Services

BestSolarTech.com - WordPress site migrated from DigitalOcean LandHomeTeam - static "Coming Soon" page n8n (prod + test) - n8n.hyperthrive.io / testn8n.hyperthrive.io Formbricks - formbricks.hyperthrive.io Vaultwarden - password manager Invoice Ninja - invoice.hyperthrive.io NocoDB - nocodb.hyperthrive.io n8n-swanson - personal instance Forgejo - git hosting Traefik - Reverse proxy with automatic SSL Watchtower - automated container updates Monitoring - Automated health checks & maintenance (see CLAUDE.md)

See docs/services-inventory.md for full details.

Status

Infrastructure Ready - Docker, Traefik, monitoring configured Automated Recovery - Health monitor runs every 10 min, daily maintenance at 3 AM Migration COMPLETE - All services migrated from DigitalOcean; the old DigitalOcean VPS (hyperthrive-docker-services, 161.35.12.75) was deleted on 2026-06-24. This OVH box is now the sole production host.

See migrations/migration-plan.md for the historical migration record.

Project Structure

systems-prod-01/
├── README.md                          # This file
├── CLAUDE.md                          # AI assistant context
├── profile.yaml                       # Server specifications
├── credentials.md                     # Service credentials
├── configs/                           # Configuration templates
│   ├── service-template.yml           # Docker service template
│   ├── wordpress-docker-migration-guide.md  # WordPress migration lessons
│   └── traefik configs                # Reverse proxy setup
└── migrations/                        # Migration documentation
    ├── migration-plan.md              # Overall strategy & progress
    └── completed/                     # Finished migrations
        └── bestsolartech.md           # BestSolarTech details

Service Management

Deploy New Service

# Create service directory
ssh jared@15.204.247.153 "mkdir -p ~/services/SERVICE_NAME"

# Deploy with Docker Compose
scp docker-compose.yml jared@15.204.247.153:~/services/SERVICE_NAME/
ssh jared@15.204.247.153 "cd ~/services/SERVICE_NAME && docker compose up -d"

WordPress Quick Commands

# Update WordPress database URLs
ssh jared@15.204.247.153 "docker exec CONTAINER_DB mysql -u USER -pPASS -e \"
USE DATABASE;
UPDATE wp_options SET option_value = 'https://domain.com' WHERE option_name IN ('siteurl', 'home');
\""

# View container logs
ssh jared@15.204.247.153 "docker logs CONTAINER_NAME --tail 50"

Key Learnings

  • Use MariaDB 10.11 for WordPress migrations
  • Disable Real Simple SSL plugin when using Traefik
  • Escape $$ in Docker Compose environment variables
  • Use || operator for multiple Traefik host rules

For detailed guidance, see configs/wordpress-docker-migration-guide.md