Metainformationen zur Seite
Übersetzungen dieser Seite:
- de
ODK Central Server bei Hetzner
Diese Anleitung ist WIP!
Anleitung:\ Installing Central on DigitalOcean
SSH-Schlüssel erzeugen
- siehe DevOps SSH
Server bestellen
- Typ: CPX11
- 2 VCPU
- 2 GB Ram
- Ubuntu 22.04
DNS anlegen
odk IN A {IPV4} odk IN AAAA {IPv6} central.odk IN CNAME odk
Docker installieren
Siehe: Install Docker Engine on Ubuntu
- Uninstall old versions
root@...# for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
- Set up Docker's apt repository.
# Add Docker's official GPG key: root@...# apt-get update root@...# apt-get install ca-certificates curl gnupg root@...# install -m 0755 -d /etc/apt/keyrings root@...# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg root@...# chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources: root@...# echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null root@...# apt-get update
- Install the Docker packages.
root@...# apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- Verify that the Docker Engine installation is successful by running the hello-world image.
root@...# docker run hello-world
- Test docker version:
root@...# docker --version && docker compose version
- To update docker:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Firewall überprüfen
- Status checken:
root@...# ufw status verbose
- Evtl. die Firewall deaktivieren:
root@...# ufw disable
Install ODK Central and configure it
cd /srv git clone https://github.com/getodk/central cd central git submodule update -i
- Create environment file and edit. See also Configure Hetzner Email Server below:
cp .env.template .env vim .env
- Allow PostGres updates:
touch ./files/allow-postgres14-upgrade
- Bundle everything together into a server:
docker compose build
Configure Hetzner Email Server
Hetzner email accounts documentation: Email-Konto einrichten
- Edit .env file:
# Optional: configure a custom mail server EMAIL_FROM=noreply@diggin-data.de EMAIL_HOST=mail.your-server.de EMAIL_PORT=143 EMAIL_SECURE=false EMAIL_IGNORE_TLS=true EMAIL_USER=KONTONAME@diggin-data.de EMAIL_PASSWORD=KONTOPASSWORD
- Build and restart the service container.
root@...# docker compose build service && docker compose stop service && docker compose up -d service
Starting up Central
- Start the server software:
docker compose up -d
- See whether it is running:
$ docker compose ps
- Visit your domain name in a web browser: ODK Central Login Page
- Restart the server
Create an Admin User account
- Create a new admin account:
root@...# docker compose exec service odk-cmd --email YOUREMAIL@ADDRESSHERE.com user-create
- Make the new account an administrator:
root@...# docker compose exec service odk-cmd --email YOUREMAIL@ADDRESSHERE.com user-promote
- If you ever lose track of your password, you can reset it:
root@...# docker compose exec service odk-cmd --email YOUREMAIL@ADDRESSHERE.com user-set-password