Initial Setup for Debian based LINUX

This software was designed and run on Ubuntu. It might be possible to install and run it on other OS like Windows or MacOS, but we can't guarantee it will perform the same way, or that there won't be any issue.

If you want to host it externally, preferably on a secured (https) domain, you will require an independent ssl certificate for every instance of every app you install on your server. This guide doesn't cover the installation and management of ssl certificates in case of an external domain.

For this installation you will need to create a local domain to make the services available; this is why we do all the dns setup below.
To install and use the BIBBOX software please follow these instructions:

Install Docker Engine, Docker-compose, Dnsmasq, Git and prepatory Steps, Linux

Run the following commands:

sudo apt-get update
sudo apt install -y
sudo apt-get install -y
sudo apt-get install docker-compose -y
sudo apt install git -y
sudo docker network create bibbox-default-network
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Dnsmasq is used to create a local domain to resolve your requests towards the internal Proxy-Server operated by the bibbox. Otherwise installation and app usage will not work.

DNS service setup for UBUNTU 20+, These steps will replace your current systemd-resolved with dnsmasq.

Note: if you do something wrong your internet will not work anymore.

Installing and configuring dnsmasq:

Uninstall systemd-resolved package. It isn’t necessary to have.

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
sudo apt purge systemd-resolved

Disable dnsmasq in the /etc/NetworkManager/NetworkManager.conf. Also, ensure to have the dns=none line:
sudo nano /etc/NetworkManager/NetworkManager.conf




Restart NetworkManager:

sudo systemctl restart NetworkManager

Remove the current /etc/resolv.conf file and install dnsmasq:

unlink /etc/resolv.conf
sudo apt-get install dnsmasq -y

Config your upstream dns:

echo "nameserver" | sudo tee /etc/resolv.dnsmasq
echo "nameserver" | sudo tee -a /etc/resolv.dnsmasq

Backing up the default configuration file dnsmasq creates:

sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

Config your dnsmasq.conf file. Use a cache-size parameter. If you for example choose bibbox.local.test as the domain name the contents of this file will look like:

sudo tee /etc/dnsmasq.conf << EOF

Use the dnsmasq as main dns provider:

echo "nameserver" | sudo tee /etc/resolv.conf

Testing if everything is fine:

dnsmasq --test

If you get the following answer everything is good: dnsmasq: syntax check OK, if not there is a mistake in dnsmasq.conf.

Restart dnsmasq service

sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq

Testing the newly created domain:

dig bibbox.local.test

Output should look like in the example bellow; if it's working it will have an ANSWER SECTION

; <<>> DiG 9.16.1-Ubuntu <<>> bibbox.local.test
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36047
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

; EDNS: version: 0, flags:; udp: 4096
;bibbox.local.test.     IN  A

bibbox.local.test.  0   IN  A

;; Query time: 0 msec
;; WHEN: Di Okt 19 14:23:19 CEST 2021
;; MSG SIZE  rcvd: 62

We can also use:

nslookup bibbox.local.test

Output should look like:


Name:   bibbox.local.test

* NOTE: The domain used here bibbox.local.test is just an example. You can use a domain name of your choice. * For more information about the topic visit: setup a dns-dhcp-server/

Create the bibbox location folder:

cd /opt
sudo mkdir bibbox
cd bibbox

Clone the bibbox system repository to opt bibbox and run the installation script.

sudo git clone
cd sys-bibbox
sudo bash

Warning using will reinstall nvm and set the nodejs version used by npm to 14.16.0


When asked for a domain name we will use the one we created above:

Specify domainname + TLD (e.g.

Afterwards everything should be working as intended.

Thank you and have a nice day!