Web Developer
Been researching a few sites and documentation, looking for some best practise advice on first production deployment of a portal I'm building for a client. This is something completely separately hosted from their main website.
Firstly, its obvious now, but coming from other frameworks, I didn't realise the flutter web front end should ideally be hosted on a separate server/container than the appwrite docker containers. This might be something to add to a beginners section for those new to Appwrite or those coming from other frameworks. My questions though for a secure production deployment:
-
DNS for servers
Portal will be hosted with portal.<client_name>.com. Should Appwrite be hosted as (1) appwrite.<client_name>.com, or (2) appwrite.portal.<client_name>.com? -
Flutter web hosting
Any suggestings for hosting on the same docker server a separate container to host the flutter-web code (portal.<client_name>.com). E.g. just use a generic nginx:latest? -
Firewall for appwrite containers/traefik
Given the above separate containers, is it ok to completely firewall off the appwrite public IP address to only be accessible by my and its own IP address for console/api access? i.e. The flutter-web frontend shouldn't be askng the browser to make direct calls to the appwrite URLs, the flutter-web code will do this effectively from/to the same IP address its hosted on? (I realise if later I add mobile, this would change.) -
Ports for hosting appwrite
Given the above scenario, the single IP address the docker container server has, the flutter-web container (nginx?) would bind/export port 80/443 and the appwrite container would bind/export alternative ports, e.g. 8080/8443, which is firewalled off from the open internet. Is this correct?
Thanks for any advice or pointers. I haven't found a system overview or deployment diagram/discussion that helps me to know the best practise ways to do this deployment for a flutter web front end. Please let me know though if there is!