-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doc: Added "Appwrite using NGINX as Reverse Proxy" resource #474
Conversation
Added blog resource on how to deploy Appwrite on VPS server using NGINX as reverse proxy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for creating this PR! 🙏🏼 The content is very detailed and helpful!
Some things are missing, though.
- Enabling SSL is very important, and it's best to have HTTPS traffic routed to Appwrite's HTTPS port. Missing that can cause problems with cookies.
- Without some additional configuration on the traefik container, Appwrite will detect IPs as the Nginx proxy rather than the actual client (for example, in the audit logs or sessions
- The Nginx config is missing some directives for realtime so the realtime API won't work.
Thanks for pointing it out. Will update the blog and let you know for further review. |
@WilfredAlmeida were you able to make the requested changes? |
SSL from client -> server gateway can be enabled using certbot or any desired method. from to
The NGINX directives you suggested have been added. I have updated my config as mentioned above and Appwrite loads fine. Will update more on testing its individual functionalities.
I don't quite understand what config changes to do here. I found this blog post however it uses NGINX Proxy Manager. Need more help with this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Yes,
proxy_pass https://localhost:2022;
is good. - Yes, the services.traefik.command section is the relevant part. Btw, you should be able to test this by logging in to the console and looking at the activity for your user. The IP Address should show your public IP if it's working correctly.
- I don't see the directives for realtime/websockets. Did you test if realtime works?
@WilfredAlmeida did you get a chance to review the aforementioned points and update your blog? |
No, I don't have any project workload yet to test the changes for traefik & realtime directives. I'm open to some collaboration on this, as to I can provide an Appwrite instance for someone with an existing project to use it and I can make the changes to get all things working, or you can point out the exact things to add in which I can add in directly. |
@WilfredAlmeida, you can take this discussion (collaboration request) to the Appwrite Discord server. |
Added blog resource on how to deploy Appwrite on VPS server using NGINX as a reverse proxy