I use the docker version of the Joplin Server, it syncs with everything I've thrown at it which is a laptop, my Android Phone(s) over the years and my Desktop with no issues. It's super basic so you just set up an account in the self hosted server and then proceed to login using the Synchronization settings in your Joplin App.
If you have any existing data, Make sure to Back it up First!
This is my compose I use. Sub with your values obviously.
services:
db:
image: postgres:15.4-bullseye
volumes:
- /mnt/appdata/joplindb:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- POSTGRES_DB=joplin
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "22300:22300"
restart: unless-stopped
environment:
- APP_PORT=22300
- APP_BASE_URL=https://public.url.example.com/
- DB_CLIENT=pg
- POSTGRES_PASSWORD=postgres
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=postgres
- POSTGRES_PORT=5432
- POSTGRES_HOST=db
- MAILER_ENABLED=1
- MAILER_HOST=yourmailhost
- MAILER_PORT=587
- MAILER_SECURE=0
- MAILER_AUTH_USER=Your Email user
- MAILER_AUTH_PASSWORD=Your Super Secret Password
- MAILER_NOREPLY_NAME=Your No Reply Name (eg: Noreply box)
- MAILER_NOREPLY_EMAIL=no reply email address
- TZ=America/Los_Angeles
volumes:
joplindb:
And then in the settings for the sync in the app:

To get there, Go to the Tools > Options > Synchronization
Hopefully this will help. :)