Traduora is a web-based translation management system, which allows you to manage your translations and collaborate with other team members. In this tutorial, we will guide you step by step on how to install Traduora on your Void Linux server.
To run Traduora, you need to have some dependencies installed on your server. Run the following command to install the required packages:
sudo xbps-install -y git mariadb mariadb-client mariadb-server nginx nodejs npm
git
will be used to clone the source code of Traduora.mariadb
, mariadb-client
, and mariadb-server
will be used as the database server.nginx
will be used as a reverse proxy.nodejs
and npm
will be used as the JavaScript runtime and package manager.Traduora uses MariaDB as the database server. To configure MariaDB, execute the following command:
sudo mysql_secure_installation
Follow the prompts to configure your MariaDB server. If you are unsure about the configuration, choose the default options.
You will also need to create a new database and user with the following commands:
sudo mysql -u root -p
CREATE DATABASE traduora;
CREATE USER 'traduora'@'localhost' IDENTIFIED BY '<password_here>';
GRANT ALL PRIVILEGES ON traduora.* TO 'traduora'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Replace <password_here>
with a password of your choice.
Now let's download the source code of Traduora from GitHub using the following command:
git clone https://github.com/alvations/traduora.git /opt/traduora
To install Traduora dependencies, change the directory to the cloned repository and run the following commands:
cd /opt/traduora
sudo npm install
Traduora has a configuration file config.js
located in the config
directory. Copy the example configuration file config.example.js
with the following command:
cd config
cp config.example.js config.js
Now we need to update the configuration file with our database details. Open the config.js
file using any text editor and change the following configuration options:
database: {
host: 'localhost',
port: '3306',
database: 'traduora',
username: 'traduora',
password: '<password_here>',
dialect: 'mysql',
},
Replace <password_here>
with the password you set for the traduora
user.
Save the configuration file and exit the text editor.
To start Traduora, execute the following commands:
sudo npm install pm2 -g
cd ..
sudo NODE_ENV=production pm2 start server.js --name "traduora"
This will start Traduora in the production environment with the process manager pm2
. The pm2
command will also create a process that will automatically restart Traduora in case of a crash.
To allow access to Traduora via a web browser, we need to configure Nginx as a reverse proxy server.
Create a new Nginx configuration file for Traduora:
sudo nano /etc/nginx/conf.d/traduora.conf
Add the following content to the file:
server {
listen 80;
server_name your-domain-name.com;
location / {
proxy_pass http://127.0.0.1:3000;
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;
}
location /api/ {
proxy_pass http://127.0.0.1:3000;
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;
}
access_log /var/log/nginx/traduora_access.log;
error_log /var/log/nginx/traduora_error.log;
}
Change your-domain-name.com
to your actual domain name. If you don't have a domain name, you can use your server's IP address instead.
Save the file and exit the text editor.
Finally, restart Nginx to apply the changes:
sudo service nginx restart
Congratulations! You have successfully installed Traduora on your Void Linux server. You can now use your web browser to access Traduora at http://your-domain-name.com
. If you encounter any issues, please refer to the official documentation at https://traduora.co/docs.
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!