mirror of
https://github.com/etkecc/synapse-admin.git
synced 2024-12-13 18:13:18 +03:00
54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
|
# Serving Synapse Admin behind a reverse proxy
|
||
|
|
||
|
Your are supposed to do so for any service you want to expose to the internet,
|
||
|
and here you can find specific instructions and example configurations for Synapse Admin.
|
||
|
|
||
|
## Nginx
|
||
|
|
||
|
Place the config below into `/etc/nginx/conf.d/synapse-admin.conf` (don't forget to replace `server_name` and `root`):
|
||
|
|
||
|
```nginx
|
||
|
server {
|
||
|
listen 80;
|
||
|
listen [::]:80;
|
||
|
server_name example.com; # REPLACE with your domain
|
||
|
root /var/www/synapse-admin; # REPLACE with path where you extracted synapse admin
|
||
|
index index.html;
|
||
|
location / {
|
||
|
try_files $uri $uri/ /index.html;
|
||
|
}
|
||
|
location ~* \.(?:css|js|jpg|jpeg|gif|png|svg|ico|woff|woff2|ttf|eot|webp)$ {
|
||
|
expires 30d; # Set caching for static assets
|
||
|
add_header Cache-Control "public";
|
||
|
}
|
||
|
|
||
|
gzip on;
|
||
|
gzip_types text/plain application/javascript application/json text/css text/xml application/xml+rss;
|
||
|
gzip_min_length 1000;
|
||
|
}
|
||
|
```
|
||
|
|
||
|
After you've done that, ensure that the configuration is correct by running `nginx -t` and then reload Nginx
|
||
|
(e.g. `systemctl reload nginx`).
|
||
|
|
||
|
> **Note:** This configuration doesn't cover HTTPS, which is highly recommended to use. You can find more information
|
||
|
about setting up HTTPS in the [Nginx documentation](https://nginx.org/en/docs/http/configuring_https_servers.html).
|
||
|
|
||
|
## Traefik (docker labels)
|
||
|
|
||
|
If you are using Traefik as a reverse proxy, you can use the following labels, `docker-compose.yml` example:
|
||
|
|
||
|
```yaml
|
||
|
services:
|
||
|
synapse-admin:
|
||
|
image: ghcr.io/etkecc/synapse-admin:latest
|
||
|
restart: unless-stopped
|
||
|
labels:
|
||
|
- "traefik.enable=true"
|
||
|
- "traefik.http.routers.synapse-admin.rule=Host(`example.com`)"
|
||
|
```
|
||
|
|
||
|
## Other reverse proxies
|
||
|
|
||
|
There is no examples for other reverse proxies yet, and so PRs are greatly appreciated.
|