Libravatar is a service that allows you to use the same avatar image on multiple websites. In this tutorial, we will go through the steps of installing Libravatar on FreeBSD Latest.
Before we begin, you will need:
The first step is to update and upgrade the system to ensure that all package dependencies are up-to-date. Connect to your FreeBSD server via SSH and run the following command:
sudo pkg update && sudo pkg upgrade
Next, we need to install the required packages for Libravatar. Run the following command:
sudo pkg install devel/git www/nginx www/uwsgi www/uwsgi-python36 www/py-certbot-nginx www/supervisor
We will now clone the Libravatar repository from GitHub. Run the following command:
sudo git clone https://github.com/libravatar/libravatar.git /usr/local/libravatar
Create a virtual environment for the Python 3.6 interpreter to process the HTTP requests made to the Libravatar API. Run the following command:
sudo pw user add uwsgi -c uwsgi -d /nonexistent -s /usr/sbin/nologin
python3.6 -m venv /usr/local/libravatar/venv
source /usr/local/libravatar/venv/bin/activate
pip install --upgrade pip setuptools
pip install uwsgi
Next, we will configure Nginx for Libravatar. We need to create a new server block file in the "/usr/local/etc/nginx/conf.d/" directory. Create a new file named "libravatar.conf" and open it using the text editor of your choice. Fill it with:
server {
listen 80;
server_name libravatar.example.com;
access_log off;
location / {
uwsgi_pass 127.0.0.1:9000;
include uwsgi_params;
}
}
Replace "libravatar.example.com" with the domain name of your choice.
Create a configuration file for uWSGI in "/usr/local/etc/uwsgi/libravatar.ini" and add the following configuration:
[uwsgi]
chdir = /usr/local/libravatar
wsgi-file = /usr/local/libravatar/wsgi.py
master = true
env = LIBRAVATAR_SETTINGS=/usr/local/libravatar/deployment.cfg
home = /usr/local/libravatar/venv
processes=2
socket = 127.0.0.1:9000
chmod-socket = 666
vacuum = true
Create a new configuration file for supervisor at "/usr/local/etc/supervisor.d/libravatar.ini".
[program:libravatar]
directory=/usr/local/libravatar
command=/usr/local/libravatar/venv/bin/uwsgi --ini /usr/local/etc/uwsgi/libravatar.ini
user=uwsgi
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
Create a new configuration file at "/usr/local/libravatar/deployment.cfg" using a text editor of your choice and paste the following configuration:
[flask]
SERVER_NAME = libravatar.example.com
SECRET_KEY = somethingrandom
[storage]
STORAGE_BACKEND=local
STORAGE_DIRECTORY=/usr/local/libravatar/data
Finally, create the directory "/usr/local/libravatar/data" with:
sudo mkdir -p /usr/local/libravatar/data
sudo chown uwsgi:uwsgi /usr/local/libravatar/data
We now need to obtain an SSL certificate to secure our Libravatar installation. We can obtain the SSL certificate using Certbot. Run the following command:
sudo certbot --nginx -d libravatar.example.com
Follow the prompts and supply the necessary information required to complete your SSL certificate request.
To finalize the configuration of our Libravatar server, restart the related services with:
sudo service nginx restart
sudo service supervisord restart
sudo supervisorctl restart libravatar
At this point, you should have Libravatar successfully installed on your FreeBSD Latest server, and a working avatar service running. You can now configure Libravatar on other services that support Libravatar as a platform to use with.
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!