Logo Lanfrica

BURUNDI-HIV-INFO-SYSTEM/sidainfo-updater

Domain:

healthcaredigital infrastructure

Record type:

software
Creator:
BUR
Host:
Management of sidainfo management # SIDAInfo Update Server Central update distribution server for the **SIDAInfo** health facility information system in Burundi. Clinic sites running SIDAInfo automatically check this server for new releases, download them, and report their installed version back. Built with **Laravel 12**, **MySQL 8**, and **PHP 8.2-FPM** in Docker. In production, the VPS nginx on the main host serves `public/` and forwards PHP requests to the app container. --- ## Table of Contents - Architecture - Features - Prerequisites - Development Setup - Server Deployment - First-time setup - Staging vs production - Subsequent deployments - Manual nginx setup - Upgrading a Live Server - How data is preserved - Standard upgrade procedure - After specific releases - Rollback procedure - Environment Variables - Admin UI - API Reference - Backup & Restore - Running Tests --- ## Architecture ``` ┌──────────────────────────────────────────────────────────┐ │ VPS host │ │ │ │ ┌──────────────┐ fastcgi ┌─────────────────┐ │ │ │ Host nginx │ ─────────────────▶│ PHP-FPM app │ │ │ │ serves public│ │ container :9000 │ │ │ └──────────────┘ └────────┬────────┘ │ │ ▲ │ │ └─────────┼─────────────────────────────────────┼──────────┘ │ │ SIDAInfo site instances Docker network │ ┌────▼────┐ │ MySQL 8 │ │ db │ └─────────┘ ``` | Container | Image | Role | |-----------|-------|------| | `app` | `php:8.2-fpm` (custom) | Laravel application | | `db` | `mysql:8.0` | Database | **Persistent data** lives in named Docker volumes — not on the host filesystem: | Volume | Contains | |--------|----------| | `dbdata` | MySQL database files | | `releases_storage` | Uploaded release ZIP archives | Both staging and production run as separate Docker Co …