Тема
Admin та Partner Deploy
Адмін-панель (admin.pisd.uk)
SSH rebuild
bash
ssh -i ~/.ssh/hetzner root@37.27.202.249 \
"cd /opt/pisd/pisduk && git pull --ff-only && cd admin && docker compose build --no-cache && docker compose up -d"Docker Compose (admin)
yaml
services:
admin:
build:
context: .
dockerfile: Dockerfile
ports:
- "5174:80"
environment:
- VITE_API_URL=https://api.pisd.uk/v1Cloudflare Pages (опційно)
Адмін також може бути задеплоєний на Cloudflare Pages:
bash
cd admin
npm run build
CLOUDFLARE_ACCOUNT_ID=137d7ea3d26bd0e5f485cb77f614a7a6 \
npx wrangler pages deploy dist \
--project-name peaced-admin \
--branch mainCloudflare Access
Адмін-панель захищена Cloudflare Access:
- Тільки корпоративні пошти дозволені
- Налаштування в Cloudflare Dashboard → Access → Applications →
admin.pisd.uk
TIP
Cloudflare Access — перший рівень захисту. Другий — серверна перевірка ролі admin.
Кабінет партнера (partner.peaced.uk)
SSH rebuild
bash
ssh -i ~/.ssh/hetzner root@37.27.202.249 \
"cd /opt/pisd/pisduk && git pull --ff-only && cd partner && docker compose build --no-cache && docker compose up -d"Той самий патерн, що й для admin, але директорія partner.
Локальна розробка
Admin
bash
cd admin
npm install
npm run dev # Vite dev server на :5174
npm run build # production build → dist/
npm run typecheckPartner
bash
cd partner
npm install
npm run dev
npm run buildЗмінні середовища
| Змінна | Admin | Partner | Опис |
|---|---|---|---|
VITE_API_URL | ✅ | ✅ | Base URL API |
VITE_APP_URL | ✅ | — | URL застосунку |
Для local dev — .env.local:
bash
VITE_API_URL=http://localhost:3000/v1Troubleshooting
Docker build fails
bash
# Перевір логи
ssh -i ~/.ssh/hetzner root@37.27.202.249 \
"cd /opt/pisd/pisduk/admin && docker compose logs"
# Очисти кеш Docker
ssh -i ~/.ssh/hetzner root@37.27.202.249 \
"docker system prune -f"Зміни не видно після деплою
- Перевір, що
git pullспрацював (правильна гілка, правильний ремоут) - Очисти браузерний кеш або відкрий у incognito
- Перевір Cloudflare CDN кеш — purge через Dashboard якщо потрібно
Admin показує 403
- Перевір Cloudflare Access — чи дозволена ваша пошта
- Перевір роль користувача в БД (
user.role === 'admin')