Перейти до вмісту

Встановлення: Docker run

Виконайте спеціальну процедуру сторінки для Встановлення: Docker run. У цій процедурі використовуються DATABASE_URL · discvault-postgres · 6080:5000 · /api/next/health.

Ця сторінка стосується лише Встановлення: Docker run (Docker). Межі каналу й даних: DiscVault · ghcr.io/helmerznl/discvault:latest; PostgreSQL API MCP; 6080 → API 5000; DiscVault · ghcr.io/helmerznl/discvault:beta; PostgreSQL API MCP; 6080 → API 5000. Контрольні точки цієї сторінки: DATABASE_URL · discvault-postgres · 6080:5000 · /api/next/health.

  • DiscVault · ghcr.io/helmerznl/discvault:latest
  • PostgreSQL API MCP
  • 6080 → API 5000
  • DiscVault · ghcr.io/helmerznl/discvault:beta
  • PostgreSQL API MCP
  • 6080 → API 5000
  • Docker Engine 24+
  • OpenSSL
  • 6080:5000
  1. Запишіть: DISCVAULT_IMAGE · :latest :beta
  2. Створіть: --env-file · DATABASE_URL · права на файл лише для власника (0600)
  3. Запустіть: discvault-postgresdiscvault-api → MCP
  4. Перевірте: 6080:5000 · GET /api/next/health

Команди й налаштування

Section titled “Команди й налаштування”
Terminal window
export DISCVAULT_IMAGE=ghcr.io/helmerznl/discvault:latest
Terminal window
export DISCVAULT_IMAGE=ghcr.io/helmerznl/discvault:beta
Terminal window
set -euo pipefail
test -n "$DISCVAULT_IMAGE"
case "$DISCVAULT_IMAGE" in
ghcr.io/helmerznl/discvault:latest|ghcr.io/helmerznl/discvault:beta) ;;
*) printf '%s\n' "$DISCVAULT_IMAGE" >&2; exit 64 ;;
esac
install -d -m 0700 /opt/discvault
install -d -m 0750 /srv/discvault
install -d -o 70 -g 70 -m 0700 /srv/discvault-postgres
umask 077
ENV_FILE=/opt/discvault/docker-run.env
test ! -e "$ENV_FILE"
ENV_TMP="$(mktemp "$ENV_FILE.tmp.XXXXXX")"
trap 'rm -f "$ENV_TMP"' EXIT
POSTGRES_PASSWORD="$(openssl rand -hex 32)"
JWT_SECRET="$(openssl rand -hex 32)"
printf '%s\n' \
'POSTGRES_DB=discvault' \
'POSTGRES_USER=discvault' \
"POSTGRES_PASSWORD=$POSTGRES_PASSWORD" \
"DATABASE_URL=postgresql://discvault:$POSTGRES_PASSWORD@discvault-postgres:5432/discvault" \
"JWT_SECRET=$JWT_SECRET" \
'TZ=Europe/Amsterdam' \
'RP_ID=localhost' \
'RP_NAME=DiscVault' \
'RP_ORIGINS=http://localhost:6080' \
'DISCVAULT_DATA_DIR=/data' \
'DISCVAULT_PLUGIN_INSTALL_DIR=/data/plugins' \
'DISCVAULT_WORKER_ID=worker-1' \
'DISCVAULT_WORKER_POLL_INTERVAL=2' \
'DISCVAULT_API=http://discvault-api:5000' > "$ENV_TMP"
chmod 0600 "$ENV_TMP"
ln "$ENV_TMP" "$ENV_FILE"
rm -f "$ENV_TMP"
trap - EXIT
docker network inspect discvault >/dev/null 2>&1 || docker network create discvault
docker run -d --name discvault-postgres --restart unless-stopped \
--network discvault --env-file "$ENV_FILE" \
--health-cmd 'pg_isready -U "$POSTGRES_USER" -d "$POSTGRES_DB"' \
--health-interval 10s --health-timeout 5s --health-retries 10 \
-v /srv/discvault-postgres:/var/lib/postgresql/data postgres:17-alpine
until [ "$(docker inspect discvault-postgres --format '{{.State.Health.Status}}')" = healthy ]; do
sleep 2
done
docker run -d --name discvault-api --restart unless-stopped \
--network discvault --env-file "$ENV_FILE" -w /opt/discvault/backend \
-p 6080:5000 -v /srv/discvault:/data "$DISCVAULT_IMAGE" \
sh -c 'python next_database.py migrate && exec gunicorn --bind 0.0.0.0:5000 --workers 2 --timeout 180 next_app:app'
until curl --fail http://localhost:6080/api/next/health; do sleep 2; done
docker run -d --name discvault-worker --restart unless-stopped \
--network discvault --env-file "$ENV_FILE" -w /opt/discvault/backend \
-v /srv/discvault:/data "$DISCVAULT_IMAGE" python next_worker.py work
docker run -d --name discvault-mcp --restart unless-stopped \
--network discvault --env-file "$ENV_FILE" -w /opt/discvault/mcp-server \
-p 6090:6090 "$DISCVAULT_IMAGE" \
python server.py --http --host 0.0.0.0 --port 6090
docker ps --filter 'name=discvault-'

Приймайте результат для Встановлення: Docker run лише коли підтверджено всі наведені нижче результати: HTTP 2xx · /api/next/health; discvault-postgres. Контрольні точки цієї сторінки: DATABASE_URL · discvault-postgres · 6080:5000 · /api/next/health.

  • HTTP 2xx · /api/next/health
  • discvault-postgres

Безпека й відкочування

Section titled “Безпека й відкочування”

Встановлення: Перший запуск і перевірка стану