clean starter (phase 5)
Some checks failed
deploy / deploy (push) Failing after 3s

This commit is contained in:
ops 2026-06-01 23:44:09 +00:00
parent 34568bf338
commit bfe5a0faa4
4 changed files with 232 additions and 2 deletions

41
.env.example Normal file
View file

@ -0,0 +1,41 @@
# Скопируй этот файл в .env (без .example) и заполни.
# .env ДОЛЖЕН быть закоммичен в git — это конфиг деплоя, не секреты.
# (Секреты — отдельно, через Forgejo Actions secrets, см. RUNTIME_KEYS ниже.)
# Домен сайта. Обязательно. Платформа выпустит SSL (Let's Encrypt) и направит
# домен на твой сайт. Заранее пропиши A-запись домена на IP сервера платформы.
DOMAIN=mysite.com
# Тип деплоя. По умолчанию авто-детект:
# 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.<domain> ТОЛЬКО если у него есть
# A-запись на наш IP. false — привязать лишь основной домен.
# WWW=false
# 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=