Asciinema is a terminal recording tool that allows you to record, play, and share terminal sessions online. In this tutorial, we will explain the steps required to install Asciinema on MXLinux Latest.
Before installing Asciinema you need to have the following prerequisites:
Before installing Asciinema, we need to make sure that our system is up-to-date and has all the required dependencies installed. Use the following command to update your system to the latest packages:
sudo apt update && sudo apt upgrade -y
After the update is complete, we need to install the dependencies required for Asciinema by running the following command:
sudo apt install python3-dev python3-pip python3-setuptools supervisor nginx -y
In this step, we will install Asciinema using pip, a package manager for Python. Use the following command to install Asciinema:
sudo pip3 install asciinema
Once the installation is complete, we need to create a configuration file for Asciinema. Run the following command to create a new configuration file:
sudo nano /etc/asciinema/config.cfg
Add the following content to the file:
[web]
base_url = https://localhost:8080/
allow_embed = True
Save and exit the file by pressing Ctrl + X
, followed by Y
, and then Enter
.
Supervisor is a system that allows you to control and manage background processes on your system. We will use it to manage the Asciinema server.
Create a Supervisor configuration file by running the following command:
sudo nano /etc/supervisor/conf.d/asciinema-server.conf
Add the following content to the file:
[program:asciinema-server]
command=/usr/local/bin/asciinema auth /etc/asciinema/auth.json --bind 127.0.0.1:4000 --config /etc/asciinema/config.cfg
user=www-data
directory=/
autostart=true
autorestart=true
startretries=3
stderr_logfile=/var/log/asciinema-server.err.log
stdout_logfile=/var/log/asciinema-server.out.log
Save and exit the file by pressing Ctrl + X
, followed by Y
, and then Enter
.
Nginx is a popular web server and reverse proxy that we will use to serve Asciinema on the web. Run the following command to create a new Nginx configuration file:
sudo nano /etc/nginx/sites-available/asciinema
Add the following content to the file:
server {
listen 80;
server_name example.com; # Replace with your domain name
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com; # Replace with your domain name
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # Replace with your SSL certificate path
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # Replace with your SSL certificate key path
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:8080/;
}
}
Save and exit the file by pressing Ctrl + X
, followed by Y
, and then Enter
.
Enable the Nginx virtual host by running the following command:
sudo ln -s /etc/nginx/sites-available/asciinema /etc/nginx/sites-enabled/asciinema
Test the Nginx configuration by running the following command:
sudo nginx -t
If there are no errors, restart Nginx by running the following command:
sudo systemctl restart nginx
Finally, we need to test Asciinema to see if it is working properly. Use the following command to start the Asciinema server:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start asciinema-server
Open your web browser and visit your domain name (in our case example.com). You should see the Asciinema web interface.
Congratulations! You have successfully installed and configured Asciinema on MXLinux Latest.
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!