Alternative installation method

Use this method when auto-installation is not available for your provider. The result is the same Track Arrow build: Docker, MySQL, Redis, ClickHouse, API, and admin panel.

Connect to the server

Install Docker and the tracker

On a clean Ubuntu 22.04/24.04 server with at least 4 GB RAM:

# Install Docker
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

# Clone Track Arrow (use the repository URL from your license / account)
cd /opt
git clone https://github.com/YOUR_ORG/trackarrow.git
cd trackarrow
cp .env.example .env

# Start the stack
docker compose up -d

Wait until containers are healthy, then open http://YOUR_SERVER_IP/ in the browser. If you attached a domain, configure HTTPS (Caddy or the bundled reverse proxy) and open https://your-domain/.

TIP

Installation log on DigitalOcean-style scripts: less /var/log/trackarrow-install.log. Last lines: tail -n 200 /var/log/trackarrow-install.log.

Firewall

On any VPS the default is the same: inbound 22, 80, 443 only; outbound leave open. Redis, MySQL, ClickHouse, and Adminer stay on localhost — Docker Compose already publishes those ports on 127.0.0.1 only.

WARNING

Do not rely on UFW alone. Docker injects iptables rules and can expose a published port even when UFW looks closed. Prefer the provider cloud firewall (DigitalOcean, Hetzner, Vultr, …). If the provider has none, still keep compose ports bound to 127.0.0.1 and do not add -p 0.0.0.0:6379:6379.

From your computer (use nc, not telnet — macOS does not include telnet):

nc -vz -w 3 YOUR_SERVER_IP 6379
# refused / timed out = good
# succeeded = Redis is still public — fix the cloud firewall and compose bind