services: freetakserver: build: context: . dockerfile: Dockerfile image: tac-aware-freetakserver:latest hostname: freetakserver restart: unless-stopped networks: - taknet volumes: - fts-data:/opt/fts/ ports: - 8081:8080 # DataPackagePort (8080 used by Evolution API) - 8087:8087 # CoTPort - 8089:8089 # SSLCoTPort - 8443:8443 # SSLDataPackagePort - 9001:9000 # FederationPort (9000 used by Portainer) - 19023:19023 # APIPort environment: # Security - CHANGE THESE IN .env FILE FTS_FED_PASSWORD: "${FTS_FED_PASSWORD:-defaultpass}" FTS_CLIENT_CERT_PASSWORD: "${FTS_CLIENT_CERT_PASSWORD:-supersecret}" FTS_WEBSOCKET_KEY: "${FTS_WEBSOCKET_KEY:-YourWebsocketKey}" FTS_SECRET_KEY: "${FTS_SECRET_KEY:-vnkdjnfjknfl1232#}" FTS_CONNECTION_MESSAGE: "${FTS_CONNECTION_MESSAGE:-Welcome to FreeTAKServer}" # Networking FTS_COT_PORT: 8087 FTS_SSLCOT_PORT: 8089 FTS_API_PORT: 19023 FTS_FED_PORT: 9000 FTS_DP_ADDRESS: 'freetakserver' FTS_USER_ADDRESS: 'freetakserver' FTS_API_ADDRESS: 'freetakserver' # Performance FTS_OPTIMIZE_API: True FTS_DATA_RECEPTION_BUFFER: 1024 FTS_MAX_RECEPTION_TIME: 4 FTS_NUM_ROUTING_WORKERS: 3 FTS_MAINLOOP_DELAY: 100 FTS_COT_TO_DB: True FTS_EMERGENCY_RADIUS: 0 FTS_LOG_LEVEL: "${FTS_LOG_LEVEL:-info}" freetakserver-ui: image: ghcr.io/freetakteam/ui:latest hostname: freetakserver-ui restart: unless-stopped networks: - taknet ports: - 5000:5000 volumes: - fts-ui-data:/home/freetak/ environment: FTS_IP: "${FTS_IP:-localhost}" FTS_API_PORT: 19023 FTS_API_PROTO: 'http' FTS_UI_EXPOSED_IP: 'freetakserver-ui' FTS_MAP_EXPOSED_IP: '127.0.0.1' FTS_MAP_PORT: 8000 FTS_MAP_PROTO: 'http' FTS_UI_PORT: 5000 FTS_UI_WSKEY: "${FTS_WEBSOCKET_KEY:-YourWebsocketKey}" FTS_API_KEY: "${FTS_API_KEY:-Bearer token}" FTS_UI_SQLALCHEMY_DATABASE_URI: 'sqlite:////home/freetak/FTSServer-UI.db' volumes: fts-data: fts-ui-data: networks: taknet: driver: bridge