From 0912c57515ccc06114831a0d47341e076ff92f32 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 10 Jul 2026 22:34:08 +0000 Subject: [PATCH] docs: self-service install subdomain (curl get. | sh) --- README.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index aa085db..de9d834 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,27 @@ Push в `main` → сайт встаёт. - **Kill-switch** как раньше: `ENABLED=false` в `.env` → сайт отдаёт 404; убери строку (или `true`) → вернётся. - **БД**: вместо общего Postgres — своя SQLite в volume (`docker-db`). Если нужна была твоя старая Postgres-дата — скажи админу, достанем из бэкапа. -## 7. Полная дока +## 7. `curl get.твойдомен | sh` — установочный сабдомен (self-service) + +Хочешь красивый one-liner установки (`curl get.mysite.com | sh`)? Делается **сам, +без админа**, для `static`-сайтов. Три шага: + +1. **Скрипт кладёшь в репу** → `public/install.sh` (папка `public/` у Vite попадает + в `dist/` как есть, т.е. окажется в корне сайта). +2. **DNS**: в своём регистраторе добавь A-запись `get` → IP сервера платформы + (там же, где `@` и `www`). Только `get`, host = `get`. +3. **`.env`**: добавь строку `INSTALL_SH=install.sh` и `git push`. + +Всё. CI сам поднимет `get.твойдомен`, выпустит SSL и будет отдавать `install.sh` +как `text/plain` (то, что нужно для `| sh`). Убери `INSTALL_SH` из `.env` и запушь — +сабдомен снимется. + +> Тонкости: работает для `static`; имя файла в `INSTALL_SH` — как в сборке (лежит в +> корне `dist/`). Если сабдомен отдаёт 404 — значит скрипта ещё нет в сборке или +> DNS-запись `get` не указывает на наш IP (в логе деплоя будет `::warning::` про это). +> Апекс-домен и `www` не затрагиваются — это отдельный фрагмент. + +## 8. Полная дока Деплой во всех деталях (CRA, Next.js, монорепо, кастомный Dockerfile, авто-www и т.д.) — **README в `templates/starter`**: https://git.154.83.149.72.nip.io/templates/starter