Veeru_Badavath is planning to set up Discourse with high availability in a production environment with 3 application servers, 2 Postgres DB servers, and HAProxy load balancer. The servers do not have internet connectivity, but they can pull DockerHub images, and they have a Nexus repo for artifact storage.
Falco suggested that Veeru_Badavath needs an external Redis server and a load balancer. Veeru_Badavath confirmed that they are using HAProxy and Nexus repo.
Veeru_Badavath had issues running the previously bootstrapped container image in the production server due to Unicorn server issues. Falco asked for clarification on the steps Veeru_Badavath took, and Veeru_Badavath explained that they pushed the image to the Nexus repo and pulled it in the production server.
Veeru_Badavath shared the error log when starting the image in production, and Falco asked for the log. Veeru_Badavath provided the log, and Falco suggested that the issue might be due to the lack of access to external PostgreSQL, Redis, and Object Storage.
Veeru_Badavath explained that they were testing a standalone setup, and Falco stated that this approach would not work. Veeru_Badavath asked about object storage, and Falco explained that object storage is necessary for handling multiple app servers and user uploads.
Veeru_Badavath confirmed that they are using external Postgres server and Redis cluster, and Falco suggested using shared dir/storage for the Discourse build dir.
Finally, Veeru_Badavath asked about the impact of the rebuild step on existing data in the Postgres DB, and Falco explained that there are migrations that will change both data and structure, and provided guidance on handling this in an HA environment.