starter/.env.example

59 lines
4.3 KiB
Text
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.

# Скопируй этот файл в .env (без .example) и заполни.
# .env ДОЛЖЕН быть закоммичен в git — это конфиг деплоя, не секреты.
# (Секреты — отдельно, через Forgejo Actions secrets, см. RUNTIME_KEYS ниже.)
# Домен сайта. Обязательно. Платформа выпустит SSL (Let's Encrypt) и направит
# домен на твой сайт. Заранее пропиши A-запись домена на IP сервера платформы.
DOMAIN=mysite.com
# Twitter / X проекта (для админ-панели: показывается рядом с сайтом). Необязательно.
# Можно @handle, handle или полный URL — платформа нормализует.
# TWITTER=@mysite
# TWITTER=
# Тип деплоя. По умолчанию авто-детект:
# 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
# Доп. домены: тот же сайт ещё на нескольких доменах, на каждый — свой авто-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.<domain> | sh` (только static).
# Укажи имя файла-скрипта из своей СБОРКИ (положи его в public/, чтобы попал в dist/).
# Платформа сама поднимет get.<domain>, выпустит SSL и будет отдавать этот файл как
# text/plain. От тебя: (1) public/install.sh в репе, (2) A-запись get.<domain> → IP
# сервера, (3) INSTALL_SH ниже. Убери строку → сабдомен снимется на следующем деплое.
# INSTALL_SH=install.sh