Skip to content

takwerx/tak-server-installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

93 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TAK Server Installer

License: MIT TAK Server

Production-ready TAK Server deployment scripts for Rocky Linux 9 and Ubuntu 22.04, plus an optional Docker workflow using the official takserver-docker-*.zip from TAK.gov.

Automated installation, SSL configuration, and comprehensive monitoring for TAK Server deployments. Created and maintained by The TAK Syndicate.


πŸš€ Quick Start

Three simple steps to deploy TAK Server:

# 1. Download scripts
git clone https://github.com/takwerx/tak-server-installer.git
cd tak-server-installer

# 2. Choose your OS and run install script
# Rocky Linux 9:
sudo ./rocky-9/install.sh

# Ubuntu 22.04:
sudo ./ubuntu-22.04/install.sh

# 3. (Optional) Add SSL and hardening
sudo ./rocky-9/caddy-setup.sh      # or ubuntu-22.04/caddy-setup.sh
sudo ./rocky-9/hardening.sh        # or ubuntu-22.04/hardening.sh

Docker (optional): use the official Docker ZIP, then run ./docker/tak-docker-install.sh (see DEPLOYMENT-GUIDE.md).

That's it! Your TAK Server is running at https://YOUR-IP:8443

πŸ“– Read the complete deployment guide for detailed instructions.


✨ Features

πŸ”§ Installation Script

  • βœ… Automated TAK Server installation
  • βœ… PostgreSQL 15 setup and configuration
  • βœ… Custom Root CA and Intermediate CA naming
  • βœ… Certificate creation with proper keystores
  • βœ… Firewall configuration
  • βœ… Auto-start on boot
  • βœ… All certificates use standard password: atakatak

πŸ”’ SSL/Caddy Script (Optional)

  • βœ… Let's Encrypt SSL certificates
  • βœ… Automatic certificate renewal
  • βœ… Domain name configuration
  • βœ… Secure HTTPS access
  • βœ… No manual certificate management

πŸ›‘οΈ Hardening Script (Optional)

  • βœ… 7 Active Guard Dogs monitoring your server
  • βœ… Automatic restart on failures
  • βœ… Email & SMS alerts
  • βœ… Network connectivity monitoring
  • βœ… Process health checks
  • βœ… PostgreSQL monitoring
  • βœ… Disk space monitoring
  • βœ… Certificate expiry alerts
  • βœ… Health endpoint for UptimeRobot
  • βœ… Production-grade reliability

πŸ“‹ What You Need

Required

  • Fresh VPS with Rocky Linux 9, RHEL 9, or Ubuntu 22.04
  • 8GB RAM minimum (16GB recommended)
  • 50GB storage minimum (100GB+ recommended)
  • 4 CPU cores minimum
  • Root/sudo access
  • TAK Server package from TAK.gov

Optional (for SSL)

  • Domain name
  • DNS A record pointing to your VPS

πŸ“‚ Repository Structure

tak-server-installer/
β”œβ”€β”€ rocky-9/
β”‚   β”œβ”€β”€ install.sh              # TAK Server installation
β”‚   β”œβ”€β”€ caddy-setup.sh          # SSL/Let's Encrypt setup
β”‚   └── hardening.sh            # Production hardening & monitoring
β”œβ”€β”€ ubuntu-22.04/
β”‚   β”œβ”€β”€ install.sh              # TAK Server installation
β”‚   β”œβ”€β”€ caddy-setup.sh          # SSL/Let's Encrypt setup
β”‚   └── hardening.sh            # Production hardening & monitoring
β”œβ”€β”€ docker/
β”‚   β”œβ”€β”€ tak-docker-install.sh   # Install from takserver-docker-*.zip
β”‚   └── docker-compose.yml      # Optional stack after images are built
β”œβ”€β”€ docs/
β”‚   └── guard-dogs.md           # Guard Dog monitoring explained
β”œβ”€β”€ DEPLOYMENT-GUIDE.md         # Complete deployment guide
β”œβ”€β”€ QUICK-START.md              # Fast deployment instructions
└── README.md                   # This file

🎯 Installation Overview

Step 1: Install TAK Server

Installs TAK Server, PostgreSQL, creates certificates, configures firewall.

Rocky Linux 9:

