Open rayjlinden opened 4 years ago
@rayjlinden what proxy are you using? and what is your configuration? are you using Kubernetes?
did you try adding after prefix /allure-docker-service-ui/
like this?
http://${IP}:${PORT}/allureui/allure-docker-service-ui/
I'm using caddy2. (caddyserver.com)
I wanted to serve the UI out of a sub dir. I set the env var: URL_PREFIX: "/allureui"
My Caddyfile config looks like this:
route /env-config.js {
reverse_proxy http://allureui:5252
}
route /static/* {
reverse_proxy http://allureui:5252
}
route /allureui/* {
jwt
reverse_proxy http://allureui:5252
}
I had to add the routes for /static/* and /env-config.js -- then everything worked. However, I would have expected the references to the static assets and env-config.js to also be prefixed with /allureui/
On Tue, Sep 22, 2020 at 2:25 AM fescobar notifications@github.com wrote:
@rayjlinden https://github.com/rayjlinden what proxy are you using? and what is your configuration? are you using Kubernetes?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fescobar/allure-docker-service-ui/issues/7#issuecomment-696608417, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKE5LWRWG2R2BRWJ4AFPN2TSHBUOZANCNFSM4RVEW4NA .
@rayjlinden you have to set up a little different when it's a Single Page Aplication (SPA). Fortunately, it's work for you. I will see how can I improve that part because as you said I'm not totally convinced how it's working now.
Same with Nginx: docker-compose
version: '3'
services:
allure:
image: "frankescobar/allure-docker-service"
environment:
CHECK_RESULTS_EVERY_SECONDS: 1
KEEP_HISTORY: 1
URL_PREFIX: "/allure"
ports:
- "5050:5050"
volumes:
- /etc/allure/allure-results:/app/allure-results
- /etc/allure/allure-reports:/app/default-reports
allure-ui:
image: "frankescobar/allure-docker-service-ui"
environment:
ALLURE_DOCKER_PUBLIC_API_URL: "http://nginx.domain.com"
ALLURE_DOCKER_PUBLIC_API_URL_PREFIX: "/allure"
URL_PREFIX: "/allureui"
ports:
- "5252:5252"
Works only with separate env-config.js and static route:
location /allure/ {
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;
proxy_pass http://allure:5050;
}
location /allureui/ {
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;
proxy_pass http://allure:5252;
}
location /env-config.js {
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;
proxy_pass http://allure:5252;
}
location /static/ {
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;
proxy_pass http://allure:5252;
}
That's can conflict with my "location /" that is not ok as for me
Thanks @oleksandr-hyuna for the info. I will use this when I try to fix this problem. It's in the backlog.
Facing the same issue. I am using Istio virtual services and have to map the root /
location to the ui to get the static assets to load. A fix will be great as this is not going to work long-term.
- match:
- uri:
prefix: /ids-reports-api
rewrite:
uri: /
route:
- destination:
host: ids-reports
port:
number: 5050
- match:
- uri:
prefix: /ids-reports-ui
route:
- destination:
host: ids-reports
port:
number: 5252
- match:
- uri:
prefix: /
route:
- destination:
host: ids-reports
port:
number: 5252
@fescobar There's a base tag in index.html file which makes all links relative to the server root. It appears that it's not really necessary for the app to work. It's elimination can fix this issue.
Hello,
Any news about this issue ? I got the same behavior with traefik.
I set this in my docker-compose for allure routing :
- "traefik.http.routers.allureui.rule=Host(`my.example.com`) && PathPrefix(`/allure/`)"
I set :
environment :
- URL_PREFIX: "allure"
But when I connect to my.example.com/allure I have error concerning loading the static files. Is it link to this issue or am I doing something wrong in my docker-compose ?
Hello @fescobar any ETA for the static files for URL_PREFIX to work? I have deployed on k8s and it fails for static path.
as other UI works with correctly having base url_prefix
Hi everybody You can try forking the project and trying your solution. This is not a simple bug. It depends on how you set up the configuration in your environment. A few years ago Kubernetes didn't support Static webpages properly, you needed to hack a little to have that working. At the moment not sure if Kubernetes supports that properly. I think the proper way to fix that it's moving from ReactJS (Single Server Application) to NextJS (Server Side Rendering) which is a big task. If someone can find a solution is welcome.
I'm trying to put the ui behind a proxy.
I set URL_PREFIX: "/allureui"
However, the page once it loads is trying to get assets like: /static/js/2.305ecc37.chunk.js
Is there something I can do to serve the assets out the url_prefix as well?