[Feature] Add the ability to expose sync server in desktop app to connect to networks other than localhost #2216

Closed
opened 2026-02-28 20:07:05 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @kennydrobnack on GitHub (Jun 20, 2025).

Originally assigned to: @MikesGlitch on GitHub.

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

I would like to be able to run the desktop version of Actual on a Windows, Mac, or Linux desktop and sync with multiple devices on the same network without having to set up a server or send my data to a cloud provider or the internet.

I have used this in the past with some budgeting apps like the desktop version of YNAB (You Need A Budget version 4) and Budget by Snowmint Creative Solutions. Both of these would allow you to hit a sync button and your mobile app could sync via WiFi as long as you were on the same network.

Having the sync functionality built into the Actual desktop app makes this even better: it could sync with other devices (laptop or mobile) where YNAB4 and Snowmint Budget you would have to manually sync and it would only allow you syncing between one desktop/laptop instance of the software and a mobile device.

Describe your ideal solution to this problem

Currently the desktop version of Actual has the option to run the sync server within the desktop app itself rather than setting up a server. From what I'm reading, this is only available on a fixed port on localhost, which means you'd have to set up ngrok or some other kind of reverse proxy to allow other devices to sync.

Ideally, once you'd turn on the sync server in the desktop app, there should be an option to also expose the sync server to a specific port (with a reasonable default) and also allow the user to pick which network interface to have the sync server connect on. The default network interface would of course just be localhost, and then allow to pick any additional interface (for systems that have multiple network cards) or select listen to all IP addresses.

Putting the sync server on something beyond localhost should require security features to be turned on.

Teaching and learning

This could be covered in the documentation alongside the feature with the sync server being available in the desktop app.

It should also enforce good security practices (don't make it available publicly on the internet without having some robust security features turned on like SSL, encryption key, and requiring a password to login)

Originally created by @kennydrobnack on GitHub (Jun 20, 2025). Originally assigned to: @MikesGlitch on GitHub. ### Verified feature request does not already exist? - [x] I have searched and found no existing issue ### 💻 - [ ] Would you like to implement this feature? ### Pitch: what problem are you trying to solve? I would like to be able to run the desktop version of Actual on a Windows, Mac, or Linux desktop and sync with multiple devices on the same network without having to set up a server or send my data to a cloud provider or the internet. I have used this in the past with some budgeting apps like the desktop version of YNAB (You Need A Budget version 4) and Budget by Snowmint Creative Solutions. Both of these would allow you to hit a sync button and your mobile app could sync via WiFi as long as you were on the same network. Having the sync functionality built into the Actual desktop app makes this even better: it could sync with other devices (laptop or mobile) where YNAB4 and Snowmint Budget you would have to manually sync and it would only allow you syncing between one desktop/laptop instance of the software and a mobile device. ### Describe your ideal solution to this problem Currently the desktop version of Actual has the option to run the sync server within the desktop app itself rather than setting up a server. From what I'm reading, this is only available on a fixed port on localhost, which means you'd have to set up ngrok or some other kind of reverse proxy to allow other devices to sync. Ideally, once you'd turn on the sync server in the desktop app, there should be an option to also expose the sync server to a specific port (with a reasonable default) and also allow the user to pick which network interface to have the sync server connect on. The default network interface would of course just be localhost, and then allow to pick any additional interface (for systems that have multiple network cards) or select listen to all IP addresses. Putting the sync server on something beyond localhost should require security features to be turned on. ### Teaching and learning This could be covered in the documentation alongside the feature with the sync server being available in the desktop app. It should also enforce good security practices (don't make it available publicly on the internet without having some robust security features turned on like SSL, encryption key, and requiring a password to login)
GiteaMirror added the needs votesfeature labels 2026-02-28 20:07:05 -06:00
Author
Owner

@github-actions[bot] commented on GitHub (Jun 20, 2025):

Thanks for sharing your idea!

This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward a successful contribution).

The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+

Don’t forget to upvote the top comment with 👍!

@github-actions[bot] commented on GitHub (Jun 20, 2025): :sparkles: Thanks for sharing your idea! :sparkles: This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward a successful contribution). The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+ Don’t forget to upvote the top comment with 👍! <!-- feature-auto-close-comment -->
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#2216