Automate Gitea init, NocoDB auto sign-in, and fix prod compose
- Add scripts/gitea-init.sh: runs migrations + creates admin user on first boot, replacing the manual installation wizard - Set GITEA__security__INSTALL_LOCK=true in both compose files - Add NocoDB auth bridge (nginx) + /api/services/nocodb-auth proxy endpoint so the admin iframe auto-authenticates - Update NocoDBPage.tsx to fetch token and use auth bridge flow - Fix docker-compose.prod.yml missing Gitea env vars for API container (GITEA_URL, GITEA_API_TOKEN, GITEA_ADMIN_PASSWORD, etc.) - Pass NC_ADMIN_EMAIL/PASSWORD to API for NocoDB auth proxy - Increase Gitea auto-setup retries from 3 to 6 with admin auth check - Update config.sh non-interactive mode to set GITEA_ADMIN_USER - Include gitea-init.sh in release tarball (build-release.sh) Bunker Admin
This commit is contained in:
@@ -78,6 +78,14 @@ server {
|
||||
server_name db.${DOMAIN};
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' app.${DOMAIN}" always;
|
||||
|
||||
# Auth bridge for iframe auto-sign-in (token passed via URL hash, never sent to server)
|
||||
location = /auth-bridge {
|
||||
default_type text/html;
|
||||
add_header Cache-Control "no-store" always;
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' app.${DOMAIN}" always;
|
||||
return 200 '<!DOCTYPE html><html><head><meta charset="utf-8"><script>(function(){var t=location.hash.substring(1);if(!t){document.body.innerText="No token";return;}document.cookie="nocodb-token="+encodeURIComponent(t)+";path=/;SameSite=Lax;max-age=86400";try{localStorage.setItem("nocodb-token",JSON.stringify(t));}catch(e){}window.location.replace("/dashboard/");})()</script></head><body>Signing in...</body></html>';
|
||||
}
|
||||
|
||||
location / {
|
||||
set $upstream_nocodb http://changemaker-v2-nocodb:8080;
|
||||
proxy_pass $upstream_nocodb;
|
||||
@@ -287,6 +295,14 @@ server {
|
||||
|
||||
server {
|
||||
listen ${NOCODB_EMBED_PORT};
|
||||
|
||||
# Auth bridge for iframe auto-sign-in (localhost/dev variant)
|
||||
location = /auth-bridge {
|
||||
default_type text/html;
|
||||
add_header Cache-Control "no-store" always;
|
||||
return 200 '<!DOCTYPE html><html><head><meta charset="utf-8"><script>(function(){var t=location.hash.substring(1);if(!t){document.body.innerText="No token";return;}document.cookie="nocodb-token="+encodeURIComponent(t)+";path=/;SameSite=Lax;max-age=86400";try{localStorage.setItem("nocodb-token",JSON.stringify(t));}catch(e){}window.location.replace("/dashboard/");})()</script></head><body>Signing in...</body></html>';
|
||||
}
|
||||
|
||||
location / {
|
||||
set $upstream_nocodb http://changemaker-v2-nocodb:8080;
|
||||
proxy_pass $upstream_nocodb;
|
||||
|
||||
Reference in New Issue
Block a user