fix: server deploy setup and env example

This commit is contained in:
orohi
2026-06-17 04:35:48 +03:00
parent 8c21b62a4f
commit f214aaa48b
4 changed files with 51 additions and 5 deletions
+9
View File
@@ -1 +1,10 @@
# PostgreSQL
POSTGRES_USER=panel
POSTGRES_PASSWORD=panel_secret
POSTGRES_DB=panel
# Для go run ./cmd/migrate и ./cmd/panel (хост → контейнер)
DATABASE_URL=postgres://panel:panel_secret@localhost:5432/panel?sslmode=disable
# Для docker compose migrate (внутри docker-сети)
DATABASE_URL_DOCKER=postgres://panel:panel_secret@postgres:5432/panel?sslmode=disable
+11
View File
@@ -11,6 +11,17 @@
- **Docker Compose** — локальная разработка
- **golang-migrate** — миграции схемы
## Деплой на сервер
```bash
# Клонировать (подставьте токен вместо <TOKEN>)
git clone https://<TOKEN>@git.evilfox.cc/test2/panelhosting.git /opt/host
cd /opt/host
bash scripts/server-setup.sh
```
Если каталог `/opt/host` уже есть, но пустой — удалите его или клонируйте в него заново.
## Быстрый старт
### 1. Переменные окружения
+7 -5
View File
@@ -3,16 +3,17 @@ services:
image: postgres:16-alpine
container_name: panel-postgres
restart: unless-stopped
env_file: .env
environment:
POSTGRES_USER: panel
POSTGRES_PASSWORD: panel_secret
POSTGRES_DB: panel
POSTGRES_USER: ${POSTGRES_USER:-panel}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-panel_secret}
POSTGRES_DB: ${POSTGRES_DB:-panel}
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U panel -d panel"]
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-panel} -d ${POSTGRES_DB:-panel}"]
interval: 5s
timeout: 5s
retries: 5
@@ -22,11 +23,12 @@ services:
context: .
dockerfile: Dockerfile.migrate
container_name: panel-migrate
env_file: .env
depends_on:
postgres:
condition: service_healthy
command:
- "postgres://panel:panel_secret@postgres:5432/panel?sslmode=disable"
- "${DATABASE_URL_DOCKER:-postgres://panel:panel_secret@postgres:5432/panel?sslmode=disable}"
- "up"
profiles:
- migrate
+24
View File
@@ -0,0 +1,24 @@
#!/bin/bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
if [ ! -f .env.example ]; then
echo "Ошибка: .env.example не найден."
echo "Сначала клонируйте репозиторий:"
echo " git clone https://git.evilfox.cc/test2/panelhosting.git /opt/host"
exit 1
fi
if [ ! -f .env ]; then
cp .env.example .env
echo "Создан .env из .env.example"
else
echo ".env уже существует, пропускаем"
fi
docker compose up -d postgres
docker compose --profile migrate run --rm migrate
echo "Готово. PostgreSQL запущен, миграции применены."