Files
dedinit.ru/docs/DEPLOY_INSTRUCTIONS.md
T
estorozhenko d426aa39ed chore(docs): уборка структуры — вся документация в docs/, краткий README, добавлен AGENTS.md
- AGENTS.md: правила проекта (структура доков, стек, статьи, деплой, git, openspec, проверки)
- README.md: сокращён до введения + указателей на docs/
- docs/: DEPLOY_INSTRUCTIONS, ROADMAP, PAPERMOD_PARAMS, QWEN, gitea-setup,
  Telegram_frontend, ssh_setup, archive/PROJECT_SUMMARY (из .qwen/)
- tools/: winscp_script.txt переехал из корня к deploy_sftp.py
- Makefile и deploy_sftp.py: ссылки на docs/DEPLOY_INSTRUCTIONS.md
2026-09-12 09:58:09 +00:00

109 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Инструкция по публикации сайта через SFTP
## Описание
Этот документ описывает процесс публикации сгенерированного сайта (папка `public`)
на хостинге через SFTP. Решение кроссплатформенное и работает как на Unix-подобных
системах (Linux/macOS), так и на Windows.
> **ВАЖНО: деплой сайта выполняется ТОЛЬКО через `make deploy`.** Аккаунт Jino —
> SFTP-only: удалённый запуск команд (rsync, ssh-exec) запрещён сервером
> (ошибка `exec request failed on channel 0`). Прямой rsync на этот аккаунт
> НЕ РАБОТАЕТ.
## Учетные данные и параметры подключения
- **Хост**: kpa39l.myjino.ru
- **Порт SFTP**: 2222
- **Пользователь**: kpa39l_dedinit
- **Пароль**: -Zp4ep747t25
- **Целевой путь**: /dedinit.ru (относительно корня аккаунта)
## Установка зависимостей
### Для Linux/macOS
- **Python 3** (с venv/pip)
- **Make** — для выполнения команд из Makefile
- Пакет `paramiko` ставится автоматически в `.venv/` при первом `make deploy`
(таргет `venv`), либо вручную: `pip install paramiko`
### Для Windows
- **WinSCP** — установите с официального сайта (<https://winscp.net/>)
- **Make** — можно установить через Chocolatey, MinGW или Git for Windows
## Использование Makefile
### Сборка сайта
```bash
make build
```
Команда генерирует сайт в папку `public/`.
### Деплой сайта
```bash
# один раз экспортируем пароль SFTP (каждый раз в новой сессии)
export SSHPASS='-Zp4ep747t25'
make deploy
```
ЕДИНСТВЕННЫЙ способ публикации. Сначала собирает сайт, затем зеркалирует
`public/` на сервер (`/dedinit.ru`) с удалением устаревших файлов
(аналог `rsync --delete`):
- **Unix**: `tools/deploy_sftp.py` (paramiko, SFTP + рекурсивный mirror)
- **Windows**: WinSCP.com (скрипт `winscp_script.txt`)
Если `SSHPASS` не задана — `make deploy` завершится с ошибкой и подсказкой.
### Симуляция деплоя
```bash
export SSHPASS='-Zp4ep747t25'
make deploy-dry-run
```
Собирает сайт и показывает, какие файлы будут загружены/удалены, без заливки.
### Очистка
```bash
make clean
```
Команда удаляет папку `public/`.
### Полная пересборка
```bash
make rebuild
```
Команда удаляет папку `public/`, затем заново собирает и деплоит сайт.
### Справка
```bash
make help
```
Показывает список доступных команд.
## Конфигурация
Параметры подключения для Unix находятся в `tools/deploy_sftp.py`
(переменные `DEDINIT_HOST`, `DEDINIT_PORT`, `DEDINIT_USER`, `DEDINIT_REMOTE`,
по умолчанию — kpa39l.myjino.ru:2222 / kpa39l_dedinit / /dedinit.ru).
На Windows — в `Makefile` и `winscp_script.txt`.
При необходимости вы можете изменить эти параметры.
## Настройка для Windows
1. Убедиться, что WinSCP установлен в стандартную директорию
`C:\Program Files (x86)\WinSCP\`
2. Файл `winscp_script.txt` содержит команды для подключения и синхронизации файлов