obsidian/wiki/infrastructure/server-modocmms.md
2026-04-24 11:19:08 +01:00

65 lines
2 KiB
Markdown

---
tags: [infrastructure, server, gcp, modocmms, oliver-internal]
updated: 2026-04-24
---
# modocmms-dev — ModoCMMS Application Server
> SSH alias: `modocmms-dev` → `vadym.samoilenko@10.220.168.6:22`
> Key: `~/.ssh/id_rsa_vadym`
## Overview
Dedicated server for the ModoCMMS product (maintenance management system). Runs two environments: staging and production, both on the same machine via Apache vhosts.
- **Hostname**: modcomms-01.europe-west2-c.c.optical-414516.internal
- **Platform**: GCP europe-west2-c
- **OS**: Ubuntu 24.04.3 LTS
- **IP**: 10.220.168.6
- **Web server**: Apache 2.4
- **Disk**: 96 GB / ~12 GB used (12%) — plenty of space
## Applications in `/opt/`
| Dir | Environment |
|-----|-------------|
| `/opt/modcomms-dev/` | Staging / dev version |
| `/opt/modcomms-prod/` | Production version |
## Apache Vhosts
### modcomms-staging.oliver.solutions (staging)
- **Document root**: `/var/vhosts/modcomms-staging.oliver.solutions/htdocs/`
- **Backend API**: `ProxyPass /back/ http://localhost:8001/`
- **WebSocket**: `ProxyPass /back/ws/analyze ws://localhost:8001/ws/analyze`
- **Logs**: `/var/vhosts/modcomms-staging.oliver.solutions/logs/`
- HTTPS redirect enforced (X-Forwarded-Proto)
### modcomms.oliver.solutions (production)
- **Document root**: `/var/vhosts/modcomms.oliver.solutions/htdocs/`
- Backend proxied similarly to staging
## Ports
| Port | Service |
|------|---------|
| 80 / 443 | Apache |
| 5432 | PostgreSQL |
| 8001 | ModoCMMS backend (FastAPI/Python) |
| 20201 / 20202 | Monitoring |
## Key Takeaways
- Two envs on one box: staging at modcomms-staging.oliver.solutions, prod at modcomms.oliver.solutions
- Backend runs on :8001 (Python), frontend served as static files from Apache htdocs
- WebSocket support for `/back/ws/analyze` — ML analysis endpoint
- PostgreSQL on :5432 (publicly exposed — verify firewall)
- No Docker — pure systemd/Apache deployment
- Site24x7 and google-cloud-ops-agent provide monitoring
## Related
- [[wiki/infrastructure/ssh-aliases|ssh-aliases]]
- [[wiki/tech-patterns/_index|tech-patterns]]