From d29aef4b095387e13232dc9fa290b31004a0d2a8 Mon Sep 17 00:00:00 2001 From: ops Date: Tue, 2 Jun 2026 13:41:15 +0000 Subject: [PATCH] dev onboarding doc --- README.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6bdc88f..aa085db 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,90 @@ -# onboarding +# Онбординг: мы переехали с GitLab на Forgejo -Dev onboarding — what changed in the GitLab→Forgejo move \ No newline at end of file +GitLab выключен. Весь код, CI и деплой теперь на **Forgejo**: +**https://git.154.83.149.72.nip.io** + +Твой аккаунт и все репы (код + история) уже перенесены — заводить ничего не надо. +Ниже — что поменялось лично для тебя и что сделать один раз. + +--- + +## TL;DR (5 минут) +1. Зайди на https://git.154.83.149.72.nip.io — логин тот же, **временный пароль возьми у админа** → смени при первом входе. +2. Добавь свой SSH-ключ (Settings → SSH/GPG Keys). Новый порт — **2223**. +3. Перепривяжи `remote` своих реп на новый хост. +4. Деплой теперь через `.forgejo/workflows/deploy.yml` + `.env` (форкни `templates/starter`). Push в `main` → сайт с SSL. + +--- + +## 1. Доступ +- Форж: **https://git.154.83.149.72.nip.io** +- Логин: **твой прежний username** (как на GitLab). +- Пароль: **временный, возьми у админа**. При первом входе форж заставит сменить. + +> ⚠️ Пока не сменишь пароль в вебе — git по HTTPS/паролю работать НЕ будет (так задумано: временный пароль одноразовый). + +## 2. Git: новый хост, порт и ключ +SSH-ключи с GitLab **не переехали** — добавь заново. + +| | было (GitLab) | стало (Forgejo) | +|---|---|---| +| SSH | `git@gitlab.extractl.online:2222` | `git@git.154.83.149.72.nip.io:2223` | +| HTTPS | `https://gitlab.extractl.online/…` | `https://git.154.83.149.72.nip.io/…` | + +1. **Settings → SSH/GPG Keys → Add Key** → вставь `~/.ssh/id_ed25519.pub`. +2. `~/.ssh/config`: + ``` + Host git.154.83.149.72.nip.io + Port 2223 + User git + ``` +3. Перепривяжи каждую репу: + ``` + git remote set-url origin git@git.154.83.149.72.nip.io:<твой-логин>/<репа>.git + ``` + (Или HTTPS — логин + новый пароль, без `~/.ssh/config`.) + +## 3. Твои репы +Уже на Forgejo, код и история целы. Просто перепривяжи `remote` (см. выше) — и работаешь как раньше. + +## 4. Деплой: новый флоу +Принцип тот же (`.env` с `DOMAIN` → push → сайт с SSL), формат CI поменялся. + +| | было (GitLab) | стало (Forgejo) | +|---|---|---| +| CI-файл | `.gitlab-ci.yml` (`include auto.yml`) | `.forgejo/workflows/deploy.yml` | +| конфиг | `.env` | `.env` (почти то же) | +| триггер | push в `main` | push в дефолт-ветку | +| скорость | ~1–2 мин | ~20–60 сек | + +**Что сделать:** форкни **`templates/starter`** (https://git.154.83.149.72.nip.io/templates/starter) +или скопируй из него 2 файла в корень своей репы: +- `.forgejo/workflows/deploy.yml` — трогать не надо +- `.env` — минимум `DOMAIN=твойсайт.com` + +Push в `main` → сайт встаёт. + +### Тип проекта — новое поле `DEPLOY` в `.env` (можно не указывать, авто-детект) +- **`static`** — фронт (Vite / CRA / Next static export): build → раздаётся статикой. Дефолт, если в корне НЕТ `Dockerfile`. Самый быстрый. +- **`docker`** — свой `Dockerfile` → контейнер. Дефолт, если `Dockerfile` есть. +- **`docker-db`** — docker + персистентная **SQLite**: монтируется volume в `/data`, прокидывается `DATABASE_URL=file:/data/app.db`. + +## 5. Секреты (DATABASE_URL, API-ключи) — поменялось +| | было (GitLab) | стало (Forgejo) | +|---|---|---| +| где задать | CI/CD Variables с префиксом `RUNTIME_` | **Settings → Actions → Secrets** (имя секрета = имя переменной) | +| как включить | автоматом все `RUNTIME_*` | перечислить в `.env`: `RUNTIME_KEYS=DATABASE_URL,JWT_SECRET` | + +В коде читаешь как раньше — `process.env.DATABASE_URL`. Для `DEPLOY=docker-db` переменную `DATABASE_URL` указывать не надо (ставится автоматически). + +## 6. Ещё мелочи +- **Build на bun** — если закоммитишь `bun.lock`, install в 10–30× быстрее npm. Для Web3/Solana-проектов огромная разница. +- **Registry больше не нужен** — образ собирается и запускается на месте. +- **Kill-switch** как раньше: `ENABLED=false` в `.env` → сайт отдаёт 404; убери строку (или `true`) → вернётся. +- **БД**: вместо общего Postgres — своя SQLite в volume (`docker-db`). Если нужна была твоя старая Postgres-дата — скажи админу, достанем из бэкапа. + +## 7. Полная дока +Деплой во всех деталях (CRA, Next.js, монорепо, кастомный Dockerfile, авто-www и т.д.) — +**README в `templates/starter`**: https://git.154.83.149.72.nip.io/templates/starter + +Застрял — пиши админу.