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:
Step 2:
Install Docker compose running following commands:
# Install Docker Compose
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.2.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
- 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.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 & Y - 2.Check so nginx is configured properly
sudo nginx -t
It should say something like the test is successful - 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 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 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
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