Localization server is a server which continuously runs Serge and is configured to have proper access to your version control infrastructure. For example, for Git-based setups this means that you need to have Git properly configured there, with all the necessary public keys. If you decide to host a public-facing translation server software like Pootle, it will typically be the same server.
For better security, we recommend to setup a separate user to run localization-related scripts on behalf of.
Assuming your server runs under Linux-based OS, and your Serge configuration files are stored in e.g.
/usr/local/share/serge folder, and the user is named
l10n, a bare-bones setup would be to create a system-wide crontab file
/etc/cron.d/serge with the following contents:
The cron job above will run every 5 minutes and try to launch a new Serge sync cycle for all configuration files in the specified directory.
Note: in the scenario above, one needs to make sure that only one copy of Serge is running at a time. This is why we're overwriting the same log file (
/var/log/serge.log) — this file is locked exclusively, and thus the other instance will fail until the previous copy finishes execution. If you want to append to a log instead, you need another approach to implement a 'one instance at a time' requirement (for example, use a wrapper script in a combination with