docs: add badges, troubleshooting and changelog

This commit is contained in:
2026-05-31 13:43:44 +03:00
parent ae84678f60
commit 10813528d5
3 changed files with 100 additions and 0 deletions

42
CHANGELOG.md Normal file
View File

@@ -0,0 +1,42 @@
# Changelog
All notable changes to AstraDeploy are documented here.
## [v0.1.0] - 2026-05-31
### Added
- Initial release architecture and installer core (`install.sh`) with:
- argument parsing and lifecycle orchestration;
- centralized preflight/install/post steps;
- root/sudo guardrails and safety checks;
- logs to `/var/log/astra-deploy/`;
- report callback with `started/step/success/failed` statuses.
- Interactive beginner flow (`--easy`) and non-interactive automation flow (`--yes`, `--non-interactive`).
- Service support for `systemd`, `tmux-systemd`, `screen`, and `none`.
- Firewall wiring and port validation flow.
- License and EULA acceptance flow:
- `--accept-license` (`--license`)
- `--accept-eula` (`--eula`).
- Core support matrix with separate handlers for:
- `pmmp`, `paper`, `purpur`, `velocity`, `powernukkitx`.
- Localization architecture with Russian and English locale files:
- `[locales/ru.sh](locales/ru.sh)`
- `[locales/en.sh](locales/en.sh)`.
- `NetherGamesMC` core installer:
- PHP build selection (`--build`)
- PocketMine-MCPE source workflow (`--mc-version`)
- Composer/runtime preparation and source clone path.
### Changed
- Added explicit safety modes for existing directories:
- `--allow-existing`, `--backup-existing`, `--force-clean`.
- Added dry-run simulation mode and debug mode.
- Added versioned command aliases for compatibility (`--core-version`, legacy `--version`).
### Fixed
- Initial hardening for cleanup and service behavior across supported flows.
### Known limitations
- Support matrix for OS/package-manager is intentionally MVP-focused (mainly Debian/Ubuntu family first, with extension points for others).
- `--update` path is implemented per-core where available.

View File

@@ -1,5 +1,9 @@
# AstraDeploy
[![License](https://img.shields.io/badge/License-MIT-green)](LICENSE)
[![Bash](https://img.shields.io/badge/Bash-4%2B-brightgreen)](https://www.gnu.org/software/bash/)
[![Version](https://img.shields.io/badge/Version-v0.1.0-blue)](README.md)
`AstraDeploy` is a Bash installer for Minecraft server cores (Java and Bedrock) with:
- interactive beginner mode (`--easy`);
@@ -158,6 +162,28 @@ sudo bash install.sh \
- `--locale en|ru` or `--lang en|ru`
- script also reads `LANGUAGE` / `LANG` environment fallback
## Troubleshooting
- **Port is already in use**
- Find the process by `lsof -i:<port>` and stop it, or choose a different `--port`.
- For non-standard setups, set `--port` to an available TCP/UDP port depending on the core.
- **Installer stops on missing dependencies or package errors**
- Re-run with `--debug` to inspect detected package manager and failed command.
- Ensure the host has internet access and package repositories are reachable.
- **Permission denied while creating/changing files**
- Run via `sudo`/`root` for privileged operations.
- Verify `--user` exists and has write permissions on `--dir`.
- **Firewall was not configured automatically**
- Installer prints a manual notice when `ufw`/`firewalld` is unavailable.
- Open ports manually in your system firewall before continuing.
- **Report callback is not sent**
- Callback failures are non-blocking.
- Validate URL/token and retry install with corrected `--report-url` and `--report-token`.
## Safety notes
- Script is designed with guardrails but still executes privileged operations (packages/services/firewall/files).
@@ -175,3 +201,6 @@ See [`LICENSE`](LICENSE) for the full text and disclaimers.
sudo bash install.sh --version
```
## Changelog
See [`CHANGELOG.md`](CHANGELOG.md).

View File

@@ -1,5 +1,9 @@
# AstraDeploy
[![License](https://img.shields.io/badge/Лицензия-MIT-green)](LICENSE)
[![Bash](https://img.shields.io/badge/Bash-4%2B-brightgreen)](https://www.gnu.org/software/bash/)
[![Version](https://img.shields.io/badge/Version-v0.1.0-blue)](README.ru.md)
`AstraDeploy` — это bash-инсталлятор для Minecraft ядер (Java и Bedrock) с акцентом на простую установку и автоматизацию:
- режим для нубов (`--easy`);
@@ -158,6 +162,28 @@ sudo bash install.sh \
- `--locale en|ru` или `--lang en|ru`
- автоматический fallback из `LANGUAGE` / `LANG`
## Устранение типовых проблем
- **Порт уже занят**
- Проверьте кто держит порт через `lsof -i:<порт>` и остановите процесс, или укажите другой `--port`.
- Убедитесь, что выбранный порт доступен по нужному протоколу (`tcp`/`udp`) для ядра.
- **Ошибка установки зависимостей / пакетов**
- Повторите запуск с `--debug`, это покажет обнаруженный пакетный менеджер и упавшую команду.
- Проверьте интернет и доступность репозиториев пакетов.
- **Permission denied при создании/изменении файлов**
- Запускайте как `root` (через `sudo`) для полномасштабной установки.
- Проверьте, что пользователь из `--user` существует и имеет права на директорию `--dir`.
- **Firewall не открылся автоматически**
- Если `ufw`/`firewalld` отсутствуют, скрипт сообщит про ручную настройку.
- Откройте порт вручную в вашей системе безопасности.
- **Коллбэк репортов не отправляется**
- Ошибки callback не останавливают установку.
- Проверьте URL/token и повторите с корректными `--report-url` и `--report-token`.
## Важные замечания
- Скрипт работает с повышенными правами и может менять сервисы, firewall, пакеты, файлы.
@@ -175,3 +201,6 @@ sudo bash install.sh \
sudo bash install.sh --version
```
## Changelog
См. [`CHANGELOG.md`](CHANGELOG.md).