Working with multiple clients


#1

Is this app able to receive data from multiple client instances ?


#2

If you mean if the server (aw-server, the core process that handles all the data) can receive data from multiple watchers (data collectors) then yes!

This is how ActivityWatch works by default. We collect things like active window and AFK state using two separate watchers which each put their data into their own “bucket” and then do all the processing in a post-processing stage to keep the raw data intact.

You can read more about our architecture in the documentation.


#3

Ok, how I configure the clients to know the server’s ip and port ?
here : aw-client/aw_client/config.py?
And do I need to also configure and start separately aw_watcher_afk on clients stations?


#4

Here’s an explanation I did on a github issue which was pretty similar. The aw-client/aw_client/config.py only includes the default values of the config files and creates them if they don’t already exist, so changing the config files directly is recommended.

I will add this to the docs later, seems to be pretty requested. Still, please be aware that your data is not encrypted so all traffic going between your client and server can be tracked. We are still far from finished with clients reporting to a remote server, so the recommended way currently would be to run aw-server on every machine instead.


#5

I’m pretty new to ActiviyWatch but I really like it. However I’m switching quite often between machines, and I was wondering what’s the best may to merge data, maybe even combine the afk status in a smart way. E.g. if I leave my desktop machine to go to some meeting and continue working there on a laptop etc.

Found this old thread, so I thought it maybe belongs here …


#6

There really isn’t an good solution to this problem currently.
The solution explained in this post works with some tweaking, but it’s far from a good experience and a security risk if doing it when the central aw-server is not on the same local network.

We have been planning and are prototyping a sync feature so you can sync between two aw-server instances on multiple computers, but it’s not going to be finished anytime soon. This issue is technically hard for us to solve because we don’t want to use a centralized cloud server which is the trend nowadays (due to privacy, data ownership, cost, etc.).