In this tutorial, we will walk through the process of installing Wakapi, a self-hosted analytics tool for Wakatime, on Debian Latest.
Before we begin, make sure you have the following:
The first step is to ensure that your system has all the necessary dependencies required to run Wakapi. You will need to update your system’s package list by running:
sudo apt update
Once the update is complete, install the following dependencies:
sudo apt install build-essential git mongodb nginx nodejs npm
After installing the dependencies, you can verify that Node.js and npm are properly installed by running:
nodejs -v
npm -v
Next, clone the Wakapi repository using Git:
git clone https://github.com/muety/wakapi.git
Once the cloning is complete, navigate to the Wakapi directory:
cd wakapi
Install the required Node.js dependencies:
npm install
The Wakapi configuration file is located in the config
directory. Use the following command to copy the default configuration file to a new file:
cp config.default.js config.js
Modify the new configuration file to include your Wakatime API key, MongoDB connection URL, and other settings. Refer to the Wakapi documentation for details on configuring the tool.
Start the MongoDB database by running:
sudo systemctl start mongodb
You can check the status of the MongoDB service by running:
sudo systemctl status mongodb
Start Wakapi by running:
npm start
You should see a message indicating that the server is running on port 3000.
Finally, you can configure Nginx to act as a reverse proxy for Wakapi. Create a new Nginx configuration file in the /etc/nginx/sites-available/
directory:
sudo nano /etc/nginx/sites-available/wakapi.conf
Paste the following configuration into the file:
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Replace your_domain.com
with your domain name or IP address.
Create a symbolic link to the new configuration file in the /etc/nginx/sites-enabled/
directory:
sudo ln -s /etc/nginx/sites-available/wakapi.conf /etc/nginx/sites-enabled/
Finally, restart Nginx:
sudo systemctl restart nginx
Congratulations! You have successfully installed Wakapi on Debian Latest and configured it to run behind Nginx as a reverse proxy. Start tracking your Wakatime data and generate insightful analytics reports.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!