Wakapi

stack Development / Analytics

Coding time tracker that works with the WakaTime editor plugins. Point them at your own server and get stats per project, language, editor and machine, plus badges you can put in a README.

Install Wakapi

It isn't in the main Portainer Templates list yet, so use this one. Portainer takes one URL at a time, so it swaps out whatever list you had before.

In Portainer, head to Settings --> App Templates, paste this in as the URL and save.

https://raw.githubusercontent.com/NotAFlightRisk/portainer-templates-extras/main/templates.json
  1. Open App Templates and pick Wakapi.
  2. Fill in Password salt and Cookie key. Everything else can stay as it is.
  3. Hit Deploy the stack, then open http://<your-server>:3100 in a browser.

Before you start

Set the password salt before you deploy (openssl rand -hex 32 makes a good one), since the stack won't start without it, and keep it the same when you redeploy. Then open http://<your-host>:3100 (or whichever port you picked) and sign up. The first account is the admin. Sign-ups stay open, so once you've made yours add WAKAPI_ALLOW_SIGNUP = false to the stack's environment variables and update the stack. The setup page shows the ~/.wakatime.cfg lines for your editor's WakaTime plugin, with your API key. Invite links point at localhost until you add WAKAPI_PUBLIC_URL (like http://192.168.1.10:3100) there too. The logged-out front page loads one badge image from badges.fw-web.space. Everything lives in SQLite, in the wakapi-data volume. Docs: github.com/muety/wakapi

Settings

What the Portainer form asks for. With compose they go in the .env file instead.

VariableWhat it's forDefault
WAKAPI_PASSWORD_SALTPassword salt (required) Mixed into every password hash. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or nobody can log in. Needs filling in
WAKAPI_COOKIE_KEYCookie key Keeps you logged in when it restarts. Generate one with: openssl rand -base64 32. Leave it blank and every restart logs everyone out. Needs filling in
WAKAPI_PORTHost port for the web UI 3100

Services

The containers this stack runs, with ports as they come out of the box.

ServiceImagePorts
wakapighcr.io/muety/wakapi:23100:3000

More apps