Syncthing works well for this, depending on your needs. You can easily sync your camera roll (or anything else) to a workstation or server, with a 2-way (default) or 1-way sync relationship. It's open source, decentralized, and all transfers are end-to-end encrypted. There are Syncthing clients for Windows, macOS, Linux, Android, BSD, and iOS.
Shares are 2-way synced by default, so any files that are modified or removed on either end will be mirrored to all hosts on the share (removing a photo on the mac will remove it from your phone, etc.). If you opt for a 1-way sync, you can choose to have the phone ignore any changes that occur on the mac side.