mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 05:18:58 +00:00
(*) Use trafeik instead of nginx for reverse proxy
This commit is contained in:
parent
0406e76889
commit
c130d7cf5f
@ -65,35 +65,94 @@ services:
|
|||||||
<<: *partition-2
|
<<: *partition-2
|
||||||
image: "marginalia.nu/executor-service"
|
image: "marginalia.nu/executor-service"
|
||||||
container_name: "executor-service-2"
|
container_name: "executor-service-2"
|
||||||
search-service:
|
|
||||||
<<: *service
|
|
||||||
image: "marginalia.nu/search-service"
|
|
||||||
container_name: "search-service"
|
|
||||||
assistant-service:
|
|
||||||
<<: *service
|
|
||||||
image: "marginalia.nu/assistant-service"
|
|
||||||
container_name: "assistant-service"
|
|
||||||
api-service:
|
|
||||||
<<: *service
|
|
||||||
image: "marginalia.nu/api-service"
|
|
||||||
container_name: "api-service"
|
|
||||||
query-service:
|
query-service:
|
||||||
<<: *service
|
<<: *service
|
||||||
image: "marginalia.nu/query-service"
|
image: "marginalia.nu/query-service"
|
||||||
container_name: "query-service"
|
container_name: "query-service"
|
||||||
|
search-service:
|
||||||
|
<<: *service
|
||||||
|
image: "marginalia.nu/search-service"
|
||||||
|
container_name: "search-service"
|
||||||
|
expose:
|
||||||
|
- 80
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.search-service.rule=PathPrefix(`/`)"
|
||||||
|
- "traefik.http.routers.search-service.entrypoints=search"
|
||||||
|
- "traefik.http.routers.search-service.middlewares=add-xpublic"
|
||||||
|
- "traefik.http.routers.search-service.middlewares=add-public"
|
||||||
|
- "traefik.http.middlewares.add-xpublic.headers.customrequestheaders.X-Public=1"
|
||||||
|
- "traefik.http.middlewares.add-public.addprefix.prefix=/public"
|
||||||
|
assistant-service:
|
||||||
|
<<: *service
|
||||||
|
image: "marginalia.nu/assistant-service"
|
||||||
|
container_name: "assistant-service"
|
||||||
|
expose:
|
||||||
|
- 80
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.assistant-service.rule=PathPrefix(`/screenshot`)"
|
||||||
|
- "traefik.http.routers.assistant-service.entrypoints=search"
|
||||||
|
- "traefik.http.routers.assistant-service.middlewares=add-xpublic"
|
||||||
|
- "traefik.http.routers.assistant-service.middlewares=add-public"
|
||||||
|
- "traefik.http.middlewares.add-xpublic.headers.customrequestheaders.X-Public=1"
|
||||||
|
- "traefik.http.middlewares.add-public.addprefix.prefix=/public"
|
||||||
|
api-service:
|
||||||
|
<<: *service
|
||||||
|
image: "marginalia.nu/api-service"
|
||||||
|
container_name: "api-service"
|
||||||
|
expose:
|
||||||
|
- "80"
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.api-service.rule=PathPrefix(`/`)"
|
||||||
|
- "traefik.http.routers.api-service.entrypoints=api"
|
||||||
|
- "traefik.http.routers.api-service.middlewares=add-xpublic"
|
||||||
|
- "traefik.http.routers.api-service.middlewares=add-public"
|
||||||
|
- "traefik.http.middlewares.add-xpublic.headers.customrequestheaders.X-Public=1"
|
||||||
|
- "traefik.http.middlewares.add-public.addprefix.prefix=/public"
|
||||||
dating-service:
|
dating-service:
|
||||||
<<: *service
|
<<: *service
|
||||||
image: "marginalia.nu/dating-service"
|
image: "marginalia.nu/dating-service"
|
||||||
container_name: "dating-service"
|
container_name: "dating-service"
|
||||||
|
expose:
|
||||||
|
- 80
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.dating-service.rule=PathPrefix(`/`)"
|
||||||
|
- "traefik.http.routers.dating-service.entrypoints=dating"
|
||||||
|
- "traefik.http.routers.dating-service.middlewares=add-xpublic"
|
||||||
|
- "traefik.http.routers.dating-service.middlewares=add-public"
|
||||||
|
- "traefik.http.middlewares.add-xpublic.headers.customrequestheaders.X-Public=1"
|
||||||
|
- "traefik.http.middlewares.add-public.addprefix.prefix=/public"
|
||||||
explorer-service:
|
explorer-service:
|
||||||
<<: *service
|
<<: *service
|
||||||
image: "marginalia.nu/explorer-service"
|
image: "marginalia.nu/explorer-service"
|
||||||
container_name: "explorer-service"
|
container_name: "explorer-service"
|
||||||
|
expose:
|
||||||
|
- 80
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.explorer-service.rule=PathPrefix(`/`)"
|
||||||
|
- "traefik.http.routers.explorer-service.entrypoints=explore"
|
||||||
|
- "traefik.http.routers.explorer-service.middlewares=add-xpublic"
|
||||||
|
- "traefik.http.routers.explorer-service.middlewares=add-public"
|
||||||
|
- "traefik.http.middlewares.add-xpublic.headers.customrequestheaders.X-Public=1"
|
||||||
|
- "traefik.http.middlewares.add-public.addprefix.prefix=/public"
|
||||||
control-service:
|
control-service:
|
||||||
<<: *service
|
<<: *service
|
||||||
image: "marginalia.nu/control-service"
|
image: "marginalia.nu/control-service"
|
||||||
container_name: "control-service"
|
container_name: "control-service"
|
||||||
|
expose:
|
||||||
|
- 80
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.control-service.rule=PathPrefix(`/`)"
|
||||||
|
- "traefik.http.routers.control-service.entrypoints=control"
|
||||||
|
- "traefik.http.routers.control-service.middlewares=add-xpublic"
|
||||||
|
- "traefik.http.routers.control-service.middlewares=add-public"
|
||||||
|
- "traefik.http.middlewares.add-xpublic.headers.customrequestheaders.X-Public=1"
|
||||||
|
- "traefik.http.middlewares.add-public.addprefix.prefix=/public"
|
||||||
mariadb:
|
mariadb:
|
||||||
image: "mariadb:lts"
|
image: "mariadb:lts"
|
||||||
container_name: "mariadb"
|
container_name: "mariadb"
|
||||||
@ -106,19 +165,30 @@ services:
|
|||||||
- "./code/common/db/src/main/resources/sql/current/:/docker-entrypoint-initdb.d/"
|
- "./code/common/db/src/main/resources/sql/current/:/docker-entrypoint-initdb.d/"
|
||||||
networks:
|
networks:
|
||||||
- wmsa
|
- wmsa
|
||||||
nginx-gw:
|
traefik:
|
||||||
image: "nginx"
|
image: "traefik:v2.10"
|
||||||
container_name: "nginx-gw"
|
container_name: "traefik"
|
||||||
|
command:
|
||||||
|
#- "--log.level=DEBUG"
|
||||||
|
- "--api.insecure=true"
|
||||||
|
- "--providers.docker=true"
|
||||||
|
- "--providers.docker.exposedbydefault=false"
|
||||||
|
- "--entrypoints.search.address=:80"
|
||||||
|
- "--entrypoints.control.address=:81"
|
||||||
|
- "--entrypoints.api.address=:82"
|
||||||
|
- "--entrypoints.dating.address=:83"
|
||||||
|
- "--entrypoints.explore.address=:84"
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:8080:80"
|
- "127.0.0.1:8080:80"
|
||||||
- "127.0.0.1:8081:81"
|
- "127.0.0.1:8081:81"
|
||||||
- "127.0.0.1:8082:82"
|
- "127.0.0.1:8082:82"
|
||||||
|
- "127.0.0.1:8083:83"
|
||||||
|
- "127.0.0.1:8084:84"
|
||||||
|
- "127.0.0.1:8090:8080"
|
||||||
volumes:
|
volumes:
|
||||||
- "./run/nginx-site.conf:/etc/nginx/conf.d/default.conf"
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
networks:
|
networks:
|
||||||
- wmsa
|
- wmsa
|
||||||
depends_on:
|
|
||||||
- search-service
|
|
||||||
networks:
|
networks:
|
||||||
wmsa:
|
wmsa:
|
||||||
volumes:
|
volumes:
|
||||||
|
@ -1,79 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
server_name nginx;
|
|
||||||
|
|
||||||
proxy_set_header X-Context $remote_addr-$connection;
|
|
||||||
proxy_set_header X-Extern-Url $scheme://$host$request_uri;
|
|
||||||
proxy_set_header X-Extern-Domain $scheme://$host;
|
|
||||||
proxy_set_header X-User-Agent $http_user_agent;
|
|
||||||
|
|
||||||
proxy_set_header X-Public "1";
|
|
||||||
|
|
||||||
rewrite ^/shuffle/$ /search?query=browse:random&profile=yolo;
|
|
||||||
rewrite ^/explore/(.*)$ /search?query=browse:$1&profile=yolo;
|
|
||||||
rewrite ^/links/(.*)$ /search?query=links:$1&profile=corpo;
|
|
||||||
|
|
||||||
location /screenshot {
|
|
||||||
proxy_pass http://assistant-service/public/screenshot;
|
|
||||||
}
|
|
||||||
location /site-search {
|
|
||||||
proxy_pass http://search-service/public/site-search;
|
|
||||||
}
|
|
||||||
location /site/suggest {
|
|
||||||
proxy_pass http://search-service/public/site/suggest;
|
|
||||||
}
|
|
||||||
location /site/flag-site {
|
|
||||||
proxy_pass http://search-service/public/site/flag-site;
|
|
||||||
}
|
|
||||||
location /site/ {
|
|
||||||
rewrite ^/site/(.*)$ /search?query=site:$1&profile=yolo;
|
|
||||||
}
|
|
||||||
location /suggest/ {
|
|
||||||
proxy_pass http://assistant-service/public$request_uri;
|
|
||||||
access_log off;
|
|
||||||
}
|
|
||||||
location / {
|
|
||||||
proxy_pass http://search-service/public/;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 81;
|
|
||||||
listen [::]:81;
|
|
||||||
server_name control;
|
|
||||||
|
|
||||||
proxy_set_header X-Context $remote_addr-$connection;
|
|
||||||
proxy_set_header X-Extern-Url $scheme://$host$request_uri;
|
|
||||||
proxy_set_header X-Extern-Domain $scheme://$host;
|
|
||||||
proxy_set_header X-User-Agent $http_user_agent;
|
|
||||||
|
|
||||||
proxy_set_header X-Public "1";
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://control-service/public/;
|
|
||||||
access_log off;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 82;
|
|
||||||
listen [::]:82;
|
|
||||||
server_name control;
|
|
||||||
|
|
||||||
proxy_set_header X-Context $remote_addr-$connection;
|
|
||||||
proxy_set_header X-Extern-Url $scheme://$host$request_uri;
|
|
||||||
proxy_set_header X-Extern-Domain $scheme://$host;
|
|
||||||
proxy_set_header X-User-Agent $http_user_agent;
|
|
||||||
|
|
||||||
proxy_set_header X-Public "1";
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://api-service/public/;
|
|
||||||
access_log off;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user