MCPcopy Index your code
hub / github.com/FreeTAKTeam/FreeTakServer

github.com/FreeTAKTeam/FreeTakServer @v2.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.2.1 ↗ · + Follow
7,732 symbols 23,239 edges 1,337 files 3,827 documented · 49%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Docker Quickstart

:warning: THIS IS NOT WELL SUPPORTED BY THE FTS TEAM RIGHT NOW, YOU ARE IN UNCHARTED TERRITORY :warning:

I'd like to set this repo up to use github actions to push to pip and docker hub at the same time. Until that happens, here's how you can build and use this repo to build a docker image and run a container from it. It assumes you've already cloned it where you plan to use it. It also means you'll be running whatever's in development, not what's been released / in Pypi.

:warning: That means you might be running unreleased code with this method

Persistence

By default, docker will save pretty much nothing between runs of this container. So before we run this, we really want somewhere for FreeTAKServer to store data. This container expects you to mount that volume at /opt/fts/ inside the container. Let's put this in your home directory, for now.

# This should work for all dockers, linux, windows, etc
docker volume create ftsdata

:warning: FTS will store its database, data packages, ExCheck lists, and importantly, your certificates in this volume. Keep all of these safe.

Creating a docker image from this repo

docker build . -t fts:local

Run the container

OK, there's a lot to put in this command line, because there's lots of options we want to pass.

Let's run this interactively to start, so we can control the server. This assumes you want to use your public IP for the relevant IP Address configurations.

docker run -it \ # run the container interactively (hold the shell open)
 -e FTS_DP_ADDRESS="$(curl ifconfig.me)" \ # dynamically get your address from iconfig.me for datapackages
 --mount src=ftsdata,target=/opt/fts \ # mount the volume for persistent data
 -p 8080:8080 -p 8087:8087 -p 8443:8443 \ # expose ports
 -p 9000:9000 -p 19023:19023 \ #expose more ports. Check the docs for explanations
 fts:local # the container for docker to run

Once this is running, point your ATAK clients at it, and make sure it works. Once your sure it works, we're gonna set it to run in the background and restart all the time, unless you intentionally stop it for some reason, with docker stop.

docker run --restart unless-stopped \ # run the container forever, unless stopped intentionally
 -e FTS_DP_ADDRESS="$(curl ifconfig.me)" \ # dynamically get your address from iconfig.me for datapackages
 --mount src=ftsdata,target=/opt/fts \ # mount the volume for persistent data
 -p 8080:8080 -p 8087:8087 -p 8443:8443 \ # expose ports
 -p 9000:9000 -p 19023:19023 \ #expose more ports. Check the docs for explanations
 fts:local # the container for docker to run

Core symbols most depended-on inside this repo

get
called by 654
FreeTAKServer/controllers/services/FTS.py
set_value
called by 546
FreeTAKServer/core/domain/node.py
get_value
called by 372
FreeTAKServer/core/domain/node.py
format
called by 182
FreeTAKServer/components/extended/mission/swagger_server/models/connection_info_cert_public_key.py
instance
called by 96
FreeTAKServer/core/configuration/MainConfig.py
put
called by 90
FreeTAKServer/controllers/services/FTS.py
get
called by 74
FreeTAKServer/core/configuration/MainConfig.py
make_request
called by 62
FreeTAKServer/services/https_tak_api_service/views/base_view_controller.py

Shape

Method 5,665
Class 1,056
Function 725
Route 286

Languages

Python100%

Modules by API surface

FreeTAKServer/core/services/RestAPI.py135 symbols
FreeTAKServer/services/rest_api_service/rest_api_service_main.py120 symbols
FreeTAKServer/core/services/DataPackageServer.py74 symbols
FreeTAKServer/model/FTSModel/Detail.py71 symbols
FreeTAKServer/core/persistence/DatabaseController.py64 symbols
FreeTAKServer/components/extended/mission/swagger_server/test/test_mission_api_controller.py61 symbols
FreeTAKServer/components/extended/mission/controllers/mission_api_controller.py60 symbols
FreeTAKServer/services/http_tak_api_service/http_tak_api_service_main.py58 symbols
FreeTAKServer/services/https_tak_api_service/blueprints/mission_blueprint.py56 symbols
FreeTAKServer/services/http_tak_api_service/blueprints/mission_blueprint.py56 symbols
FreeTAKServer/components/extended/mission/swagger_server/models/queue.py55 symbols
FreeTAKServer/services/https_tak_api_service/https_tak_api_service_main.py50 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add FreeTakServer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact