AppFlowy-Nginx
nginx:stable-alpine
https://hub.docker.com/_/nginx
custom:appflowy
sh
false
6.12
BSD-2-Clause
https://github.com/vmalinics0/unraid-appflowy/issues
https://github.com/vmalinics0/unraid-appflowy
https://raw.githubusercontent.com/vmalinics0/unraid-appflowy/main/README.md
Step 7/7 (deploy last): Nginx reverse proxy — the single entry point for all AppFlowy Cloud services. Routes HTTP/WebSocket traffic to AppFlowy-Cloud, AppFlowy-GoTrue, AppFlowy-Web, AppFlowy-Admin, and AppFlowy-MinIO. Part of the AppFlowy Cloud stack.
Productivity: Tools:
http://[IP]:[PORT:80]/
https://raw.githubusercontent.com/vmalinics0/unraid-appflowy/main/templates/AppFlowy-Nginx.xml
https://avatars.githubusercontent.com/u/81710027?s=200&v=4
Custom Docker network named "appflowy" must exist before deploying any container in this stack. Create it via SSH or the Unraid terminal: docker network create appflowy — Network Type is pre-set to "appflowy" by default, verify it is selected.
Nginx reverse proxy — the public entry point for the entire AppFlowy Cloud stack.
Routes:
<ul>
<li><code>/</code> → AppFlowy Web</li>
<li><code>/api</code>, <code>/ws</code> → AppFlowy Cloud backend</li>
<li><code>/gotrue/</code> → GoTrue auth</li>
<li><code>/console</code> → Admin Frontend</li>
<li><code>/minio/</code> → MinIO Web Console</li>
<li><code>/minio-api/</code> → MinIO S3 API (presigned URLs)</li>
</ul>
<br/>
<b>Before starting:</b> Download the nginx.conf from the template repository and place it at
<code>/mnt/user/appdata/AppFlowy-Nginx/nginx.conf</code>.
Get it from: <code>https://raw.githubusercontent.com/vmalinics0/unraid-appflowy/main/nginx/nginx.conf</code>
<br/><br/>
<b>TLS option A — user-provided certs:</b> place <code>certificate.crt</code> and <code>private_key.key</code> in
<code>/mnt/user/appdata/AppFlowy-Nginx/ssl/</code> and use <code>nginx-https-custom.conf</code> instead of <code>nginx.conf</code>.
<br/>
<b>TLS option B — Let's Encrypt auto-certs:</b> use <code>nginx-letsencrypt.conf</code> and deploy the companion <b>AppFlowy-Certbot</b> container.
Certbot writes certs to <code>/mnt/user/appdata/AppFlowy-Nginx/letsencrypt/</code> and serves the ACME challenge via the <code>certbot-webroot</code> path mapped below.
Restart AppFlowy-Nginx once after initial cert issuance and after each renewal.
<br/><br/>
<b>Deploy order:</b> (1) AppFlowy-Postgres → (2) AppFlowy-Redis → (3) AppFlowy-MinIO → (4) AppFlowy-GoTrue → (5) AppFlowy-Cloud → (6) AppFlowy-Admin, AppFlowy-Web, AppFlowy-Worker, AppFlowy-Search → (7) <b>AppFlowy-Nginx</b>
/mnt/user/appdata/AppFlowy-Nginx/nginx.conf
/mnt/user/appdata/AppFlowy-Nginx/ssl
/mnt/user/appdata/AppFlowy-Nginx/letsencrypt
/mnt/user/appdata/AppFlowy-Nginx/certbot-webroot
80
443