ci / api (push) Successful in 50s
ci / recommender (push) Successful in 37s
ci / docker (образы собираются — их сервер собирает сам при обновлении) (apps/web/Dockerfile, web, ) (push) Successful in 44s
release / android + release (push) Failing after 53s
ci / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 45s
ci / ts (packages + web) (push) Successful in 37s
ci / docker (образы собираются — их сервер собирает сам при обновлении) (services/api/Dockerfile, api, api) (push) Successful in 1m30s
ci / docker (образы собираются — их сервер собирает сам при обновлении) (services/api/Dockerfile, storage-agent, storage-agent) (push) Successful in 52s
ci / docker (образы собираются — их сервер собирает сам при обновлении) (services/recommender/Dockerfile, recommender, ) (push) Successful in 28s
ci / mobile (Metro-бандл Android) (push) Successful in 49s
release / verify (push) Successful in 1m14s
- deploy/compose.yaml: every app service has `build:` (repo root context), local tags pipu-music-<service>:<version> - deploy/update.sh: git fetch → checkout tag (latest release by default, or vX.Y.Z / main) → docker compose build --pull → up -d → prune → /readyz; re-executes from a temp copy because checkout may replace the script - install.sh / .env.example: no REGISTRY, PIPU_VERSION set by update.sh, .env owned by the invoking user - release.yml: drop image publishing; release ships APK + sha256 only - ci.yml: new `docker` job builds all images without push - docs: install guide uses git clone, deployment/ci-cd updated, ADR-013 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
1.5 KiB
Bash
37 lines
1.5 KiB
Bash
# Скопируйте в .env (install.sh делает это сам и генерирует секреты). Описание — docs/deployment.md.
|
||
|
||
# --- Версия и данные ---
|
||
# PIPU_VERSION проставляет update.sh по git-тегу — вручную не менять
|
||
PIPU_VERSION=dev
|
||
PIPU_DATA=/srv/pipu
|
||
|
||
# --- Домен и HTTPS (docs/install-guide.md) ---
|
||
# Вариант А: встроенный Caddy с Let's Encrypt — оставьте строку COMPOSE_FILE и заполните DOMAIN, ACME_EMAIL.
|
||
# Вариант Б: свой reverse proxy — закомментируйте COMPOSE_FILE и направьте прокси на HTTP_PORT.
|
||
COMPOSE_FILE=compose.yaml:compose.tls.yaml
|
||
DOMAIN=music.example.com
|
||
ACME_EMAIL=admin@example.com
|
||
HTTP_PORT=80
|
||
|
||
# --- Секреты (install.sh заполнит случайными значениями) ---
|
||
POSTGRES_PASSWORD=
|
||
MEILI_MASTER_KEY=
|
||
INTERNAL_TOKEN=
|
||
|
||
# --- Первый администратор (необязательно; иначе пароль генерируется и выводится в лог api один раз) ---
|
||
#BOOTSTRAP_ADMIN_USERNAME=admin
|
||
#BOOTSTRAP_ADMIN_PASSWORD=
|
||
|
||
# --- api / recommender ---
|
||
# DATABASE_URL собирается в compose.yaml из POSTGRES_PASSWORD
|
||
REDIS_URL=redis://redis:6379/0
|
||
MEILI_URL=http://meilisearch:7700
|
||
LOG_LEVEL=info
|
||
SUPPORTED_LOCALES=ru,en
|
||
MIN_ANDROID_VERSION_CODE=0
|
||
|
||
# --- Самообновление Android (M5) ---
|
||
GITEA_URL=https://git.example.lan
|
||
GITEA_REPO=owner/pipu-music
|
||
GITEA_TOKEN=
|