Пробовали ли вы что-то для решения этой задачи?
У меня схожая ситуация: мне нужно развернуть Discourse в офлайн-режиме с возможностью синхронизации. У меня есть главный сервер, и у меня будет более 100–200 подчинённых экземпляров. Подчинённые экземпляры могут быть как онлайн, так и офлайн, но они будут использоваться пользователями. Однако, когда офлайн-экземпляр выходит в сеть, он должен иметь возможность синхронизироваться с главным сервером без возникновения конфликтов и обновлять все данные до актуального состояния. Я не хочу вносить какие-либо изменения в код, так как Discourse часто обновляется, и я не хочу, чтобы изменения в коде ломали работу экземпляров.
Я думаю о некоторой настройке PostgreSQL. Другие файлы, связанные с данными, можно синхронизировать с помощью Syncthing. Но обновление данных в PostgreSQL беспокоит меня, потому что если я напрямую синхронизирую данные с главного сервера, то работа, выполненная офлайн-пользователем, будет удалена после синхронизации. Как был ваш опыт написания скриптов для решения этой задачи?