Countly is an open-source, mobile and web analytics platform that offers real-time insights into the usage of your applications. In this tutorial, we will guide you through the process of installing Countly Community Edition on Debian Latest.
Connect to your Debian server using SSH and update the system.
sudo apt-get update && sudo apt-get upgrade
Before we can install Countly, we need to install some required dependencies. Run the following command to install these dependencies:
sudo apt-get install build-essential git-core curl libssl-dev libfontconfig1 fontconfig
Countly requires MongoDB as the backend database. Run the following commands to install MongoDB:
sudo apt-get install mongodb
sudo systemctl start mongodb
Countly is based on Node.js, an open-source Javascript runtime environment. Run the following commands to install Node.js and npm:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y npm
Now, let's install Countly Community Edition. Clone the Countly repository from the official GitHub repository using the following command:
git clone https://github.com/Countly/countly-server.git
After cloning the repository, go to the Countly directory and run the following commands:
cd countly-server
npm install --production
To configure Countly, we first need to create a configuration file. Create a new file called config.js
in the Countly directory using the following command:
sudo nano config.js
Copy and paste the following configuration into the file:
module.exports = {
mongodb: {
server: "localhost",
port: 27017,
db: "countly",
max_pool_size: 500,
check_delay: 5000,
retries: 5,
ssl: false
},
api: {
workers: 0,
port: 3001,
host: "localhost",
safe: true,
session_duration_limit: 120,
max_sockets: 1024
},
path: "",
logging: {
info: ["jobs", "dashboard", "push", "checklist", "dashboard_geo", "assistant"],
default: "warn",
console: "info",
audit: "none"
},
apps: {},
plugins: {
path: "../plugins",
list: {
"push": {
"path": "../plugins/push/api/push",
"options": {
"i": "0",
"type": "gcm",
"apiKey": "",
"projectNumber": ""
}
}
}
},
frontend: {
port: 6001,
host: "localhost",
use_cdn: true,
cdn_path: ""
},
fileStorage: {}
};
Save the file and exit the editor.
Next, we need to make sure that Countly is accessible from the internet. Open the Countly configuration file using the following command:
sudo nano /etc/nginx/sites-available/default
Add the following block of code to the end of the file:
server {
listen 80;
listen [::]:80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:6001/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Replace your-domain.com
with your domain name. Save the file and exit the editor.
Restart Nginx to apply the changes:
sudo systemctl restart nginx
Finally, start Countly by running the following command in the Countly directory:
COUNTLY_CONFIG=./config.js npm start
You can now access the Countly dashboard by visiting http://your-domain.com
.
You have successfully installed Countly Community Edition on your Debian Latest server. Countly is a powerful analytics tool that provides real-time insights into the usage of your applications. With Countly, you can track user behaviour, device metrics and other key performance indicators to make informed decisions about your applications.
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!