# TAK Server Docker Compose Deployment Guide ## Quick Start 1. **Copy the environment template**: ```bash cp .env.template .env ``` 2. **Edit the .env file** to set your TAK archive path: ```bash nano .env ``` Update the `TAK_ARCHIVE_PATH` to point to your actual TAK Server archive. 3. **Deploy the stack**: ```bash docker-compose up -d ``` 4. **Monitor the deployment**: ```bash # Check service status docker-compose ps # View logs docker-compose logs -f takserver docker-compose logs -f takserver-db ``` ## Configuration ### Required Setup - Set `TAK_ARCHIVE_PATH` in your `.env` file to point to your TAK Server archive - Ensure the archive file is accessible to Docker ### Optional Configuration - Modify port mappings in `.env` if you have port conflicts - Adjust healthcheck settings in `docker-compose.yml` if needed ## Management Commands ```bash # Start the services docker-compose up -d # Stop the services docker-compose down # Restart services docker-compose restart # Update to latest image docker-compose pull docker-compose up -d # View service logs docker-compose logs -f [service-name] # Access TAK Server shell docker-compose exec takserver bash # Access database shell docker-compose exec takserver-db psql -U postgres ``` ## Accessing TAK Server Once deployed, TAK Server will be available at: - **Web UI**: https://localhost:8443 - **Certificate Enrollment**: https://localhost:8444 - **Federation**: Port 8446 - **Streaming API**: Port 9000 (HTTP), 9001 (HTTPS) ## Data Persistence The following data is persisted across container restarts: - Database data in `takserver-db-data` volume - TAK Server logs in `takserver-logs` volume - SSL certificates in `takserver-certs` volume - Configuration files in `takserver-config` volume ## Troubleshooting - **Services not starting**: Check that your TAK archive path is correct in `.env` - **Port conflicts**: Modify the port mappings in `.env` - **Database connection issues**: Wait for the database healthcheck to pass before the server starts - **Certificate issues**: Check the `takserver-certs` volume for SSL certificate files