DC_CMS/README.md

3.3 KiB
Raw Blame History

DC CMS

Отдельный сервис администрирования сайтов DCTOUCH / NODE.DC.

Первый подключенный проект

projects/nodedc.json подключает существующий сайт:

  • siteRoot: локальный путь к репозиторию сайта.
  • previewUrl: локальный адрес предпросмотра.
  • publicUrl: публичный домен сайта.
  • deploy: настройки будущей публикации на хостинг.

Пароль хостинга не хранится в JSON. В конфиге указывается имя переменной окружения, например MCHOST_PASSWORD.

Локальный запуск

PORT=8210 npm run admin

Админка будет доступна на http://127.0.0.1:8210/admin/, а подключенный сайт на http://127.0.0.1:8210/.

Запуск с Authentik

Полная локальная связка лежит в infra/: CMS, отдельный Authentik, Postgres и Caddy reverse proxy. Секреты хранятся только в локальном infra/.env; файл игнорируется git и Docker build context.

Для локальных доменов нужны host aliases:

127.0.0.1 cms.local.nodedc cms-auth.local.nodedc cms-auth-admin.local.nodedc

Старт:

docker compose --env-file infra/.env -f infra/docker-compose.yml up -d --build
infra/scripts/bootstrap-authentik.sh

Адреса:

  • CMS: http://cms.local.nodedc:8210/admin/
  • Authentik login: http://cms-auth.local.nodedc:8210/
  • Authentik admin: http://cms-auth-admin.local.nodedc:8210/if/admin/

Bootstrap создает OIDC-приложение dc-cms, группы dc-cms:* и стартового администратора из infra/.env. После первичного входа временный пароль нужно заменить в Authentik.

Synology

Для Synology используется отдельный env-шаблон infra/.env.synology.example. Рабочий файл должен лежать рядом как infra/.env.synology и не должен попадать в artifact.

Публичные host routes:

  • cms.dcserve.ru -> CMS.
  • auth.dcserve.ru -> Authentik login/OIDC issuer.
  • auth-admin.dcserve.ru -> Authentik admin, опционально и лучше не открывать публично без необходимости.

DNS-записи должны вести на внешний IP NAS. В Synology Reverse Proxy:

  • cms.dcserve.ru -> http://172.22.0.222:9918
  • auth.dcserve.ru -> http://172.22.0.222:9919

Оба target-порта ведут в один Caddy контейнер внутри compose-проекта dc-cms; Caddy разводит запросы по Host.

Bootstrap Authentik on Synology:

cd /volume1/docker/dc-cms/source/infra
sudo env CMS_ENV_FILE=.env.synology sh ./scripts/bootstrap-authentik.sh

Bootstrap выполняется так же, как в платформе NODE.DC: через authentik-server ak shell < authentik/bootstrap-cms.py. Ручной вход в worker, VENV_PATH и отдельный apply_blueprint не являются штатным сценарием.