Installing Castopod on Ubuntu Server Latest

Castopod is an open-source podcast hosting platform. Here's a step-by-step tutorial on how to install it on your Ubuntu Server Latest.

Prerequisites:

  • A VPS or a dedicated server running Ubuntu Server Latest
  • Access to the server using SSH
  • Basic Knowledge of the Command Line

Step 1: Update Your System

Before you begin, make sure your system is up to date. To do so, run the following command on your terminal:

sudo apt-get update && sudo apt-get upgrade

Step 2: Install Required Packages

Next, install the required packages for Castopod by running the following command on your terminal:

sudo apt-get install -y git curl build-essential ffmpeg nodejs npm certbot python3-certbot-nginx

Step 3: Clone Castopod

Clone the Castopod repository using the following command:

sudo git clone --recursive https://github.com/Castopod/Castopod.git /opt/castopod

Step 4: Configure Mail

To configure mail, enter your email address in the following file:

sudo nano /opt/castopod/config/servers/app.yaml

Then, uncomment the followign lines:

email_sender = '[email protected]'
email_smtp_login = ''
email_smtp_password = ''

Step 5: Install Dependencies for Castopod

The next step is to install required dependencies using the following commands:

cd /opt/castopod
sudo npm install -g yarn
sudo yarn install

Step 6: Start Castopod

To start Castopod, run the following command:

sudo yarn start-prod 

Step 7: Install and Configure NGINX

To Install NGINX run:

sudo apt-get install nginx

Next, Configure NGINX by creating a Virtual Host file at /etc/nginx/sites-available/castopod.in-castopod.conf

The contents of the Virtual Host file are:

server {

    listen 80;
    listen [::]:80;
    server_name your_domain_or_server_ip;
    
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:6776;
    }
    
    location /assets/ {
        proxy_pass http://127.0.0.1:6776;
    }

    if ($scheme != "https") {
        return 301 https://$server_name$request_uri;
    }
    
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name your_domain_or_server_ip;

    ssl_certificate /etc/letsencrypt/live/your_domain_or_server_ip/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your_domain_or_server_ip/privkey.pem;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:6776;
    }

    location /assets/ {
        proxy_pass http://127.0.0.1:6776;
    }
}

Then, activate the Virtual Host by running:

sudo ln -s /etc/nginx/sites-available/castopod.in-castopod.conf /etc/nginx/sites-enabled/

Finally, restart NGINX by running:

sudo systemctl restart nginx

Step 8: Install SSL Certificate

To install an SSL certificate, you can use Certbot. To install Certbot use the command:

apt-get install certbot python3-certbot-nginx

Then, run the following command to get a certificate:

sudo certbot --nginx -d your_domain_or_server_ip

That's it!

You have successfully installed Castopod on your Ubuntu Server Latest. You can now access your Castopod instance by visiting https://your_domain_or_server_ip.