## Installation
+Create role-based user:
+
```bash
sudo useradd --home-dir=/opt/fedi-block-api --comment "Fedi Block API" --user-group --create-home fba
sudo mkdir -p /opt/fedi-block-api
sudo chown -R fba:fba /opt/fedi-block-api
-sudo -Hu fba git clone git://git.mxchange.org/fba.git /opt/fedi-block-api/
-cd /opt/fedi-block-api/
-sudo -Hu fba pip3 install -r requirements.txt
-sudo -Hu fba cp blocks_empty.db blocks.db
-sudo -Hu fba cp config.defaults.json config.json
-sudo -Hu fba ./fba.py fetch_instances --domain=mastodon.social # try a bunch of large servers here
+```
+
+Install software:
+
+```bash
+# Change to role-based user 'fba'
+sudo -Hu fba su -
+
+# Clone code
+git clone git://git.mxchange.org/fba.git
+
+# You MUST create a virtual environment:
+python3 -m venv venv
+
+# Add this to your ~/.bashrc file
+source "${HOME}/fba/venv/bin/activate"
+
+# Install all requirements
+pip3 install -r requirements.txt
+
+# Create blocks.db
+cp blocks_empty.db blocks.db
+
+# Create configuration file
+cp config.defaults.json config.json
+```
+
+Run commands, they should not fail!
+
+```bash
+# Run commands, they should not fail!
+./fba.py fetch_instances --domain=mastodon.social # try a bunch of large servers here
```
### Alter configuration file
To save yourself bandwidth and codeberg, too, you want to clone the blocklists from some folks:
```
-sudo -Hu fba git clone https://codeberg.org/oliphant/blocklists.git blocklists/oliphant/
+git clone https://codeberg.org/oliphant/blocklists.git blocklists/oliphant/
```
WIP notice: This feature is not implemented yet.