server-ovh-prod-01-main/profile.yaml

147 lines
4.3 KiB
YAML
Raw Permalink Normal View History

# systems-prod-01 Server Profile
# Last Updated: 2026-06-25
# Updated By: jared
server:
name: systems-prod-01
hostname: systems-prod-01.vps.ovh.us
provider: OVHcloud
location: Virginia (US-EAST-VA) - USA
region: os-us-east-va-2
ip: 15.204.247.153
ipv6: 2604:2dc0:101:200::c3
gateway_ipv6: 2604:2dc0:101:200::1
created: 2025-09-18
status: Active
purpose: Multi-service hosting migration from DigitalOcean for cost optimization
specs:
model: VPS-3
cpu: 8 vCores
ram: 24 GB
storage: 200 GB
bandwidth: TBD
os: Ubuntu 25.04
kernel: 6.14.0-29-generic
arch: x86_64
access:
ssh_user: jared
ssh_port: 22
ssh_key: ~/.ssh/id_rsa.pub (jared@x1carbon)
root_login: disabled
password_auth: disabled
auth_method: ssh_key_only
sudo: full_access
jump_host: N/A
security:
firewall: ufw
firewall_status: active
firewall_rules:
- "22/tcp (OpenSSH) ALLOW IN Anywhere"
- "80/tcp ALLOW IN Anywhere"
- "443/tcp ALLOW IN Anywhere"
- "default: deny (incoming), allow (outgoing)"
selinux: N/A
fail2ban: not_configured
ids: not_configured
auto_updates: enabled (unattended-upgrades)
software:
docker:
version: 29.2.1
compose_version: 2.39.3
user_in_group: jared
installed_from: official_convenience_script
daemon_config: production_ready
networks:
- traefik (172.20.0.0/16) # external-facing; Traefik routes here
- internal (172.21.0.0/16) # backend communication
runtime:
- traefik:v3.6 (reverse proxy)
- apache2-utils (for htpasswd)
system_packages:
essential_installed: curl, git, vim, htop, iftop, iotop, ncdu, tree, jq, zip, unzip, build-essential, rsync, fail2ban
pending_updates: 3 (held due to phasing)
status: completed
services:
- name: traefik
type: reverse_proxy
version: v3.6
status: running
ports: [80, 443]
ssl: letsencrypt (HTTP-01) + cloudflare (DNS-01 for remetrics)
dashboard: protected (see credentials.md)
directory: /home/jared/services/traefik
monitoring:
status: partial_coverage
tools:
- htop (system monitoring, manual)
- container-health-monitor.sh (BestSolarTech-only, runs every 10 min)
- daily-maintenance.sh (BestSolarTech-only, runs 4:30 AM EST — FIXED 2026-06-25)
- health-check.sh (all services, on-demand via syshealth — FIXED 2026-06-25)
- backup.sh (all services, runs 2 AM EST)
- watchtower (opt-in only via WATCHTOWER_LABEL_ENABLE=true — FIXED 2026-06-25, runs 3 AM)
notes:
- syshealth now works (points to ~/services/monitoring/scripts/health-check.sh, deployed 2026-06-25)
- Per-service auto-remediation only for BestSolarTech; health-check.sh covers detection for all
- See docs/health-monitoring.md for full gap list
logs: local_with_rotation
alerts: none
backups:
status: configured_and_active
strategy: pg_dumpall (PostgreSQL), mysqldump (MariaDB), service-dir tar
frequency: nightly at 02:00 EST (07:00 UTC)
retention:
on_server: 2 days (~/backups/current/)
synology_nas: pulled nightly at 03:00 EST
offsite_b2: via Synology Hyper Backup
script: ~/services/backup.sh (auto-discovers all services in ~/services/)
notification: ~/.local/bin/notify_backup.rb (on success)
tested: yes (remetrics 480-user migration confirmed, 2026-06-24)
networking:
vpc: N/A
subnet: N/A
private_ip: N/A
dns: TBD
domain: TBD
cdn: N/A
storage:
volumes:
- mount: /
size: 200 GB
type: SSD
purpose: System and application storage
maintenance:
auto_updates: configured (unattended-upgrades)
last_system_update: 2025-09-18
last_docker_update: N/A
reboot_required: no
maintenance_window: TBD
swap_configured: yes (4GB active)
timezone: America/New_York
ntp_sync: active (chrony)
log_rotation: configured
cost:
monthly: TBD
billing: monthly
credits_used: N/A
notes:
- MIGRATION COMPLETE (2026-06-24): All services migrated from DigitalOcean to OVH
- Source DigitalOcean VPS (hyperthrive-docker-services, 161.35.12.75) DELETED 2026-06-24
- remetrics.io migrated 2026-06-24 from separate DO droplet (147.182.131.217); that droplet FROZEN as rollback (not yet deleted)
- 21 containers running as of 2026-06-25 (see docs/services-inventory.md for full list)
- Passwordless sudo configured for automation
- 4GB swap file active
- Historical phase notes (Phases 1-7 setup) moved to migrations/migration-plan.md