Add interactive install.sh for server deployment
This commit is contained in:
@@ -7,6 +7,7 @@ Telegram-бот на Go для управления VPN через панель
|
||||
## Содержание
|
||||
|
||||
- [Требования](#требования)
|
||||
- [Установщик (рекомендуется)](#установщик-на-сервере)
|
||||
- [Быстрый старт](#быстрый-старт-docker-compose)
|
||||
- [PostgreSQL](#postgresql)
|
||||
- [Развёртывание на VPS](#развёртывание-на-vps-linux)
|
||||
@@ -29,6 +30,63 @@ Telegram-бот на Go для управления VPN через панель
|
||||
|
||||
---
|
||||
|
||||
## Установщик на сервере
|
||||
|
||||
Интерактивный скрипт запросит все параметры, создаст `.env` и запустит Docker.
|
||||
|
||||
### Требования на сервере
|
||||
|
||||
- Linux (Ubuntu 22.04/24.04, Debian 12)
|
||||
- `curl`, `git` (для клонирования)
|
||||
- Права `sudo` (для установки Docker при необходимости)
|
||||
|
||||
### Установка одной командой
|
||||
|
||||
Если репозиторий уже на сервере:
|
||||
|
||||
```bash
|
||||
cd tgvpn
|
||||
chmod +x install.sh
|
||||
./install.sh
|
||||
```
|
||||
|
||||
Или скачайте скрипт и укажите каталог `/opt/tgvpn`:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /opt/tgvpn
|
||||
cd /opt/tgvpn
|
||||
git clone <URL-вашего-репозитория> .
|
||||
chmod +x install.sh
|
||||
./install.sh
|
||||
```
|
||||
|
||||
### Что спрашивает установщик
|
||||
|
||||
| Блок | Параметры |
|
||||
|------|-----------|
|
||||
| Telegram | `BOT_TOKEN`, `TELEGRAM_ADMIN_ID`, `BOT_DEBUG` |
|
||||
| Remnawave | URL панели, API token, Caddy token, subscription URL |
|
||||
| PostgreSQL | пользователь, база, пароль (можно сгенерировать случайный) |
|
||||
| VPN | срок по умолчанию, UUID сквадов (опционально) |
|
||||
| Система | каталог установки, URL git (если не из текущей папки) |
|
||||
|
||||
После завершения: `docker compose up -d --build`, проверка `docker compose ps`.
|
||||
|
||||
### Переменные окружения для PostgreSQL в compose
|
||||
|
||||
В `.env` должны совпадать `POSTGRES_PASSWORD` и пароль в `DATABASE_URL`:
|
||||
|
||||
```env
|
||||
POSTGRES_USER=tgvpn
|
||||
POSTGRES_PASSWORD=ваш_сильный_пароль
|
||||
POSTGRES_DB=tgvpn
|
||||
DATABASE_URL=postgres://tgvpn:ваш_сильный_пароль@db:5432/tgvpn?sslmode=disable
|
||||
```
|
||||
|
||||
Установщик заполняет это автоматически.
|
||||
|
||||
---
|
||||
|
||||
## Быстрый старт (Docker Compose)
|
||||
|
||||
### 1. Клонирование
|
||||
@@ -645,6 +703,7 @@ tgvpn/
|
||||
│ │ └── migrations/ # SQL-миграции (001_init.sql)
|
||||
│ └── remnawave/ # API панели (users, squads)
|
||||
├── Dockerfile # multi-stage сборка
|
||||
├── install.sh # интерактивный установщик на сервер
|
||||
├── docker-compose.yml # bot + PostgreSQL (volume pgdata)
|
||||
├── .env.example # шаблон переменных
|
||||
├── .dockerignore
|
||||
|
||||
Reference in New Issue
Block a user