Expose service on the network

Hello,
I am using this wonderful software for checking time my kids spent playing games. But now, I can only do so visiting their PCs.
Please note, I really don’t care about privacy and encryption on my home network, lack of https is not an issue.
How can I setup binding to ip address and make the service accessible over network?

PS we all use Windows

I thought there already was a thread about this on the forum, but they seem to either be outdated or incomplete.

The article on the official docs only describes how to set up SSH tunneling (which is safer), but that is not what you asked for.
https://docs.activitywatch.net/en/latest/remote-server.html

Before I start I have to just mention the disclaimer if anyone else that you read this.

Doing this opens up your computer to security vulnerabilities over your local network. Do not attempt this unless you are ready to accept the risk.

  1. Install activitywatch as usual, then go to the aw-server config file, it’s location is platform dependent and is documented here: Directories

  2. Then, make sure that the computer has its firewall either turned off, or allows the port 5600.

  3. open the aw-server.toml file, and change the IP to 0.0.0.0 to bind the port to be exposed outside of localhost, and then restart aw-server.

  4. You might also have to change some cors_origin settings in aw-server too depending on your browser. Was a while since I tried this so I don’t remember exactly.

  5. Restart aw-server

1 Like

Thank you very much sir! SSH tunnelling feels beyond my tech skills and really- I don’t need to worry about ssl on my home network. I feel a bit embarrased not checking %LocalAppData% for the aw-server.toml file… My kids will hate you :smiley:

For others, just change aw-server.toml line #host=“localhost” to host = “0.0.0.0” and you can skip the “let me check how long did you played minecraft today” hassle.

1 Like