Deploying SerpBear on a Server
Getting up and running on a server takes only a 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 by running the following commands:
# Install Docker Compose
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-linux-x86_64 -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
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;
}
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 serpbear.mydomain.com
Exit and save: Ctrl+X & YCheck so nginx is configured properly
sudo nginx -t
It should say something like the test is successfulNow 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 serpbear.mydomain.com
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"
services:
app:
image: towfiqi/serpbear
restart: unless-stopped
ports:
- 3000:3000
environment:
- USER=admin
- PASSWORD=0123456789
- SECRET=4715aed3216f7b0a38e6b534a958362654e96d10fbc04700770d572af3dce43625dd
- APIKEY=5saedXklbslhnapihe2pihp3pih4fdnakhjwq5
- NEXT_PUBLIC_APP_URL=http://localhost:3000
volumes:
- serpbear_appdata:/app/data
networks:
my-network:
driver: bridge
volumes:
serpbear_appdata:
Change Environment Variables to your needs. 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 pull
docker compose up
Last updated