Hi Nelson,
I was able to deploy ODK Central on Hetzner using Elestio. Here are the steps that I performed:
1- Update docker-compose.yml
We need to update docker-compose.yml by following this instruction. So that it can read UPSTREAM_HTTPS_PORT
environment variable.
2 - Create CI/CD pipeline
Pipeline configurations:
Build command:
touch ./files/allow-postgres14-upgrade && git submodule update -i && docker compose build
Run command:
docker compose up -d
With the above commands I don't need life cycle scripts.
Environment variables:
DOMAIN=central-u13383.vm.elestio.app
(copy it from Elestio once target is created)SYSADMIN_EMAIL=myemail@gmail.com
SSL_TYPE=upstream
HTTP_PORT=8989
HTTPS_PORT=8443
UPSTREAM_HTTPS_PORT=443
Reverse Proxy:
HTTPS 443 -> HTTP 172.17.0.1 8989 /
(note that I am pointing to the http)
First run obviously failed because Elestio installs old version of docker engine and docker compose. ODK Central needs "Docker Engine v23.x and Docker Compose v2.16.x or greater".
1- Update Docker:
I opened the terminal from Elestio, uninstalled the existing docker by following this instruction and then install the latest version using this instruction.
2- Added swap
Followed this instruction to add the swap.
3- Restarted the target