Назад к DCKGitHub
dck-client
v0.0.0Веб-панель управления DCK
WebSocket Console
xterm.js терминал в браузере
JWT Auth
Безопасная аутентификация + RBAC
Backups
Бэкапы и восстановление tar.gz
File Manager
Полноценный файловый менеджер
Установка (Ubuntu/Debian)
terminal
curl -sSL https://raw.githubusercontent.com/animesao/dck-client/main/install.sh | sudo bash
# С кастомным портом
curl -sSL https://raw.githubusercontent.com/animesao/dck-client/main/install.sh | sudo bash -s 8443После установки: панель на https://your-server:443, логин admin / admin
Ручная установка
terminal
# Установи dck
curl -fsSL https://github.com/anomalyco/dck/releases/latest/download/dck-linux-amd64 -o /usr/local/bin/dck
chmod +x /usr/local/bin/dck
# Склонируй
git clone https://github.com/animesao/dck-client.git
cd dck-client
./build.sh
cp server/dck-panel /usr/local/bin/
# Systemd сервис
cat > /etc/systemd/system/dck-panel.service << 'EOF'
[Unit]
Description=dck Panel
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/dck-panel --port 443
Environment=DCK_HOME=/root/.dck
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now dck-panelАрхитектура
terminal
┌──────────────────────┐
│ Browser (React) │
│ xterm.js console │
└──────────┬───────────┘
│ HTTPS/WS
┌──────────▼───────────┐
│ Go API Server │
│ (dck-panel binary) │
│ ┌─────────────────┐ │
│ │ JWT Auth │ │
│ │ File Manager │ │
│ │ Backups │ │
│ │ WebSocket │ │
│ │ Admin Panel │ │
│ └─────────────────┘ │
└──────────┬───────────┘
│ os/exec
┌──────────▼───────────┐
│ dck CLI │
│ (container runtime)│
└──────────────────────┘API Endpoints
terminal
# Auth
POST /api/auth/login # Вход
POST /api/auth/register # Регистрация
GET /api/auth/me # Текущий пользователь
# System
GET /api/system # Информация о системе
GET /api/dashboard/stats # Статистика дашборда
# Containers
GET /api/containers # Список контейнеров
POST /api/containers # Создать контейнер
POST /api/containers/:id/start # Запустить
POST /api/containers/:id/stop # Остановить
POST /api/containers/:id/restart # Перезапустить
DELETE /api/containers/:id # Удалить
GET /api/containers/:id/logs # Логи
POST /api/containers/:id/exec # Выполнить команду
GET /api/containers/:id/console # WebSocket консоль
# Files
GET /api/containers/:id/files # Список файлов
GET /api/containers/:id/files/read # Читать файл
POST /api/containers/:id/files/write # Записать файл
POST /api/containers/:id/files/upload # Загрузить
DELETE /api/containers/:id/files # Удалить
# Backups
POST /api/containers/:id/backups # Создать бэкап
POST /api/containers/:id/backups/:name/restore # Восстановить
# Admin
GET /api/admin/users # Список пользователей
POST /api/admin/users # Создать пользователя
PUT /api/admin/users/:id # Обновить
DELETE /api/admin/users/:id # УдалитьReact + TypeScript
Фронтенд на React 18 с TypeScript и Vite
Go Backend
Серверная часть на Go 1.26+ с echo/gin-like роутером
Dark Theme
Premium glassmorphism UI с градиентами