Стек: Astro (статический генератор) + Node.js 22 + pnpm + Gitea Actions CI/CD
Сервер: Server 1 (159.194.225.30)
Статус: 🟡 Инфраструктура готова, ждёт код
⚠️ 12.07.2026 — переход с Wagtail (Django CMS) на Astro static. Старая документация: 📦 Wagtail (архив)
Gitea (git.poreklame.tech/poreklameadmin/poreklame-site)
│
│ push dev / stage / master
▼
Gitea Actions Runner (act_runner v0.6.1, systemd)
│
│ pnpm install → astro build → rsync
▼
/var/www/poreklame/{dev,stage,prod}/
│
▼
Nginx (SSL через Let's Encrypt)
│
├── https://poreklame.tech → /var/www/poreklame/prod/
├── https://stage.poreklame.tech → /var/www/poreklame/stage/ (+ basic auth)
└── https://dev.poreklame.tech → /var/www/poreklame/dev/ (+ basic auth)
| Окружение | Ветка | Домен | Путь | SSL | Basic Auth | Noindex |
|---|---|---|---|---|---|---|
| Prod | master |
poreklame.tech |
/var/www/poreklame/prod/ |
✅ | — | — |
| Stage | stage |
stage.poreklame.tech |
/var/www/poreklame/stage/ |
✅ | ✅ | ✅ |
| Dev | dev |
dev.poreklame.tech |
/var/www/poreklame/dev/ |
✅ | ✅ | ✅ |
| Окружение | Логин | Пароль |
|---|---|---|
| Stage | poreklame |
gD9skms4J0t3/RIz |
| Dev | poreklame |
o3llnwPFs0tHoqZ+ |
| Параметр | Значение |
|---|---|
| Пользователь | deploy |
| Home | /home/deploy/ |
| SSH ключ | /home/deploy/.ssh/id_ed25519 |
| Права на /var/www | deploy:deploy (755) |
| SSH с ноутбука | ssh deploy@159.194.225.30 -p 18953 |
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPrgI8L1rL0wvRuRS9+SgyDuCzIeKD6ze39yApQTXnru deploy@poreklame.tech
На сервере подготовлено для работы Claude Code через SSH:
# Подключение
ssh deploy@159.194.225.30 -p 18953
# Первый запуск — клонировать репозиторий
cd /home/deploy/work
git clone git@git.poreklame.tech:poreklameadmin/poreklame-site.git
cd poreklame-site
# Установка зависимостей и билд
pnpm install
pnpm run build # должно собрать статику в dist/
# Ручной деплой (если нужно мимо Actions)
rsync -avz --delete dist/ /var/www/poreklame/dev/
Инструменты на сервере: Node.js v22.23.1, npm 10.9.8, pnpm 11.12.0
Git remote уже настроен в /home/deploy/.ssh/config:
Host git.poreklame.tech
HostName 127.0.0.1
Port 22
User git
Workflow в репозитории: .gitea/workflows/deploy.yml
При push в ветку:
dev → собирает → деплой в /var/www/poreklame/dev/stage → собирает → деплой в /var/www/poreklame/stage/master → собирает → деплой в /var/www/poreklame/prod/Что нужно в репозитории:
package.json с "build": "astro build" (или другой билдер)pnpm-lock.yamldist/Управление runner:
sudo systemctl status gitea-runner # статус
sudo systemctl restart gitea-runner # перезапуск
journalctl -u gitea-runner -f # логи
| Параметр | Значение |
|---|---|
| Сервер | Server 1 |
| IP | 159.194.225.30 |
| SSH | ssh deploy@159.194.225.30 -p 18953 |
| Nginx конфиги | /etc/nginx/sites-available/poreklame-{prod,stage,dev} |
# Проверить что nginx работает
curl -sI https://poreklame.tech | head -1
# → HTTP/1.1 403 (пустая папка) или 200 (есть index.html)
# Проверить stage (с авторизацией)
curl -s -u 'poreklame:gD9skms4J0t3/RIz' -I https://stage.poreklame.tech | head -1
# Проверить dev (с авторизацией)
curl -s -u 'poreklame:o3llnwPFs0tHoqZ+' -I https://dev.poreklame.tech | head -1
# Ручной деплой в dev
cd /home/deploy/work/poreklame-site
git pull origin dev
pnpm install && pnpm run build
rsync -avz --delete dist/ /var/www/poreklame/dev/
Старый Wagtail-сайт заархивирован:
| Архив | Размер | Путь |
|---|---|---|
| Prod | 319M | /var/backups/site-poreklame-20260712-0937.tar.gz |
| Dev | 259M | /var/backups/site-poreklame-dev-20260712-0937.tar.gz |
| Staging | 318M | /var/backups/site-poreklame-staging-20260712-0937.tar.gz |
Nginx-конфиги Wagtail: /var/backups/wagtail-*.nginx.20260712-0937
Обновлено: 12.07.2026. Автор: Денис (DevOps)