40 lines
1.5 KiB
Bash
Executable file
40 lines
1.5 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# =========================================
|
|
# Loki Discord Bot — VPS Deploy Script
|
|
# Запускать на VPS после git clone
|
|
# =========================================
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
echo "=== 1. Проверка Docker ==="
|
|
command -v docker >/dev/null 2>&1 || { echo "Docker не установлен"; exit 1; }
|
|
command -v docker compose >/dev/null 2>&1 || { echo "docker compose не найден"; exit 1; }
|
|
|
|
echo "=== 2. Создание .env из .env.example ==="
|
|
if [ ! -f .env ]; then
|
|
cp .env.example .env
|
|
echo "Файл .env создан. ОТРЕДАКТИРУЙ ЕГО ПЕРЕД ЗАПУСКОМ!"
|
|
echo "Заполни токены в .env и запусти скрипт снова."
|
|
exit 0
|
|
fi
|
|
|
|
echo "=== 3. Создание необходимых директорий ==="
|
|
mkdir -p data/prompts data/knowledge lavalink/plugins logs
|
|
|
|
echo "=== 4. Проверка Lavalink плагинов ==="
|
|
if [ -z "$(ls -A lavalink/plugins 2>/dev/null)" ]; then
|
|
echo "ВНИМАНИЕ: lavalink/plugins пуста."
|
|
echo "Скачай плагины вручную если нужно (youtube-plugin, lavasrc-plugin)."
|
|
fi
|
|
|
|
echo "=== 5. Сборка и запуск ==="
|
|
docker compose up --build -d
|
|
|
|
echo ""
|
|
echo "=== Готово! ==="
|
|
echo " docker compose logs -f — логи"
|
|
echo " docker compose down — остановить"
|
|
echo " docker compose restart — перезапустить"
|