Mattermost nginx to caddy2

Hi,

I am using Caddy2 on Ubuntu 20.04 and running caddy by hand
caddy run --config /etc/caddy/Caddyfile &

I would like to run Mattermost but converting nginx config file to caddy2 it’s a bit above my expertise level :slight_smile:

If you would like to help me and I suppose more people that would like to run Mattermost with Caddy, please take a look at the belog nginx config

THANK YOU!

upstream mattermost {
server localhost:8065;
keepalive 32;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

server {
listen 80;
server_name mattermost.linuxbuz.com;

location ~ /api/v[0-9]+/(users/)?websocket$ {
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 90;
proxy_send_timeout 300;
proxy_read_timeout 90s;
proxy_pass http://mattermost;
}

location / {
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 mattermost_cache;
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://mattermost;
}
}

Welcome @Alin_Bugeag_GoThru,

I’m sure someone here will understand Mattermost’s requirements better than me and can help you, but first I wanted to see if the nginx config adapter was able to get you most of the way?

Honestly, I don’t think you need any of those extra options. This should probably be good enough:

mattermost.linuxbuz.com {
    reverse_proxy localhost:8065
}

I think that worked … I had and extra /

reverse_proxy / 127.0.0.1:8065

Yep, that would do it. Caddy uses exact path matching, which means that would only match requests to exactly /.

Next time, please fill out the help thread template and provide the Caddyfile you tried, it would have been easier to point out that mistake than to ask us to convert an nginx config.

2 Likes

This topic was automatically closed after 30 days. New replies are no longer allowed.