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 docker.io -y
sudo apt-get install docker.io -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
[main]
dns=none
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
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 1.1.1.1" | sudo tee /etc/resolv.dnsmasq
echo "nameserver 8.8.8.8" | 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
listen-address=127.0.0.1
expand-hosts
domain=bibbox.local.test
address=/bibbox.local.test/127.0.0.1
resolv-file=/etc/resolv.dnsmasq
cache-size=2048
EOF
Use the dnsmasq as main dns provider:
echo "nameserver 127.0.0.1" | 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
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;bibbox.local.test. IN A
;; ANSWER SECTION:
bibbox.local.test. 0 IN A 127.0.0.1
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; 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:
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: bibbox.local.test
Address: 127.0.0.1
* 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/
Install the BIBBOX (in the Beta only Debian based Linux Distributions are featured)
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 https://github.com/bibbox/sys-bibbox.git
cd sys-bibbox
sudo bash INSTALL.sh
Warning using INSTALL.sh will reinstall nvm and set the nodejs version used by npm to 14.16.0
URL/Domain-Settings
When asked for a domain name we will use the one we created above:
Specify domainname + TLD (e.g. silicolabv4.bibbox.org):
Afterwards everything should be working as intended.
Thank you and have a nice day!