Calagopus: управление игровыми серверами через Docker
Calagopus — мощный инструмент для управления игровыми серверами и Docker‑контейнерами в домашнем сервере. Узнайте, как быстро настроить инфраструктуру.
Подготовка системы
Обновите систему и установите необходимые зависимости для работы Calagopus.
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io docker-compose wget unzip
sudo usermod -aG docker $USERСкачивание Calagopus
Скачайте последнюю версию Calagopus с официального репозитория GitHub.
wget https://github.com/Calagopus/calagopus/releases/latest/download/calagopus-linux-amd64.zip
unzip calagopus-linux-amd64.zipРазмещение файлов
Создайте директорию для Calagopus и переместите туда файлы.
sudo mkdir -p /opt/calagopus
sudo mv calagopus /opt/calagopus/
sudo mv dist /opt/calagopus/Создание конфигурационного файла
Создайте конфигурационный файл с настройками Calagopus.
server:
bind: "0.0.0.0:8080"
auth:
enabled: true
sessionTimeout: "24h"
admin:
username: admin
password: ваш_надежный_пароль
storage:
path: "/var/lib/calagopus"
docker:
socket: "/var/run/docker.sock"
log:
level: "info"
file: "/var/log/calagopus.log"Создание системного сервиса
Создайте файл сервиса systemd для автоматического запуска Calagopus.
[Unit]
Description=Calagopus Server Management
After=docker.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/calagopus
ExecStart=/opt/calagopus/calagopus --config /opt/calagopus/config.yaml
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.targetЗапуск Calagopus
Загрузите и запустите сервис Calagopus.
sudo systemctl daemon-reload
sudo systemctl enable calagopus
sudo systemctl start calagopus
sudo systemctl status calagopusПервоначальный вход
Откройте веб-интерфейс Calagopus в браузере по адресу http://ваш_ip_адрес:8080 и используйте учетные данные администратора.
Calagopus: универсальное управление игровыми серверами и Docker
Введение в Calagopus
В современном мире домашнего серверостроения существует множество задач: от запуска игровых серверов до управления Docker-контейнерами. Часто для этих целей используются разные решения, что усложняет администрирование. Calagopus — это универсальная платформа, которая объединяет управление игровыми серверами и Docker в едином интерфейсе. Это решение особенно ценно для тех, кто хочет иметь полный контроль над своими сервисами в домашней сети, не прибегая к сложным конфигурациям множества различных инструментов.
В этом руководстве мы рассмотрим процесс установки и настройки Calagopus, а также его основные возможности для эффективного управления вашими серверами и контейнерами.
Что такое Calagopus и его основные возможности
Calagopus — это веб-ориентированная платформа для управления игровыми серверами и Docker-контейнерами. Разработанная с акцентом на простоту использования и гибкость, она предоставляет единый интерфейс для выполнения различных задач, которые ранее требовали использования множества инструментов.
Ключевые возможности Calagopus:
- Единый веб-интерфейс для управления игровыми серверами и Docker-контейнерами
- Поддержка множества игровых платформ (Minecraft, Terraria, Valheim, Factorio и др.)
- Управление Docker-образами и контейнерами через веб-интерфейс
- Система плагинов для расширения функциональности
- Мониторинг ресурсов и статистика серверов
- Автоматическое обновление игровых серверов
- Возможность создания резервных копий
- Интеграция с системой уведомлений
Calagopus написан на Go и использует SQLite в качестве базы данных по умолчанию, что делает его легковесным и простым в развертывании.
Требования к системе для установки Calagopus
Перед установкой Calagopus убедитесь, что ваша система соответствует следующим требованиям:
Операционная система:
- Linux (рекомендуются дистрибутивы на базе Debian/Ubuntu)
- Поддержка Docker (версия 20.10 или новее)
- Не менее 512 МБ оперативной памяти
- 1 ГБ свободного места на диске (для базовой установки)
Дополнительные зависимости:
- Docker и Docker Compose
wgetилиcurlдля скачивания установочных файловunzipдля распаковки дистрибутива
Для некоторых игровых серверов могут потребоваться дополнительные зависимости, такие как Java, wine или другие библиотеки. Calagopus автоматически определит необходимые компоненты при добавлении нового сервера.
Пошаговая установка и первоначальная настройка
Установка Calagopus довольно проста и выполняется за несколько шагов:
Шаг 1: Подготовка системы
Обновите систему и установите необходимые зависимости:
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io docker-compose wget unzip
Добавьте вашего пользователя в группу docker для работы с Docker без sudo:
sudo usermod -aG docker $USER
Выполните выход из системы и повторный вход, чтобы изменения вступили в силу.
Шаг 2: Скачивание Calagopus
Скачайте последнюю версию Calagopus с официального репозитория:
wget https://github.com/Calagopus/calagopus/releases/latest/download/calagopus-linux-amd64.zip
unzip calagopus-linux-amd64.zip
Шаг 3: Размещение файлов
Создайте директорию для Calagopus и переместите туда файлы:
sudo mkdir -p /opt/calagopus
sudo mv calagopus /opt/calagopus/
sudo mv dist /opt/calagopus/
Шаг 4: Создание конфигурационного файла
Создайте конфигурационный файл:
sudo nano /opt/calagopus/config.yaml
Пример базового конфигурационного файла:
server:
bind: "0.0.0.0:8080"
auth:
enabled: true
sessionTimeout: "24h"
admin:
username: admin
password: ваш_надежный_пароль
storage:
path: "/var/lib/calagopus"
docker:
socket: "/var/run/docker.sock"
log:
level: "info"
file: "/var/log/calagopus.log"
Шаг 5: Создание системного сервиса
Создайте файл сервиса systemd для Calagopus:
sudo nano /etc/systemd/system/calagopus.service
Добавьте следующее содержимое:
[Unit]
Description=Calagopus Server Management
After=docker.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/calagopus
ExecStart=/opt/calagopus/calagopus --config /opt/calagopus/config.yaml
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
Шаг 6: Запуск Calagopus
Загрузите и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable calagopus
sudo systemctl start calagopus
Проверьте статус сервиса:
sudo systemctl status calagopus
Шаг 7: Первоначальный вход
Откройте в браузере http://ваш_ip_адрес:8080 и используйте учетные данные администратора из конфигурационного файла для входа в систему.
Управление игровыми серверами через Calagopus
Calagopus предоставляет удобный интерфейс для управления игровыми серверами. Основные операции:
Создание нового игрового сервера
- В главном меню выберите "Игровые серверы"
- Нажмите кнопку "Добавить сервер"
- Выберите игру из списка или выберите "Кастомный сервер"
- Заполните параметры сервера:
- Имя сервера
- Порт
- Директория для файлов
- Параметры запуска
- Сохраните конфигурацию
Управление сервером
После создания сервера вы можете:
- Запускать и останавливать сервер
- Перезагружать сервер
- Просматривать логи сервера в реальном времени
- Выполнять команды через консоль сервера
- Управлять файлами сервера (загрузка, удаление, редактирование)
- Создавать и восстанавливать резервные копии
Обновление сервера
Calagopus позволяет автоматически обновлять серверы:
- Выберите сервер в списке
- Перейдите во вкладку "Обновления"
- Проверьте наличие обновлений
- Если обновления доступны, нажмите "Обновить"
- Подтвердите операцию
Система автоматически скачает и установит последние версии файлов сервера.
Добавление и конфигурация игровых серверов
Для добавления нового игрового сервера Calagopus предоставляет несколько способов:
Через интерфейс
- В главном меню выберите "Игровые серверы"
- Нажмите "Добавить сервер"
- Выберите нужную игру из списка
- Заполните параметры:
- Имя сервера
- Параметры запуска
- Пользовательские настройки
- Сохраните конфигурацию
Через Docker
Для некоторых игр Calagopus предоставляет Docker-образы. Чтобы использовать их:
- Выберите сервер, поддерживаемый через Docker
- В настройках сервера выберите режим запуска "Docker"
- Укажите нужный образ и параметры
- Сохраните конфигурацию
Кастомные серверы
Если нужной игры нет в списке, можно добавить кастомный сервер:
- Выберите "Кастомный сервер" при добавлении
- Укажите путь к исполняемому файлу
- Настройте параметры запуска
- При необходимости создайте скрипт запуска
Пример конфигурации для кастомного сервера:
name: "Мой кастомный сервер"
executable: "/path/to/server"
parameters:
- "--port=25565"
- "--world=world"
- "--mode=survival"
Интеграция с Docker: управление контейнерами и образами
Calagopus предоставляет удобный интерфейс для управления Docker-контейнерами и образами.
Управление контейнерами
- В главном меню выберите "Docker" -> "Контейнеры"
- Вы увидите список всех запущенных контейнеров
- Для каждого контейнера доступны действия:
- Запуск/остановка
- Перезапуск
- Просмотр логов
- Удаление
- Присоединение к терминалу контейнера
Управление образами
- В главом меню выберите "Docker" -> "Образы"
- Вы увидите список всех доступных образов
- Возможные действия:
- Поиск новых образов
- Загрузка образов
- Удаление ненужных образов
- Просмотр информации об образе
Создание собственных образов
Calagopus позволяет создавать собственные Docker-образы:
- Выберите "Docker" -> "Сборка образов"
- Укажите путь к Dockerfile
- Настройте параметры сборки
- Запустите сборку
Пример Dockerfile для игрового сервера:
FROM openjdk:17
WORKDIR /server
COPY server.jar .
EXPOSE 25565
CMD ["java", "-Xmx2G", "-Xms1G", "-jar", "server.jar"]
Система плагинов Calagopus и ее возможности
Calagopus поддерживает плагины для расширения функциональности. Плагины позволяют добавлять новые возможности, интеграции с другими сервисами и кастомизацию интерфейса.
Установка плагинов
- Скачайте плагин из официального репозитория
- Перейдите в "Плагины" -> "Установленные"
- Нажмите "Добавить плагин"
- Укажите путь к файлу плагина
- Перезапустите Calagopus
Популярные плагины
- Discord интеграция - уведомления о состоянии серверов в Discord
- Telegram бот - управление серверами через Telegram
- Система бэкапов - расширенные возможности резервного копирования
- Панель статистики - детальная статистика использования ресурсов
- Система мониторинга - интеграция с Prometheus/Grafana
Создание собственных плагинов
Для создания собственного плагина используйте Calagopus SDK:
- Создайте директорию для плагина
- Реализуйте интерфейс плагина на Go
- Соберите плагин в виде библиотеки
- Установите плагин через интерфейс Calagopus
Пример структуры простого плагина:
my-plugin/
├── go.mod
├── go.sum
├── plugin.go
└── config.yaml
Содержимое plugin.go:
package main
import "github.com/Calagopus/plugin-sdk"
type MyPlugin struct{}
func (p *MyPlugin) Init(config map[string]interface{}) error {
// Инициализация плагина
return nil
}
func (p *MyPlugin) Execute() error {
// Основная логика плагина
return nil
}
func main() {
plugin := &MyPlugin{}
plugin.RegisterPlugin(plugin)
}
Оптимизация производительности и использование ресурсов
Для эффективного использования ресурсов вашего домашнего сервера Calagopus предоставляет несколько инструментов оптимизации.
Мониторинг ресурсов
- В главном меню выберите "Мониторинг"
- Здесь вы увидите:
- Использование CPU
- Использование памяти
- Использование диска
- Сетевой трафик
Оптимизация использования CPU
Чтобы снизить нагрузку на процессор:
- В настройках Calagopus ограничьте количество одновременно запущенных серверов
- Используйте параметры запуска серверов для ограничения ресурсов:
- Для Java-серверов:
-Xmxи-Xmsдля ограничения памяти - Для других серверов: соответствующие флаги
- Для Java-серверов:
Оптимизация использования диска
- Регулярно удаляйте ненужные файлы и бэкапы
- Используйте сжатие для бэкапов
- Настройте автоматическую очистку старых логов
Распределение нагрузки
Если у вас несколько серверов, используйте балансировку:
- Настройте разные порты для серверов
- Используйте reverse-proxy (например, Nginx) для внешнего доступа
- Для Docker-контейнеров используйте ограничения ресурсов через Docker Compose
Пример docker-compose.yml с ограничениями ресурсов:
version: '3'
services:
minecraft:
image: itzg/minecraft-server
deploy:
resources:
limits:
cpus: '1.0'
memory: 2G
reservations:
cpus: '0.5'
memory: 1G
Безопасность и обновления Calagopus
Безопасность
Для обеспечения безопасности Calagopus рекомендуется:
- Использовать сильные пароли для входа в систему
- Настроить SSL/TLS для веб-интерфейса
- Ограничить доступ к веб-интерфейсу по IP
- Регулярно обновлять Calagopus
- Использовать брандмауэр для ограничения доступа к портам
Настройка SSL/TLS
- Получите SSL-сертификат (например, через Let's Encrypt)
- Настройте Nginx как reverse-proxy:
server { listen 443 ssl; server_name ваш_домен; ssl_certificate /путь/к/cert.pem; ssl_certificate_key /путь/к/key.pem; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
Обновления Calagopus
- Проверьте наличие новых версий в разделе "Обновления"
- Перед обновлением создайте резервную копию конфигурации
- Выполните обновление:
sudo systemctl stop calagopus wget https://github.com/Calagopus/calagopus/releases/latest/download/calagopus-linux-amd64.zip unzip calagopus-linux-amd64.zip sudo mv calagopus /opt/calagopus/ sudo systemctl start calagopus - Проверьте работу системы после обновления
Заключение: преимущества Calagopus для вашего домашнего сервера
Calagopus предлагает мощное и гибкое решение для управления игровыми серверами и Docker в домашней сети. Ключевые преимущества:
- Единый интерфейс - управление всеми серверами и контейнерами в одном месте
- Простота использования - интуитивный веб-интерфейс не требует глубоких технических знаний
- Гибкость - поддержка множества игр и возможность добавления кастомных серверов
- Мониторинг - отслеживание ресурсов и состояния серверов в реальном времени
- Расширяемость - система плагинов для добавления новых возможностей
- Автоматизация - автоматические обновления и резервное копирование
Для владельцев домашних серверов Calagopus становится незаменимым инструментом, экономя время и упрощая администрирование множества сервисов. Независимо от того, запускаете ли вы несколько игровых серверов для друзей или управляете сложной инфраструктурой Docker-контейнеров, Calagopus предоставляет все необходимые функции в едином решении.