From 47a5bba3f889dc5e833a0190ce129818585f30e4 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 17 Jul 2026 12:00:36 +0000 Subject: [PATCH] init platform/launch --- starter/.env.example | 59 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 starter/.env.example diff --git a/starter/.env.example b/starter/.env.example new file mode 100644 index 0000000..60a3e4f --- /dev/null +++ b/starter/.env.example @@ -0,0 +1,59 @@ +# Скопируй этот файл в .env (без .example) и заполни. +# .env ДОЛЖЕН быть закоммичен в git — это конфиг деплоя, не секреты. +# (Секреты — отдельно, через Forgejo Actions secrets, см. RUNTIME_KEYS ниже.) + +# Домен сайта. Обязательно. Платформа выпустит SSL (Let's Encrypt) и направит +# домен на твой сайт. Заранее пропиши A-запись домена на IP сервера платформы. +DOMAIN=mysite.com + +# Twitter / X проекта (для админ-панели: показывается рядом с сайтом). Необязательно. +# Укажи полный URL профиля. (Также принимается @handle или TWITTER=.) +# TWITTER_URL=https://x.com/mysite +# TWITTER_URL= + +# Тип деплоя. По умолчанию авто-детект: +# static — фронт (Vite/CRA/Next static export). bun build → раздаётся как +# статика напрямую (без контейнера). Самый быстрый. Дефолт, если в +# корне НЕТ Dockerfile. +# docker — свой Dockerfile в корне: собирается образ и поднимается контейнер. +# Дефолт, если Dockerfile ЕСТЬ. +# docker-db — как docker + персистентная SQLite. Платформа монтирует named-volume +# в /data и прокидывает DATABASE_URL=file:/data/app.db. Переживает +# редеплои. Миграции — твой entrypoint (drizzle/prisma). +# DEPLOY=static + +# Папка со сборкой для static. Default: dist (Vite). CRA → build. Next export → out. +# BUILD_DIR=dist + +# Порт, который слушает твой контейнер (только docker/docker-db). Default: 80. +# APP_PORT=3000 + +# Поведение www. По умолчанию auto — подключим www. ТОЛЬКО если у него есть +# A-запись на наш IP. false — привязать лишь основной домен. +# WWW=false + +# Доп. домены: тот же сайт ещё на нескольких доменах, на каждый — свой авто-SSL. +# Через запятую. Пропиши A-запись каждого на IP платформы. www для доп-доменов сам +# не добавляется — впиши www.alias.com явно, если нужен. Подробнее — README. +# EXTRA_DOMAINS=mysite.io,app.mysite.com +# EXTRA_DOMAINS= + +# Kill-switch. Default true. Поставь false и push — контейнер/сайт удаляется, домен +# отдаёт 404. Убери строку (или true) и push — поднимается обратно. Данные (volume, +# секреты) сохраняются. +# ENABLED=false + +# Какие секреты прокинуть в контейнер (docker/docker-db). Список имён через запятую. +# Сами значения заведи в Forgejo: репа → Settings → Actions → Secrets → Add Secret, +# имя секрета = имя переменной окружения. Платформа возьмёт только перечисленные ключи. +# RUNTIME_KEYS=DATABASE_URL,JWT_SECRET +# → контейнер получит process.env.DATABASE_URL и process.env.JWT_SECRET. +# Для DEPLOY=docker-db переменную DATABASE_URL НЕ указывай — она ставится автоматически. +# RUNTIME_KEYS= + +# Инсталл-сабдомен для one-liner'а `curl get. | sh` (только static). +# Укажи имя файла-скрипта из своей СБОРКИ (положи его в public/, чтобы попал в dist/). +# Платформа сама поднимет get., выпустит SSL и будет отдавать этот файл как +# text/plain. От тебя: (1) public/install.sh в репе, (2) A-запись get. → IP +# сервера, (3) INSTALL_SH ниже. Убери строку → сабдомен снимется на следующем деплое. +# INSTALL_SH=install.sh