What's the state of hosting AW on a centralized server?

Hey everyone,

I’ve been using AW for quite some time, and I’ve just recently found out about additional watchers.

Namely the first one that I saw was the Spotify one, imagine how cool it would be to correlate what music I listened to while working, or gaming, in a few years time.

It seems that having multiple devices complicates this, since I cannot have a single store for all my data. Also, the device with the spotify watcher needs to be online at all times, in order to record. Looking at this, having AW run in a little docker container on my server would solve many issues.

From my understanding, we’re just lacking the ability to change the URL within our watchers/browser extensions, to which the data is being sent.

Do we have any other blockers on this? I also understand some sort of batch sending of data might help, but why make that an initial focus? It seems like that is the only feature stalling the push to containerize AW.

It seems like a good idea to start from the simple things:

  • https support
  • interchangeable URL for watchers
  • docker support

And if performance issues arise, work on those later.

On the other hand, I remember there were some fears that if AW is containerized and easily deployable, that companies might start using it to monitor employee activity. That’s simply the double edged blade with open source software, and even though that scenario might occur, nothing will stop these people from spying on their employees, one way or another. Halting AW development because of such fears doesn’t seem to be an adequate solution IMHO.

If anything, the lack of performance will be noticeable when many users would connect to a single database, which fill further deter such employers from using AW, but for home/power users, with 1,2,3 devices, it would be a great solution.

Thanks once again to the devs, this really is a cool project!

You certainly can if you want to, but I want to point out that we don’t want employers to use ActivityWatch to monitor their employees!

This page in the documentation should be helpful to you: Remote server

I also want to reiterate that a centralized server is imo not the way to go for a single user, instead I suggest (if you have some experience building from source) that you try aw-sync: https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync

1 Like