Install Planka in subdirectory #394

Closed
opened 2026-02-04 19:00:19 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @0marcrem on GitHub (Jan 1, 2024).

Hey,
Previously I was running Planka locally and it was working perfectly. Now, I'm trying to migrate to a server. I can host it on the main site e.g. http://mysite.com, but I'm not sure how to host it on http://mysite.com/planka.

I edited BASE_URL=http://mysite.com/planka in docker-compose.yml and here is my ngnix config:

upstream planka {
   server localhost:3000;
   keepalive 32;
}

server {
    listen 80;
    listen [::]:80;
    server_name http://mysite.com;

    access_log /var/log/nginx/planka-access.log;
    error_log  /var/log/nginx/planka-error.log error;

    # Make sure to allow socket.io connections
    location ~* \.io {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        client_max_body_size 50M;
        proxy_set_header Host $http_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_set_header X-Frame-Options SAMEORIGIN;
        proxy_buffers 256 16k;
        proxy_buffer_size 16k;
        client_body_timeout 60;
        send_timeout 300;
        lingering_timeout 5;
        proxy_connect_timeout 1d;
        proxy_send_timeout 1d;
        proxy_read_timeout 1d;
        proxy_pass http://planka;
    }

    location /planka {
        client_max_body_size 50M;
        proxy_set_header Connection "";
        proxy_set_header Host $http_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_set_header X-Frame-Options SAMEORIGIN;
        proxy_buffers 256 16k;
        proxy_buffer_size 16k;
        proxy_read_timeout 600s;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 2;
        proxy_cache_use_stale timeout;
        proxy_cache_lock on;
        proxy_http_version 1.1;
        proxy_pass http://planka;
    }
}

I'm getting correct GET requests in the browser e.g.: GET http://mysite.com/planka/loading.css, but I don't have such files on the server when I curl localhost:3000/planka/loading.css. However there are available at curl localhost:3000/loading.css

I also tried: server_name http://mysite.com/planka; and location /

Can you help me?

Originally created by @0marcrem on GitHub (Jan 1, 2024). Hey, Previously I was running Planka locally and it was working perfectly. Now, I'm trying to migrate to a server. I can host it on the main site e.g. `http://mysite.com`, but I'm not sure how to host it on `http://mysite.com/planka`. I edited `BASE_URL=http://mysite.com/planka` in docker-compose.yml and here is my ngnix config: ``` upstream planka { server localhost:3000; keepalive 32; } server { listen 80; listen [::]:80; server_name http://mysite.com; access_log /var/log/nginx/planka-access.log; error_log /var/log/nginx/planka-error.log error; # Make sure to allow socket.io connections location ~* \.io { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; client_max_body_size 50M; proxy_set_header Host $http_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_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; client_body_timeout 60; send_timeout 300; lingering_timeout 5; proxy_connect_timeout 1d; proxy_send_timeout 1d; proxy_read_timeout 1d; proxy_pass http://planka; } location /planka { client_max_body_size 50M; proxy_set_header Connection ""; proxy_set_header Host $http_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_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; proxy_read_timeout 600s; proxy_cache_revalidate on; proxy_cache_min_uses 2; proxy_cache_use_stale timeout; proxy_cache_lock on; proxy_http_version 1.1; proxy_pass http://planka; } } ``` I'm getting correct GET requests in the browser e.g.: `GET http://mysite.com/planka/loading.css`, but I don't have such files on the server when I `curl localhost:3000/planka/loading.css`. However there are available at `curl localhost:3000/loading.css` I also tried: `server_name http://mysite.com/planka;` and `location /` Can you help me?
Author
Owner

@mikebirdgeneau commented on GitHub (Jan 13, 2024):

@0marcrem for what it's worth, I've set this up in a subdirectory, and and the key difference in my configuration is the rewrite command; once I added this, it worked without issue:

location /planka {
    # Try this rewrite command 
    rewrite ^/planka/(.*)$ /$1 break;
    # ... Rest of settings
}
@mikebirdgeneau commented on GitHub (Jan 13, 2024): @0marcrem for what it's worth, I've set this up in a subdirectory, and and the key difference in my configuration is the rewrite command; once I added this, it worked without issue: ``` location /planka { # Try this rewrite command rewrite ^/planka/(.*)$ /$1 break; # ... Rest of settings }
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/planka#394