fix: move Astrolabe OAuth hook to before-starting for reliable OIDC client creation
Move 26-configure-astrolabe-oauth.sh from post-installation (runs once on first boot) to before-starting (runs on every start). This ensures the Astrolabe OIDC client is created as soon as MCP_SERVER_URL is available, even if it wasn't set during initial installation. Also copy 25-configure-mcp-server-url.sh to before-starting so the mcp_server_url config stays current across container recreations. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
fe8799a133
commit
f151eb10b3
@@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Configure MCP server URL for Astrolabe background sync
|
||||||
|
# This URL is used by Astrolabe to send app passwords to the MCP server
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -z "${MCP_SERVER_URL:-}" ]; then
|
||||||
|
echo "MCP_SERVER_URL not set, skipping Astrolabe MCP server URL configuration"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Configuring MCP server URL: $MCP_SERVER_URL"
|
||||||
|
|
||||||
|
# Set the mcp_server_url in config.php via occ
|
||||||
|
php occ config:system:set mcp_server_url --value="$MCP_SERVER_URL"
|
||||||
|
|
||||||
|
echo "MCP server URL configured successfully"
|
||||||
@@ -47,6 +47,9 @@ services:
|
|||||||
- MYSQL_USER=nextcloud
|
- MYSQL_USER=nextcloud
|
||||||
- MYSQL_HOST=db
|
- MYSQL_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
|
# Set MCP_SERVER_URL to enable Astrolabe OAuth client auto-creation
|
||||||
|
# (before-starting hook creates OIDC client + stores credentials in config.php)
|
||||||
|
# Example: MCP_SERVER_URL=http://mcp-login-flow:8004 docker compose --profile login-flow up -d
|
||||||
- MCP_SERVER_URL=${MCP_SERVER_URL:-}
|
- MCP_SERVER_URL=${MCP_SERVER_URL:-}
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "curl -Ss http://localhost/status.php | grep '\"installed\":true' || exit 1"]
|
test: ["CMD-SHELL", "curl -Ss http://localhost/status.php | grep '\"installed\":true' || exit 1"]
|
||||||
|
|||||||
Reference in New Issue
Block a user