こんにちは。サイオステクノロジーの橋本です。
SW360を構築した際に非常に手間がかかったので(2営業日)、備忘録として手順をまとめ、ブログとして公開します。
⚠️ 注意事項 本記事は必要最低限の項目を設定して立ち上げているだけですので、セキュリティ面などに懸念が残ります。利用の際は自己責任の元、必要に応じて設定やセキュリティを見直してください。
環境
OS : RHEL
podman : podman-5.4.0-12.el9_6.x86_64
podman-compose : podman-compose-1.5.0-2.el9.noarch
SW360 : v1.0.0-16-g038175e7
参考:基本的な手順(公式)
公式の手順は「自端末(localhost)にSW360を構築すること」を前提としており、そのままでは外部(自端末以外)からのアクセスがまったくできません。そのため、外部からIPアドレスでアクセスできるように各種設定ファイルを修正していきます。
構築手順
1. ソースのダウンロードとネットワーク作成
まずはGitHubからソースコードを取得し、Podmanネットワークを作成します。
# cd /opt/
# git clone https://github.com/eclipse-sw360/sw360-frontend.git
Cloning into 'sw360-frontend'...
remote: Enumerating objects: 32749, done.
remote: Counting objects: 100% (2349/2349), done.
remote: Compressing objects: 100% (741/741), done.
remote: Total 32749 (delta 2042), reused 1613 (delta 1607), pack-reused 30400 (from 4)
Receiving objects: 100% (32749/32749), 14.61 MiB | 22.87 MiB/s, done.
Resolving deltas: 100% (21359/21359), done.
# cd sw360-frontend
# podman network create sw360net
sw360net
# git describe --tags
v1.0.0-16-g038175e7
2. 設定ファイルの修正
外部からのアクセスを許可するため、各設定ファイルの localhost をサーバーのIPアドレス(以下 ${IP_address} と表記)に変更し、いくつかの起動オプションを追加します。 ※ 実際の作業時は、${IP_address} の部分をご自身のサーバーIPに置き換えて設定してください。
config/nginx/.env.web
9行目
修正前:
SERVER_DOMAIN=localhost修正後:
SERVER_DOMAIN=${IP_address}
config/front-end/.env.frontend
10行目
修正前:
NEXTAUTH_URL=https://localhost修正後:
NEXTAUTH_URL=https://${IP_address}
14行目
修正前:
NEXT_PUBLIC_SW360_API_URL=https://localhost修正後:
NEXT_PUBLIC_SW360_API_URL=https://${IP_address}
config/keycloak/.env.keycloak
27行目
修正前:
KC_HOSTNAME_URL=https://localhost/kc修正後:
KC_HOSTNAME_URL=https://${IP_address}/kc
29行目
修正前:(なし)
修正後:
KC_HOSTNAME_STRICT_HTTPS=false(※追記)
config/sw360/.env.backend
45行目
修正前:
SW360_SECURITY_JWT_ISSUERS_0_ISSUER_URI=http://localhost:8080/authorization修正後:
SW360_SECURITY_JWT_ISSUERS_0_ISSUER_URI=http://${IP_address}:8080/authorization
46行目
修正前:
SW360_SECURITY_JWT_ISSUERS_1_ISSUER_URI=https://localhost/kc/realms/sw360修正後:
SW360_SECURITY_JWT_ISSUERS_1_ISSUER_URI=http://${IP_address}:8083/realms/sw360
82行目
修正前:
SW360_THRIFT_SERVER_URL=http://localhost:8080修正後:
SW360_THRIFT_SERVER_URL=http://${IP_address}:8080
83行目
修正前:
SW360_BASE_URL=http://localhost:8080修正後:
SW360_BASE_URL=http://${IP_address}:8080
84行目
修正前:
SW360_FRONTEND_URL=http://localhost:3000修正後:
SW360_FRONTEND_URL=http://${IP_address}:3000
docker-compose.yml
42行目(ヘルスチェックのタイムアウト調整)
修正前:
start_period: 60s修正後:
start_period: 600s
88行目
修正前:
NEXT_PUBLIC_SW360_API_URL: ${NEXT_PUBLIC_SW360_API_URL:-https://localhost}修正後:
NEXT_PUBLIC_SW360_API_URL: ${NEXT_PUBLIC_SW360_API_URL:-http://${IP_address}}
90行目
修正前:
NEXTAUTH_URL: http://localhost修正後:
NEXTAUTH_URL: http://${IP_address}
106行目付近(Keycloakの起動コマンド追加)
修正前:
YAMLkeycloak: image: "ghcr.io/eclipse-sw360/sw360/keycloak:26.6.4" container_name: keycloak restart: unless-stopped env_file: ./config/keycloak/.env.keycloak修正後:
command: start --http-enabled=trueを追加YAMLkeycloak: image: "ghcr.io/eclipse-sw360/sw360/keycloak:26.6.4" container_name: keycloak command: start --http-enabled=true restart: unless-stopped env_file: ./config/keycloak/.env.keycloak
3. コンテナの起動
上記の修正が完了したら、podman-compose を使って起動します。 初回の起動には10~15分程度要します。
# podman-compose -f docker-compose.yml up -d
しばらく待った後、podman ps コマンドで全てのステータスが (healthy) になることを確認しましょう。
[root@ip-172-31-15-70 sw360-frontend]# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c6547edcc86b docker.io/library/couchdb:3.5-nouveau /usr/bin/java -se... 5 minutes ago Up 4 minutes 0.0.0.0:5987-5988->5987-5988/tcp couchdb_nouveau
b84fc441690a docker.io/library/postgres:18.4-alpine postgres 5 minutes ago Up 4 minutes (healthy) 0.0.0.0:5432->5432/tcp postgres
bbaf3539a33e docker.io/library/couchdb:3.5 /opt/couchdb/bin/... 5 minutes ago Up 4 minutes (healthy) 0.0.0.0:5984->5984/tcp, 4369/tcp, 9100/tcp couchdb
d1955264c00d ghcr.io/eclipse-sw360/sw360/keycloak:26.7.0 start --http-enab... 4 minutes ago Up 4 minutes (healthy) 0.0.0.0:8083->8083/tcp, 8080/tcp, 8443/tcp, 9000/tcp keycloak
f35d08b298ac ghcr.io/eclipse-sw360/sw360:main 4 minutes ago Up 4 minutes (healthy) 0.0.0.0:8080->8080/tcp sw360
722b25096736 ghcr.io/eclipse-sw360/sw360-frontend:main node server.js 4 minutes ago Up 4 minutes 0.0.0.0:3000->3000/tcp sw360-frontend
e4aeff7140e0 docker.io/library/nginx:1.31.3-trixie /bin/sh -cexp... 4 minutes ago Up 4 minutes 0.0.0.0:443->443/tcp, 80/tcp sw360_web
アクセス方法
ブラウザから https://${IP_address} でアクセス可能です。
ログインユーザとパスワードについては、公式リポジトリ内の README_DOCKER.md に記載されているデフォルトの Basic Auth 情報を参照してください。 🔗
既知の不具合について(2026年8月現在)
現在、Keycloak でのログイン後にホーム画面で NEXT_HTTP_ERROR_FALLBACK;404 のエラーが表示される既知の不具合が確認されています。
詳細や進捗については、以下の GitHub Issue をご確認ください。


