Automatically generate product.inf + product.infz from ATAK plugin APKs and serve them via your civTAK server for over-the-air (OTA) distribution to connected ATAK clients.
Last tested: May 2026 · TAKServer 5.x · ATAK 5.x
Hey — this is a hobby tool I built to automate plugin packaging for my own civTAK deployment and decided to publish in case it helps others running similar setups. It works for me, but I'm one person: expect bugs, rough edges, and undocumented assumptions baked into the code.
If you run into problems or have ideas, please open an issue — I read all of them and I'm genuinely happy to get feedback, both bug reports and suggestions.
I'll try to respond within a few days. Bigger changes (new features, refactors) might take longer depending on how much free-time work they need, but they're not off the table.
| Language | Link |
|---|---|
| English | EN_README.md |
| Deutsch | DEU_README.md |
Windows
.\install_windows.ps1Linux
bash setup.shDirect (Python 3 required)
python takota_gui.pyIf you're looking for a complete self-hosted TAKServer deployment with OpenVPN, Matrix, Mumble, Nextcloud, Headwind MDM, and SSO baked in — check the companion repo GUMMIIII/TAKSERVER_MDM.
TAKOTA plugs straight into the TAKServer set up there. The host path differs because TAKSERVER_MDM bind-mounts /opt/tak/ from the host, but the ATAK update URL works the same way as for a vanilla TAKServer:
| Setup | Drop generated files into | ATAK pulls from |
|---|---|---|
| Vanilla TAKServer | /opt/tak/webcontent/update/ |
https://SERVER:8443/update |
| TAKSERVER_MDM | /opt/komms-data/tak/webcontent/update/ |
https://tak.DOMAIN:8443/update |
Always use port :8443 for the ATAK Update-Server URL — ATAK trusts only the TAKServer-internal KOMMSca CA, not Let's Encrypt. See the TAKSERVER_MDM README for the full background.