mirvmon/docker
mirivlad 6d3542232a docs: Update documentation to reflect current state
README.md:
- Fix badge line breaks
- Add migration 008_auto_cleanup_metrics.sql
- Improve architecture diagram
- Add troubleshooting section
- Add changelog
- Fix formatting

ARCHITECTURE.md:
- Update agent metrics list (net_in_*, temp_*, etc.)
- Change interval from 10s to 60s
- Fix architecture diagram

INSTALL.md:
- PHP 8.1 -> 8.3
- php8.1-fpm.sock -> php8.3-fpm.sock
- Update API example with current metrics

AGENTS.md:
- PHP 8.1 -> 8.3
- Update API endpoints with new /get-agent, /agent/install.sh

docker/README.md:
- Fix password from 'admin' to 'mirvmon2026'

TECHNICAL_SPECIFICATION.md:
- Change agent interval from 10s to 60s
- Add lm-sensors, smartmontools to agent requirements
2026-04-17 11:52:48 +08:00
..
migrations fix: Update agent install, disk metrics, fallback blocks, and dynamic thresholds 2026-04-17 09:25:43 +08:00
.env.example unify config: single .env.example, default password mirvmon2026, docker in README 2026-04-14 16:20:01 +08:00
Dockerfile Docker: production-ready setup with immutable images, versioned migrations, env vars 2026-04-14 15:51:14 +08:00
README.md docs: Update documentation to reflect current state 2026-04-17 11:52:48 +08:00
deploy.sh unify config: single .env.example, default password mirvmon2026, docker in README 2026-04-14 16:20:01 +08:00
docker-compose.yml feat: auto-cleanup metrics older than 60 days 2026-04-14 19:21:40 +08:00
init.sh Docker: production-ready setup with immutable images, versioned migrations, env vars 2026-04-14 15:51:14 +08:00
migrate.sh Docker: production-ready setup with immutable images, versioned migrations, env vars 2026-04-14 15:51:14 +08:00
nginx.conf Docker: production-ready setup with immutable images, versioned migrations, env vars 2026-04-14 15:51:14 +08:00

README.md

MirvMon — Docker Setup

Быстрый старт

# 1. Копируем конфиг
cp .env.example .env

# 2. Меняем пароли в .env
nano .env

# 3. Запускаем
docker compose up -d --build

# 4. Открываем http://localhost:8080
# Логин: admin
# Пароль: mirvmon2026 (сменить сразу!)

Обновление

# Обновить код и пересобрать
git pull
docker compose up -d --build

# Или если образы в registry:
docker compose pull
docker compose up -d

Структура

docker/
├── Dockerfile              # PHP 8.3 FPM + приложение
├── docker-compose.yml      # app + nginx + db
├── nginx.conf              # конфиг nginx
├── init.sh                 # entrypoint (ждёт БД + миграции)
├── migrate.sh              # скрипт миграций
├── migrations/             # SQL миграции с версионированием
│   ├── 001_create_base_schema.sql
│   ├── 002_add_encrypted_token.sql
│   ├── ...
├── .env.example            # шаблон конфига
└── README.md               # этот файл

Миграции

Каждая миграция — SQL файл с номером в имени. Система отслеживает применённые в таблице schema_migrations.

Добавить новую:

echo "ALTER TABLE servers ADD COLUMN foo VARCHAR(50);" > docker/migrations/009_add_foo.sql
docker compose up -d --build

Переменные окружения (.env)

Переменная Описание По умолчанию
APP_PORT Порт веб-интерфейса 8080
DB_HOST Хост БД db
DB_NAME Имя базы monitoring_system
DB_USERNAME Пользователь БД mon_user
DB_PASSWORD Пароль БД mon_password_123
DB_ROOT_PASSWORD Root пароль БД (обязательно сменить!)

Тома (persistent data)

Volume Что хранит
db_data База данных MariaDB
app_var Кэш Twig и логи PHP

Код приложения не монтируется — он внутри образа. Обновление = новый образ.