sudo ./rocky-9/install.sh

Ubuntu 22.04:

sudo ./ubuntu-22.04/install.sh

What it does:

  • Installs all dependencies
  • Sets up PostgreSQL 15
  • Creates custom Root and Intermediate CAs
  • Generates admin and user certificates
  • Configures firewall (ports 8089, 8443, 8446)
  • Starts TAK Server

Access: https://YOUR-IP:8443 (certificate: /opt/tak/certs/files/admin.p12, password: atakatak)


Step 2: Add SSL (Optional)

Adds Let's Encrypt SSL certificate for your domain.

Rocky Linux 9:

sudo ./rocky-9/caddy-setup.sh

Ubuntu 22.04:

sudo ./ubuntu-22.04/caddy-setup.sh

What it does:

  • Installs Caddy
  • Obtains Let's Encrypt certificate
  • Configures automatic renewal
  • Updates TAK Server to use SSL cert

Access: https://yourdomain.com:8443

⚠️ Wait 5 minutes after completion before accessing via domain name.


Step 3: Add Hardening (Optional)

Adds production-grade monitoring and reliability.

Rocky Linux 9:

sudo ./rocky-9/hardening.sh

Ubuntu 22.04:

sudo ./ubuntu-22.04/hardening.sh

What it does:

  • Configures systemd for auto-restart
  • Sets up 4GB swap space
  • Tunes TCP keepalive settings
  • Installs 7 Guard Dog monitors
  • Configures email/SMS alerts
  • Creates health endpoint (port 8080)

Guard Dogs Monitor:

  1. Port 8089 health (every 1 min)
  2. TAK processes (every 1 min)
  3. Network connectivity (every 1 min)
  4. PostgreSQL service (every 5 min)
  5. Out of Memory detection (every 1 min)
  6. Disk space (every hour)
  7. Certificate expiry (daily)

πŸ“š Documentation


πŸ” Security Notes

Default Certificate Password

All certificates use the standard TAK Server password: atakatak

This includes:

  • admin.p12 (administrator certificate)
  • user.p12 (standard user certificate)
  • All keystores and truststores

Important: Change this in production if required by your security policy.

Firewall Ports

The scripts automatically configure these ports:

  • 8089/tcp - TLS client connections
  • 8443/tcp - Admin web interface
  • 8446/tcp - Certificate enrollment
  • 80/tcp - HTTP (only if using Caddy for SSL)
  • 443/tcp - HTTPS (only if using Caddy for SSL)
  • 8080/tcp - Health endpoint (only if using hardening)

πŸ• Guard Dog Monitoring

The hardening script installs 7 active guard dogs that monitor your TAK Server 24/7:

Guard Dog Checks Interval Action
Port 8089 Port accepting connections 1 min Auto-restart after 3 failures
Process Monitor All 5 Java processes running 1 min Auto-restart after 3 failures
Network Internet connectivity 1 min Alert after 3 failures
PostgreSQL Database service status 5 min Auto-restart if down
OOM Detection Java memory crashes 1 min Auto-restart on OOM
Disk Space Storage usage > 90% 1 hour Alert only
Certificate Expiry Cert expires in < 30 days Daily Alert only

Features:

  • βœ… 15-minute grace period after restarts (prevents false alarms)
  • βœ… Email & SMS alerts
  • βœ… Comprehensive logging
  • βœ… Failure thresholds prevent false positives

πŸŽ“ Support

Created by The TAK Syndicate

Getting Help

  1. Check the Deployment Guide
  2. Review Common Issues
  3. Search existing GitHub Issues
  4. Open a new issue if needed

πŸ“œ License

MIT License - See LICENSE file for details.

Free to use, modify, and distribute. Attribution appreciated!


πŸ™ Credits


⭐ Star This Repo!

If these scripts helped you deploy TAK Server, please star this repository!

It helps others find it and motivates continued development.

⭐ Star on GitHub


Latest Update: January 2026
Compatible with: TAK Server 5.x series
Tested on: Rocky Linux 9, RHEL 9, Ubuntu 22.04 LTS; Docker path uses the official container bundle from TAK.gov

About

Production-ready TAK Server deployment scripts for Rocky Linux 9 and Ubuntu 22.04 - Install, SSL/Caddy, and Hardening

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages