update docker deployment things

This commit is contained in:
Kohaku-Blueleaf
2025-10-07 19:06:03 +08:00
parent 0331e5574d
commit 9a21e1ff8b
2 changed files with 43 additions and 7 deletions

View File

@@ -27,7 +27,17 @@ server {
proxy_set_header X-Forwarded-Proto $scheme;
}
# 2. Organization API endpoints (mounted at /org/)
# 2. Admin API endpoints (mounted at /admin/api/)
# Covers: /admin/api/users/*, /admin/api/quota/*, /admin/api/stats
location /admin/api/ {
proxy_pass http://hub-api:48888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# 3. Organization API endpoints (mounted at /org/)
# Covers: /org/create, /org/{name}, /org/{name}/members, /org/users/{username}/orgs
location /org/ {
proxy_pass http://hub-api:48888;
@@ -37,7 +47,7 @@ server {
proxy_set_header X-Forwarded-Proto $scheme;
}
# 3. Git LFS endpoints
# 4. Git LFS endpoints
# Covers: /{type}s/{namespace}/{name}.git/info/lfs/* and /{namespace}/{name}.git/info/lfs/*
location ~ \.git/info/lfs/ {
proxy_pass http://hub-api:48888;
@@ -50,7 +60,7 @@ server {
client_body_buffer_size 128k;
}
# 4. Public file resolution routes (no /api prefix)
# 5. Public file resolution routes (no /api prefix)
# These are public-facing download endpoints
# Pattern: /{type}s/{namespace}/{name}/resolve/{revision}/{path}
location ~ ^/(models|datasets|spaces)/[^/]+/[^/]+/resolve/ {
@@ -61,7 +71,7 @@ server {
proxy_set_header X-Forwarded-Proto $scheme;
}
# 5. Legacy public file resolution route (no /api prefix, no type prefix)
# 6. Legacy public file resolution route (no /api prefix, no type prefix)
# Pattern: /{namespace}/{name}/resolve/{revision}/{path}
# Must come AFTER the specific routes to avoid catching frontend routes
location ~ ^/[^/]+/[^/]+/resolve/ {
@@ -74,10 +84,20 @@ server {
# =================================================================
# FRONTEND SINGLE PAGE APP (SPA)
# ADMIN FRONTEND SPA
#
# Serve admin portal at /admin (before main SPA fallback)
# =================================================================
location /admin {
alias /usr/share/nginx/html-admin/;
try_files $uri $uri/ /admin/index.html;
}
# =================================================================
# MAIN FRONTEND SINGLE PAGE APP (SPA)
#
# This is the final fallback. If no API rule above matched,
# Nginx assumes it's a frontend route and serves the SPA.
# Nginx assumes it's a frontend route and serves the main SPA.
# =================================================================
location / {
try_files $uri $uri/ /index.html;