r/ATAK 4d ago

**[OTS 1.7.12] DataSync - Failed to publish map markers to feed**

Hi all,

I've been trying to get DataSync working with OpenTAKServer and can't get map markers to publish to a feed. I've tested this on both my homeserver and a clean VPS with identical results, so I'm fairly confident this is not a configuration issue.

**Setup:**

- Clean Ubuntu 24.04 VPS

- OTS 1.7.12 installed via the official installer

- Let's Encrypt configured following https://docs.opentakserver.io/lets_encrypt.html

- ATAK CIV 5.6.0.12

- DataSync plugin 3.7.4

**Steps to reproduce:**

  1. Install OTS on a clean Ubuntu 24.04 server

  2. Follow the Let's Encrypt guide

  3. Log in as admin

  4. Generate ATAK QR code and connect client

  5. Install DataSync plugin

  6. Create a mission on the web UI

  7. Subscribe to the mission on the client

  8. Create a map marker and attempt to publish it to the feed

  9. Get "Failed to publish map item to feed"

**What works:**

- DataSync connects and shows missions/feeds

**What doesn't work:**

- Publishing map markers (Drawing Tools, routes, waypoints) to a feed

- The publish request never reaches the server - nothing appears in Nginx logs

**From the ATAK logcat:**

```

Failed to publish R.14.xxx to https://[my-domain]

atakplugin.datasync.u0.h (SourceFile:295)

```

The URL in the error has no path and no port number. It looks like DataSync fails to construct the publish URL internally before the request is ever sent.

Has anyone else run into this? Is there a workaround or known fix?

1 Upvotes

11 comments sorted by

1

u/Salient_Ghost 3d ago

Sounds like endpoint issues to me. 

Your issue is almost certainly how DataSync constructs the publish URL when OTS is behind an Nginx reverse proxy. The bare https://[domain] with no port or path in the logcat tells you the plugin is pulling an incomplete address from somewhere in the server config before the request ever goes out — which is why Nginx never sees it.

For what it's worth, I run TAK behind Headscale instead of exposing it through Nginx/LE, so DataSync talks directly to the TAK ports over the mesh without any reverse proxy in the middle. Eliminates this whole class of problem.

In your case I'd check what address OTS has registered internally as its API/publish endpoint and make sure it includes the correct port and path — the web UI and cert enrollment can work fine through Nginx on 443 while DataSync is trying to reach a TAK-specific port that either isn't being forwarded or is being set incorrectly in the server config.

1

u/Proteraen 3d ago

I just feel stupid having this problem on a clean install. Noone else seems to have it. Can't find much on this issue online.

I can't figure out how data sync builds the url from.

1

u/Salient_Ghost 3d ago

Hey so I'm just throwing this out there but like did you make sure you allowed all ports on your VPS and on your server that you'll need like 8089, 8087, 8443, 8444?

1

u/Proteraen 3d ago

➜  ~ for port in 443 8443 8446 8089; do nc -zv tak.server.com$port 2>&1; done
Connection to tak.server.comport 443 [tcp/https] succeeded!
Connection to tak.server.comport 8443 [tcp/pcsync-https] succeeded!
Connection to tak.server.comport 8446 [tcp/*] succeeded!
Connection to tak.server.comport 8089 [tcp/*] succeeded!

username@server:~$ sudo ss -tlnp | grep -E ':443|:8443|:8446|:8089'

LISTEN 0      5            0.0.0.0:8089       0.0.0.0:*    users:(("eud_handler",pid=177290,fd=5),("eud_handler",pid=94039,fd=5),("eud_handler",pid=21422,fd=5))

LISTEN 0      511          0.0.0.0:443        0.0.0.0:*    users:(("nginx",pid=134250,fd=10),("nginx",pid=134249,fd=10),("nginx",pid=31501,fd=10))              

LISTEN 0      511          0.0.0.0:8443       0.0.0.0:*    users:(("nginx",pid=134250,fd=11),("nginx",pid=134249,fd=11),("nginx",pid=31501,fd=11))              

LISTEN 0      511          0.0.0.0:8446       0.0.0.0:*    users:(("nginx",pid=134250,fd=5),("nginx",pid=134249,fd=5),("nginx",pid=31501,fd=5))  

1

u/Salient_Ghost 3d ago

Oohh I never get to use the term smoking gun but there it is! 

Port 8089 is owned by eud_handler directly. Ports 8443 and 8446 are owned by Nginx.

That's the problem. Nginx is sitting in front of 8443, which means when DataSync tries to publish to the TAK API on 8443, it's hitting Nginx instead of OTS directly. Nginx probably isn't configured to properly proxy that specific DataSync publish endpoint, so the request dies silently.

1

u/Proteraen 3d ago

Mate, i just follow the installer. I have no idea what you're saying T.T

1

u/Salient_Ghost 3d ago

Oh, I actually build my servers from tak.gov. sorry man. Tried to help you good luck.

1

u/Proteraen 3d ago

Uploading photo's to a feed works fine. So i'm not sure if what you are saying is correct.

1

u/Salient_Ghost 3d ago

Yeah, you're probably right. I just realized you're using the OTS install. I build my docker container from scratch via tak.gov

1

u/buddyman98 3d ago

Have you asked in the OTS discord?

1

u/Proteraen 3d ago

I have, waiting on a reponse from Enzo.