fix: resolve circular import, async blocking, SELinux and delete timeout issues
- Extract shared SlowAPI limiter to app/limiter.py to break circular import between app.main and app.routers.auth - Seed default SystemConfig row (id=1) on first DB init so settings page works out of the box - Make all docker_service.compose_* functions async (run_in_executor) so long docker pulls/stops no longer block the async event loop - Propagate async to netbird_service stop/start/restart and await callers in deployments router - Move customer delete to BackgroundTasks so the HTTP response returns immediately and avoids frontend "Network error" on slow machines - docker-compose: add :z SELinux labels, mount docker.sock directly, add security_opt label:disable for socket access, extra_hosts for host.docker.internal, enable DELETE/VOLUMES on socket proxy - npm_service: auto-detect outbound host IP via UDP socket when HOST_IP env var is not set Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -51,6 +51,22 @@ def init_db() -> None:
|
||||
Base.metadata.create_all(bind=engine)
|
||||
_run_migrations()
|
||||
|
||||
# Insert default SystemConfig row (id=1) if it doesn't exist yet
|
||||
db = SessionLocal()
|
||||
try:
|
||||
if not db.query(SystemConfig).filter(SystemConfig.id == 1).first():
|
||||
db.add(SystemConfig(
|
||||
id=1,
|
||||
base_domain="example.com",
|
||||
admin_email="admin@example.com",
|
||||
npm_api_url="http://localhost:81",
|
||||
npm_api_email_encrypted="",
|
||||
npm_api_password_encrypted="",
|
||||
))
|
||||
db.commit()
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
|
||||
def _run_migrations() -> None:
|
||||
"""Add columns that may be missing from older database versions."""
|
||||
|
||||
Reference in New Issue
Block a user