コンテンツにスキップ

Selega をインストール

Selega は Docker でセルフホストします。提供される docker-compose.yml は、2つのコンテナ — Selega とその専用 PostgreSQL — に加えてデータ用のボリュームを起動します。データベースを別途インストールまたはプロビジョニングする必要はありません。

  • Compose プラグイン(docker compose)付きの Docker
  • Web UI 用のホストポート(既定は 8088)。
  • 本番環境向け:HTTPS/TLS 付きのリバースプロキシ(Caddy、nginx、またはお使いのパネルの組み込み TLS)。

コンテナイメージは node:22-slim をベースに構築され、スキャンされた PDF 向けに Tesseract OCR(スペイン語の言語パック付き)と poppler-utils を組み込んでいます。非 root ユーザーとして動作します。

Terminal window
git clone https://github.com/diegoparras/selega.git && cd selega
cp .env.example .env # POSTGRES_PASSWORD を編集(強力なものを使用)
docker compose up -d --build
docker compose logs selega # 生成された管理者パスワードがここに表示されます(一度だけ)
# → http://localhost:8088

これだけです。2つのコンテナ(selega + selega-db)と、データ用のボリュームが1つです。

Selega はプッシュのたびに ghcr.io/diegoparras/selega:latest として GHCR に公開され、docker-compose.yml にも build: . が宣言されています。したがって、リポジトリからビルドするか、公開イメージをプルするかのいずれかを選べます。

Terminal window
git clone https://github.com/diegoparras/selega.git && cd selega
cp .env.example .env
docker compose up -d --build

.env.example.env にコピーし、実際の値を設定してください。.env を git にコミットしないでください。

変数既定値目的
POSTGRES_PASSWORD— (必須データベースのパスワード。強力なものを使用してください。
SELEGA_ADMIN_EMAILadmin@selega.local最初の superadmin のユーザー。
SELEGA_ADMIN_PASS(空)空のままにする → パスワードが生成され、ログに一度だけ表示されます。
SELEGA_SECURE_COOKIE0HTTPS/TLS の背後では 1 に設定(セッションクッキーは HTTPS 経由でのみ送信)。
SELEGA_PORT8088ホストポート(アプリはコンテナ内部の 8080 でリッスンします)。
OPENROUTER_KEY(空)オプションのクラウド AI キー。Admin から読み込むことを推奨(書き込み専用で保存)。
POSTGRES_USER / POSTGRES_DBselegaデータベースのユーザー/名前。
  1. docker compose logs selega を実行(またはお使いのパネルのログを確認)し、生成された管理者パスワードをコピーします。これは一度だけ表示されます。
  2. SELEGA_ADMIN_EMAIL とそのパスワードでサインインします。あなたはsuperadmin になりました。
  3. ケバブメニュー(⋮)→ System を開きます。このインストールが対応する管轄を選択し、エンジンを設定します。
  4. ケバブメニュー(⋮)→ Administration を開きます。ユーザー(agent / supervisor / auditor / admin)を作成し、ルールを編集します。

Dokploy、Easypanel、Coolify、Portainer はいずれも Docker Compose に対応しています。推奨される方法は、この GitHub リポジトリを接続することで、パネルがイメージをビルドしてくれます。お使いのパネルが貼り付けた compose しか受け付けない場合は、上記のイメージのみのブロックを使用してください。

唯一の必須変数POSTGRES_PASSWORD です。SELEGA_ADMIN_PASS は空のままにして、Selega が管理者パスワードを生成し、コンテナのログに一度だけ表示するようにしてください。パネルが TLS を提供する場合(Dokploy、Easypanel、Coolify は自動で行います)、SELEGA_SECURE_COOKIE=1 を設定してください。

Terminal window
git pull && docker compose up -d --build # リポジトリからビルド
# または、公開イメージで:
docker compose pull && docker compose up -d
  • TLS:Selega を HTTPS 付きのリバースプロキシの背後に置き、SELEGA_SECURE_COOKIE=1 を設定してください。
  • .env強力なシークレットを設定し、.env を絶対にコミットしないでください。SELEGA_ADMIN_PASS を空にする → 自動生成されます。
  • Postgres ポートを閉じる — 本番環境では db サービスをホストに公開しないでください。
  • selega-pg ボリュームをバックアップしてください — それは legalización の記録です。

コンテナは非 root ユーザーとして動作し、CSP とセキュリティヘッダー、scrypt によるパスワードハッシュ化、HMAC セッション、ログインロックアウト、パラメータ化クエリを備えています。semgrep、OWASP ZAP、Trivy、gitleaks で監査されています。