Skip to content

ilyaYudakov/gitlab-server-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Комплект скриптов для автоматической установки и управления микросервисной средой на Ubuntu Server (ARM64) с GitLab, системой мониторинга и средствами безопасности.

Структура скриптов

1. Основной скрипт установки (setup-microservices.sh)

Назначение

Полная автоматизированная установка всей микросервисной инфраструктуры.

Функциональность

Базовая настройка системы - обновление, установка пакетов, настройка 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

2. Скрипт управления сервисами (manage-services.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 - информация для подключения к сервисам

3. Скрипт резервного копирования (backup-system.sh)

Назначение Создание и управление резервными копиями системы.

Создание полной резервной копии

./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 ключи - обязательная аутентификация по ключам

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

1. Установка

bash ./setup-microservices.sh

2. Проверка

bash ./manage-services.sh status ./manage-services.sh access

3. Доступ к сервисам

bash

Безопасный доступ через SSH туннель

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

Мониторинг и метрики

Доступные метрики в Prometheus

node_memory_MemAvailable_bytes - доступная память node_cpu_seconds_total - использование CPU node_disk_io_time_seconds_total - дисковая активность node_network_receive_bytes_total - сетевой трафик

Готовые дашборды Grafana

Импортируйте дашборды с ID:

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages