* support running backend + frontend together on k8s * split nginx container into separate frontend service, which uses nignx-base image and the static frontend files * add nginx-based frontend image to docker-compose build (for building only, docker-based combined deployment not yet supported) * backend: - fix paths for email templates - chart: support '--set backend_only=1' and '--set frontend_only=1' to only force deploy one or the other - run backend from root /api in uvicorn
79 lines
2.1 KiB
Nginx Configuration File
79 lines
2.1 KiB
Nginx Configuration File
worker_processes 1;
|
|
error_log stderr;
|
|
pid /var/run/nginx.pid;
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
include /etc/nginx/mime.types;
|
|
default_type application/octet-stream;
|
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
|
'$status $body_bytes_sent "$http_referer" '
|
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
|
access_log /dev/stdout;
|
|
sendfile on;
|
|
keepalive_timeout 65;
|
|
include ./resolvers/resolvers.conf;
|
|
server {
|
|
listen 80 default_server;
|
|
server_name _;
|
|
proxy_buffering off;
|
|
proxy_buffers 16 64k;
|
|
proxy_buffer_size 64k;
|
|
root /usr/share/nginx/html;
|
|
index index.html index.htm;
|
|
|
|
error_page 500 501 502 503 504 /50x.html;
|
|
|
|
merge_slashes off;
|
|
location = /50x.html {
|
|
root /usr/share/nginx/html;
|
|
}
|
|
|
|
# fallback to index for any page
|
|
error_page 404 /index.html;
|
|
|
|
location ~* /watch/([^/]+)/([^/]+)/ws {
|
|
set $archive $1;
|
|
set $crawl $2;
|
|
#auth_request /authcheck;
|
|
|
|
proxy_pass http://$2.crawlers.svc.cluster.local:9037/ws;
|
|
proxy_set_header Host "localhost";
|
|
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection $http_connection;
|
|
}
|
|
|
|
location ~* /watch/([^/]+)/([^/]+)/ {
|
|
set $archive $1;
|
|
set $crawl $2;
|
|
#auth_request /authcheck;
|
|
|
|
proxy_pass http://$2.crawlers.svc.cluster.local:9037/;
|
|
proxy_set_header Host "localhost";
|
|
}
|
|
|
|
location = /authcheck {
|
|
internal;
|
|
proxy_pass http://localhost:8000/archives/$archive/crawls/$crawl;
|
|
proxy_pass_request_body off;
|
|
proxy_set_header Content-Length "";
|
|
}
|
|
|
|
location /healthz {
|
|
return 200;
|
|
}
|
|
|
|
location / {
|
|
#proxy_pass http://localhost:8000/;
|
|
#proxy_set_header Host $host;
|
|
root /usr/share/nginx/html;
|
|
index index.html index.htm;
|
|
}
|
|
}
|
|
}
|
|
|