Fix deploy without Go: Docker installer, optional .env
This commit is contained in:
@@ -17,8 +17,8 @@ curl -fsSL https://get.docker.com | sudo sh
|
||||
sudo usermod -aG docker $USER
|
||||
# Перелогиньтесь или: newgrp docker
|
||||
|
||||
# Git и Go (для установщика)
|
||||
sudo apt install -y git golang-go
|
||||
# Git (Go на сервере не обязателен — установка через Docker)
|
||||
sudo apt install -y git
|
||||
```
|
||||
|
||||
Проверка:
|
||||
@@ -28,6 +28,8 @@ docker --version
|
||||
docker compose version
|
||||
```
|
||||
|
||||
> **Go не нужен.** Установщик запускается внутри контейнера.
|
||||
|
||||
---
|
||||
|
||||
## 2. Клонирование проекта
|
||||
@@ -74,26 +76,23 @@ docker compose ps
|
||||
|
||||
## 4. Установщик (первичная настройка)
|
||||
|
||||
Интерактивно задаёт домен, БД и учётку администратора.
|
||||
Интерактивно задаёт домен, БД и учётку администратора. **Go на сервере не нужен.**
|
||||
|
||||
### Вариант A — Go на сервере
|
||||
### Вариант A — один скрипт (рекомендуется)
|
||||
|
||||
```bash
|
||||
go run ./cmd/install
|
||||
chmod +x scripts/setup.sh
|
||||
./scripts/setup.sh
|
||||
```
|
||||
|
||||
### Вариант B — сборка установщика
|
||||
### Вариант B — установщик в Docker вручную
|
||||
|
||||
```bash
|
||||
go build -o install ./cmd/install
|
||||
./install
|
||||
```
|
||||
docker compose up -d postgres
|
||||
# дождитесь healthy: docker compose ps
|
||||
|
||||
### Вариант C — установщик в Docker
|
||||
|
||||
```bash
|
||||
docker compose build
|
||||
docker compose run --rm panel /app/install
|
||||
docker compose build install
|
||||
docker compose --profile tools run --rm install
|
||||
```
|
||||
|
||||
При запросах укажите:
|
||||
@@ -102,7 +101,7 @@ docker compose run --rm panel /app/install
|
||||
|------|--------|------------|
|
||||
| Домен панели | `panel.example.com` | Для ссылок и nginx |
|
||||
| Порт приложения | `8080` | Внешний порт в compose |
|
||||
| Хост БД | `postgres` | Имя сервиса в docker-compose |
|
||||
| Хост БД | **`postgres`** | Обязательно имя сервиса Docker, не `localhost` |
|
||||
| Порт БД | `5432` | |
|
||||
| Пользователь БД | `vpnpanel` | |
|
||||
| Пароль БД | *свой надёжный* | |
|
||||
@@ -218,7 +217,9 @@ cat backup.sql | docker exec -i vpn-panel-db psql -U vpnpanel vpnpanel
|
||||
|
||||
| Проблема | Решение |
|
||||
|----------|---------|
|
||||
| `DATABASE_URL не задан` | Запустите `./install` или создайте `.env` из `.env.example` |
|
||||
| `Command 'go' not found` | Не ставьте Go — используйте `./scripts/setup.sh` или `docker compose --profile tools run --rm install` |
|
||||
| `env file .env not found` | Обновите репозиторий (`git pull`) или создайте `.env`: `cp .env.example .env` и отредактируйте |
|
||||
| `DATABASE_URL не задан` | Запустите установщик в Docker или создайте `.env` из `.env.example` |
|
||||
| Нет подключения к БД | `docker compose ps`, проверьте `healthy` у postgres |
|
||||
| Порт занят | Смените `APP_PORT` в `.env` и в `docker-compose.yml` |
|
||||
| Регистрация закрыта | Админ уже есть — используйте `/login` |
|
||||
|
||||
Reference in New Issue
Block a user