157 lines
4.3 KiB
YAML
157 lines
4.3 KiB
YAML
|
|
# systems-prod-01 Server Profile
|
||
|
|
# Last Updated: 2025-09-18
|
||
|
|
# 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: 28.4.0
|
||
|
|
compose_version: 2.39.3
|
||
|
|
user_in_group: jared
|
||
|
|
installed_from: official_convenience_script
|
||
|
|
daemon_config: production_ready
|
||
|
|
networks:
|
||
|
|
- web (172.20.0.0/16)
|
||
|
|
- internal (172.21.0.0/16)
|
||
|
|
|
||
|
|
runtime:
|
||
|
|
- traefik:v3.0 (reverse proxy)
|
||
|
|
- ctop (container monitoring)
|
||
|
|
- 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.0
|
||
|
|
status: running
|
||
|
|
ports: [80, 443, 8080]
|
||
|
|
ssl: letsencrypt
|
||
|
|
dashboard: https://traefik.systems-prod-01.vps.ovh.us
|
||
|
|
directory: /home/jared/services/traefik
|
||
|
|
|
||
|
|
- name: test-whoami
|
||
|
|
type: test_service
|
||
|
|
status: running
|
||
|
|
purpose: ssl_verification
|
||
|
|
|
||
|
|
monitoring:
|
||
|
|
status: basic_configured
|
||
|
|
tools:
|
||
|
|
- ctop (container monitoring)
|
||
|
|
- htop (system monitoring)
|
||
|
|
- health-check.sh (system health)
|
||
|
|
- log-summary.sh (log analysis)
|
||
|
|
logs: local_with_rotation
|
||
|
|
directory: /home/jared/services/monitoring
|
||
|
|
alerts: none
|
||
|
|
|
||
|
|
backups:
|
||
|
|
status: not_configured
|
||
|
|
strategy: TBD
|
||
|
|
frequency: TBD
|
||
|
|
retention: TBD
|
||
|
|
location: TBD
|
||
|
|
tested: N/A
|
||
|
|
|
||
|
|
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:
|
||
|
|
- Server provisioned for cost optimization migration from DigitalOcean
|
||
|
|
- Significantly larger specs (8 vCores, 24GB RAM) vs current 1 vCore, 2GB setup
|
||
|
|
- Will consolidate multiple DigitalOcean services onto single server
|
||
|
|
- Next payment date: 2025-10-18
|
||
|
|
- Automatic renewal enabled
|
||
|
|
- Phase 1.1 completed: Custom user setup, SSH keys, ubuntu user removed
|
||
|
|
- Phase 1.2 completed: Security hardening (SSH, firewall, auto-updates)
|
||
|
|
- Phase 1.3 completed: System preparation (packages, timezone, swap, tools)
|
||
|
|
- Phase 1.4 completed: Final validation of all Phase 1 tasks
|
||
|
|
- PHASE 1 COMPLETE: Ready for Phase 2 Docker environment setup
|
||
|
|
- Phase 2.1 completed: Docker v28.4.0 and Compose v2.39.3 installed
|
||
|
|
- Phase 2.2 completed: Service directory structure at /home/jared/services/
|
||
|
|
- Phase 2.3 completed: Traefik v3.0 reverse proxy with SSL configured
|
||
|
|
- Phase 2.4 completed: Basic monitoring tools and scripts installed
|
||
|
|
- PHASE 2 COMPLETE: Docker environment ready for service deployment
|
||
|
|
- Hostname mismatch: shows "vps-5d79b132" instead of "systems-prod-01"
|
||
|
|
- Passwordless sudo configured for automation
|
||
|
|
- 4GB swap file active with optimal swappiness setting
|
||
|
|
- Traefik dashboard: admin / dH1CtZuVLBUMig7P
|
||
|
|
- Directory structure: /home/jared/services/{traefik,web,databases,automation,monitoring,shared,templates}
|