Deploying SerpBear on a Server

Getting up and running on server takes only few minutes. Once you have logged in using ssh, follow these steps to get it up and running on an Ubuntu server.
Step 1:
Install Docker using this tutorial.
Step 2:
Install Docker compose running following commands:
# Install Docker Compose
mkdir -p ~/.docker/cli-plugins/
curl -SL -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
sudo chown $USER /var/run/docker.sock
# Verify that Docker Compose is installed
docker compose version
Step 2:
Install Nginx and connect your domain to your Server
  1. 1.
    First install Nginx
sudo apt install nginx
2. Then open the default site config file
sudo nano /etc/nginx/sites-available/default
3. Remove everything inside the location brackets and add proxies. Note: if localhost does not work use ip address from your droplet.
location / {
proxy_pass <http://localhost: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;
  1. 1.
    Above the location we have server_name_;. Set the server name to your domain name if you want to use a domain name for this app. It should look like this: server_name Exit and save: Ctrl+X & Y
  2. 2.
    Check so nginx is configured properly sudo nginx -t It should say something like the test is successful
  3. 3.
    Now restart the service sudo service nginx restart
Step 3
Add SSL for your domain following these commands
sudo snap install core; sudo snap refresh core
sudo apt-get remove certbot
sudo snap install --classic certbot
sudo certbot --nginx -d
sudo certbot renew --dry-run
Step 4:
Enable Firewall:
ufw enable
ufw allow ssh
sudo ufw allow 'Nginx Full'
Step 5:
Create a new directory called serpbear and create a docker-compose.yaml file with the following content:
version: "3.8"
image: towfiqi/serpbear
restart: unless-stopped
- 3000:3000
- USER=admin
- PASSWORD=0123456789
- SECRET=4715aed3216f7b0a38e6b534a958362654e96d10fbc04700770d572af3dce43625dd
- APIKEY=5saedXklbslhnapihe2pihp3pih4fdnakhjwq5
- NEXT_PUBLIC_APP_URL=http://localhost:3000
- serpbear_appdata:/app/data
driver: bridge
Change Environment Variables to your need. The Details of the Environment Variables can be found here.
Step 6:
From the same directory, run the container using the following Command:
docker compose up

Updating the App

When there is a new version, and you want to update your instance of the app, navigate to the serpbear directory and run the following:
docker compose up