mirvmon/docker
mirivlad 3ba8629146 unify config: single .env.example, default password mirvmon2026, docker in README
- .env.example moved to project root (used by both Docker and manual install)
- Migration 007: admin password = mirvmon2026 (bcrypt hash)
- docker-compose.yml reads ../.env from root
- deploy.sh generates DB passwords, shows default admin password
- README.md updated with Docker install section (Variant A) and manual (Variant B)
- Consistent default credentials everywhere: admin/mirvmon2026

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-14 16:20:01 +08:00
..
migrations unify config: single .env.example, default password mirvmon2026, docker in README 2026-04-14 16:20:01 +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 Docker: production-ready setup with immutable images, versioned migrations, env vars 2026-04-14 15:51:14 +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 unify config: single .env.example, default password mirvmon2026, docker in README 2026-04-14 16:20:01 +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, Пароль: admin (сменить сразу!)

Обновление

# Обновить код и пересобрать
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

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