Skip to content

Installation and Trubbleshooting

wervice edited this page Sep 27, 2024 · 2 revisions

Using pre-built binaries

  1. Download the right version from the Release page on the repository.
  2. Un-zip the download
  3. Run install.bash using bash install.bash
  4. Follow the installer
  5. Run the server: cd ~/zentrox; ./zentrox
  6. Go to https://localhost:8080/ or the corresponding adress to view the server on port 8080

Building Zentrox yourself

  1. Clone the repository using git clone https://github.com/Wervice/zentrox
  2. Run these commands:
# Assuming your are not already in zentrox, otherwise skip this command
cd zentrox
# Install frontend dependencies
cd frontend
npm i # Requires nodejs and npm

# Build frontend
cd ../backend
bash build_frontend.bash

# Build backend
bash build.bash

cd dist
bash install.bash
  1. Follow the installer
  2. You will then find zentrox in ~/zentrox with the file name for the executable "zentrox"

Removing Zentrox

  1. Remove ~/zentrox and ~/zentrox_data
  2. Deny port 8080 in the UFW or delete the rule that allows it

Caution

~/zentrox_data contains all files of Zentrox vault. Deleting this directory will make these files inacessible. Copy relevant data in case you want to restore Zentrox later, i.e. after re-installing it.

FAQ

Missing OTP secret

When using OTP, Zentrox will create an OTP secret after the installation and on the first start of the server. The secret will be logged in the console and shown to you the first time you access the login page. When your re-start Zentrox, the secret will not be shown to you another time. In this case, you can find it by reading the key "otp_secret" in ~/zentrox_data/zentrox_store.toml.

Do not share this secret with anyone

Installing python packages failed

This error may occur if pip3 could not install the required python modules for the FTP server (ftp.py).
You can fix this by installing the modules through your systems package manager.
The package names are: pyftpdlib and PyOpenSSL or python-pyftpdlib and python-pyopenssl / python-openssl

Login does not work

In case you can not login, try the following steps:

Disable 2FA

This only works with physical or remote (i.e. SSH) access to the device

Zentrox may run into problems if 2FA using One-Time-Pad was incorrectly configured during set up.
This is unlikely, but you can disable 2FA by opening ~/zentrox_data/zentrox_store.toml and setting "use_otp" to "0". As soon as you reload the login page, you will not need 2FA anymore.

Important

Editing settings in ~/zentrox_store.toml may destroy/brick your installation of Zentrox. Never share the contents of this file with anyone, as it reveals sensitive information.

Reinstall Zentrox

This only works with physical or remote (i.e. SSH) access to the device

Open the file ~/zentrox_data/zentrox_store.toml on your device. You should see a line containing a base64 encoded username followed by a long (128 character) hash. If one or both of username and password are missing, the installation failed, or an error occured while changing the password/username. In this case, you need to remove Zentrox as described in the section "Removing Zentrox" above.