Ready-to-run files
Linux server, web console, Dockerfile, Compose configuration, systemd unit and instructions. Go and Node.js compilers are not required.
Acktide Free · Linux · RUB 0
A ready-to-run server and web console. Choose Docker Compose or systemd; both are included in the archive. No email request, cloud account or activation key required.
tar.gz archives, about 4 MB each · SHA-256 · Build information
Alert ingestion and delivery, ACK, routing, on-call schedules, escalation, history, reports and peering. No expiry or license limits on people and events. Your team operates the server, database and backups.
Compare Free, Cloud and Enterprise →
Linux server, web console, Dockerfile, Compose configuration, systemd unit and instructions. Go and Node.js compilers are not required.
The setup script creates a database password, bootstrap token and integration key. The archive contains no shared default passwords.
Run the server on the internet or on a private network. The phone needs access to the server over trusted HTTPS.
Option 1
Requires Linux, Docker Engine with Compose and Python 3. Download the archive for your server architecture. The commands below are for x86-64; for ARM64, replace amd64 with arm64.
curl -fLO https://acktide.com/downloads/acktide-free-0.2.8-linux-amd64.tar.gz
curl -fLO https://acktide.com/downloads/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
tar -xzf acktide-free-0.2.8-linux-amd64.tar.gz
cd acktide-free-0.2.8-linux-amd64
python3 configure.py https://alerts.example.com
docker compose up -d --build
curl http://127.0.0.1:8080/readyzReplace https://alerts.example.com with your installation’s address. On first launch, Docker downloads Alpine and PostgreSQL from Docker Hub and builds an image from the included binary. The database is stored in a Docker volume. The API and delivery worker run in one Acktide container.
Secrets are stored in .env with permissions set to 0600. The script will not overwrite an existing file. For a local test, you can pass http://localhost:8080; configure HTTPS for phone access.
Option 2
The installer targets a fresh Debian 12 or Ubuntu 24.04 system with local PostgreSQL. Extract the same archive and run from its directory:
sudo apt-get update
sudo apt-get install -y postgresql ca-certificates python3
sudo systemctl enable --now postgresql
sudo python3 install-systemd.py https://alerts.example.com
sudo systemctl status acktide
curl http://127.0.0.1:8080/readyzThe installer creates a database, a dedicated unprivileged user and the service acktide. Files are placed in /opt/acktide; configuration and the bootstrap token are stored in /etc/acktide/server.env with permissions set to 0600. If an installation or database already exists, the script stops without overwriting it.
For an existing external database, use acktide.service and configure DATABASE_URL manually. You can inspect the installer before running it; its source is included in the archive.
Both installation methods listen only on 127.0.0.1:8080. Put an HTTPS reverse proxy such as Caddy or nginx in front of Acktide, with WebSocket support. Here is a minimal Caddyfile for a publicly accessible domain:
https://alerts.example.com {
reverse_proxy 127.0.0.1:8080
}Use your own domain and point it to the server. To obtain a public certificate automatically, make the domain and required ports reachable for your chosen validation method.
A public address is optional. On a private network, use internal DNS and TLS. The phone must resolve the hostname, reach the server and trust the certificate chain. An untrusted self-signed certificate will not work. Accessing a private network from outside may require a corporate VPN or another authorized network connection.
For an isolated environment, transfer the archive and dependency images in advance. Direct Android delivery does not require Google FCM. How delivery works →
BOOTSTRAP_TOKEN from .env or /etc/acktide/server.env and create the first administrator. Do not share the token with colleagues; invite them instead.Keep the database and secrets file in a secure location. For Docker:
docker compose exec -T postgres pg_dump -U acktide -d acktide -Fc > acktide.dumpVerify your backup before updating. Replace the binary and the web directory together, preserving the database and configuration. Rebuild the image for Docker. The systemd installer is for fresh installations only. Full commands are in README.txt inside the archive.
Do not run docker compose down -v on a production installation: the -v option deletes the PostgreSQL data volume.