From 03df0d91367e227528eaf597defbdabdf1e1d23b Mon Sep 17 00:00:00 2001 From: dev Date: Sun, 3 May 2026 14:39:29 +0200 Subject: [PATCH] Add custom Dockerfile with working FTS versions --- Dockerfile | 43 +++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 5 ++++- docker-run.sh | 13 +++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100755 docker-run.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9294369 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,43 @@ +# Use working FTS versions from Dockerfile +FROM ubuntu:20.04 + +LABEL maintainer=FreeTAKTeam + +ARG FTS_VERSION=1.9 +ARG FTS_UI_VERSION=1.8.1 + +# UTC for buildtimes +RUN ln -fs /usr/share/zoneinfo/UTC /etc/localtime + +# APT +RUN apt-get update && \ + apt-get install -y libssl-dev libffi-dev curl python3 python3-pip \ + libxml2-dev libxslt-dev python3-lxml python3-dev \ + python3-setuptools build-essential iproute2 &&\ + rm -rf /var/lib/apt/lists/* + +# PIP3 +RUN pip3 install supervisor &&\ + pip3 install requests &&\ + pip3 install flask-login &&\ + pip3 install FreeTAKServer==${FTS_VERSION} && \ + pip3 install FreeTAKServer-UI==${FTS_UI_VERSION} && \ + pip3 install defusedxml &&\ + pip3 install pyopenssl &&\ + pip3 install pytak + +# Create FTS user +RUN addgroup --gid 1000 fts && \ + adduser --disabled-password --uid 1000 --ingroup fts --home /home/fts fts + +# Copy configuration files (will be provided at runtime) +COPY docker-run.sh /home/fts/docker-run.sh +RUN chmod +x /home/fts/docker-run.sh + +# FTS ports +EXPOSE 8080 8087 8089 8443 9000 19023 5000 + +WORKDIR /home/fts +USER fts + +CMD ["/home/fts/docker-run.sh"] diff --git a/docker-compose.yml b/docker-compose.yml index 8a0875f..92fa2f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,9 @@ services: freetakserver: - image: ghcr.io/freetakteam/freetakserver:latest + build: + context: . + dockerfile: Dockerfile + image: tac-aware-freetakserver:latest hostname: freetakserver restart: unless-stopped networks: diff --git a/docker-run.sh b/docker-run.sh new file mode 100755 index 0000000..03e60ec --- /dev/null +++ b/docker-run.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Start FTS services +cd /home/fts + +# Start the API service +python3 -m FreeTAKServer.controllers.services.FTS & + +# Start the UI +cd /home/fts/FreeTAKServer-UI +python3 run.py & + +wait