Debian 10/Ubuntu 20.04
If you notice any mistakes that need to be corrected, please reach out on Discord!
MongoDB
Petio supports two ways of connecting to a Mongo Database instance, locally or remote. We recommend the locally hosted MongoDB option.
MongoDB Locally
Make sure to add the correct repository to apt
depending on whether you're using Debian or Ubuntu.
Import the public key used by the package management system:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
Create the /etc/apt/sources.list.d/mongodb-org-4.4.list file:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Reload local package database:
sudo apt-get update
Install the MongoDB packages:
sudo apt-get install -y mongodb-org
Start MongoDB:
sudo systemctl start mongod
Verify that MongoDB has started successfully:
sudo systemctl status mongod
To make sure MongoDB starts after restart use:
sudo systemctl enable mongod
MongoDB Locally - On A Different Host
By default, MongoDB doesn’t allow remote connections.
Locate your
mongod.conf
and edit it with your favorite editor. Include any local IP addresses you want to allow to connect to your MongoDB instance.
vim /etc/mongod.conf
# /etc/mongod.conf
# Listen to local and LAN interfaces.
bind_ip = 127.0.0.1,192.168.161.100
Restart the
mongod
service after making these changes
sudo systemctl restart mongod
If there is a firewall, you might need to use iptables
to allow access to MongoDB. Example below:
Any connections can connect to MongoDB on port 27017
iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
Only certain IPs can connect to MongoDB on port 27017
iptables -A INPUT -s <ip-address> -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d <ip-address> -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT
MongoDB Remotely
Register for Atlas here.
Create a free cluster.
Change the provider or region if you need to. It may take some time to create the cluster.
After the cluster is made, click on connect and select MongoDB Compass and follow the instructions on screen.
Move on to the next section to start installing Petio.
Installing Petio
Create a user for Petio:
sudo useradd -M --shell=/bin/false petio
Make a directory for Petio:
sudo mkdir /opt/Petio
Download the latest version of Petio:
sudo wget https://petio.tv/releases/latest -O petio-latest.zip
Extract Petio to the directory we just made:
sudo unzip petio-latest.zip -d /opt/Petio
Change ownership of the directory for Petio:
sudo chown -R petio:petio /opt/Petio
Create the petio service with systemd:
[Unit]
Description=Petio a content request system
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=on-failure
RestartSec=1
ExecStart=/opt/Petio/bin/petio-linux
User=petio
[Install]
WantedBy=multi-user.target
Reload systemd:
sudo systemctl daemon-reload
Start Petio:
sudo systemctl start petio
Once you've completed theses steps, you can navigate to http://<hostname>:7777
to start configuring Petio.
Last updated