Комплект скриптов для автоматической установки и управления микросервисной средой на Ubuntu Server (ARM64) с GitLab, системой мониторинга и средствами безопасности.
Полная автоматизированная установка всей микросервисной инфраструктуры.
Базовая настройка системы - обновление, установка пакетов, настройка hostname Настройка безопасности - UFW, Fail2Ban, защита от DDoS атак Установка Docker - Docker Engine и Docker Compose для ARM64 Развертывание GitLab - GitLab CE с настройкой домена Система мониторинга - Prometheus, Grafana, Alertmanager, Node Exporter Система бэкапов - автоматическое резервное копирование
chmod +x setup-microservices.sh
./setup-microservices.sh
Назначение Управление запущенными сервисами и получение информации о системе.
./manage-services.sh status
./manage-services.sh restart
./manage-services.sh logs gitlab
./manage-services.sh logs prometheus
./manage-services.sh logs grafana
./manage-services.sh access Функции show_status - статус Docker контейнеров и проверка портов restart_services - перезапуск GitLab и мониторинга show_logs - просмотр логов в реальном времени show_access_info - информация для подключения к сервисам
Назначение Создание и управление резервными копиями системы.
./backup-system.sh create
./backup-system.sh clean Что бэкапируется Docker контейнеры и образы GitLab данные и конфигурации Конфигурации мониторинга Список установленных пакетов Задачи cron
text /opt/backups/ ├── full_backup_YYYYMMDD_HHMMSS/ │ ├── containers.list │ ├── images.list │ ├── gitlab_config.tar.gz │ ├── monitoring_config.tar.gz │ ├── packages.list │ └── crontab.backup └── logs/
GitLab Web интерфейс: http://SERVER_IP:80 HTTPS: https://SERVER_IP:443 SSH: PORT 2222
Данные для входа:
Логин: root Пароль: sudo docker exec -it gitlab cat /etc/gitlab/initial_root_password
Система мониторинга Prometheus: http://SERVER_IP:9090 Grafana: http://SERVER_IP:3000
Логин: admin Пароль: admin123
Alertmanager: http://SERVER_IP:9093 Node Exporter: http://SERVER_IP:9100
UFW - фаервол с минимальным набором правил Fail2Ban - защита от bruteforce атак DDoS защита - настройки ядра Linux SSH ключи - обязательная аутентификация по ключам
bash ./setup-microservices.sh
bash ./manage-services.sh status ./manage-services.sh access
bash
ssh -L 8080:localhost:80 -L 9090:localhost:9090 -L 3000:localhost:3000 user@SERVER_IP
GitLab: http://localhost:8080 Prometheus: http://localhost:9090 Grafana: http://localhost:3000
node_memory_MemAvailable_bytes - доступная память node_cpu_seconds_total - использование CPU node_disk_io_time_seconds_total - дисковая активность node_network_receive_bytes_total - сетевой трафик
1860 - Node Exporter Full 11074 - Docker Monitoring 10759 - GitLab Performance
Установка: /var/log/microservices-setup.log GitLab: sudo docker logs gitlab Prometheus: sudo docker logs prometheus Grafana: sudo docker logs grafana
Ubuntu Server 20.04+ (ARM64) Docker 20.10+ Docker Compose 2.0+
Установка занимает 15-30 минут в зависимости от скорости интернета GitLab требует 2-5 минут для полной инициализации после запуска
Рекомендуется минимум 4GB RAM и 2 vCPU для стабильной работы
Все данные сохраняются в /opt/gitlab и /opt/monitoring