Installation
An app bundle is currently provided only for macOS. On other platforms, you can either install the Docker image or the Python package from PyPI. When installing using pip, it is recommended in most cases to install inside a new virtual environment:
$ python3 -m venv maestral-venv
$ source maestral-venv/bin/activate
(maestral-venv)$ python3 -m pip install --upgrade maestral
If you intend to use the graphical user interface, you also need to specify the GUI option
during installation or upgrade. This will install the maestral-qt
frontend and PyQt5
on Linux and maestral-cocoa
on macOS:
(maestral-venv)$ python3 -m pip install --upgrade 'maestral[gui]'
Please refer to the download page for links and a comparison of installation sizes.
System requirements
The basic requirements to run the daemon are:
- Mac OS X High Sierra or higher
- Linux 2.6 or higher
- For the Python package: Python 3.7 or higher
GUI
The Linux GUI requires PyQt 5.9 or higher. While the GUI will run with Qt 5.9, support of some platform features such as high-dpi scaling will be limited. Qt 5.12 or higher is recommended for newer platforms.
To install the GUI, you can either specify the gui extra when install Maestral
$ python3 -m pip install --upgrade maestral[gui]
or directly pip-install maestral-qt
/ maestral-cocoa
.
Since the GUI is a system tray / menu bar app, it does require a desktop environment with a system tray. This is no longer the case in Gnome 2.6+, although Ubuntu ships with its own system tray extension. For Gnome desktop environments that do not provide a system tray, the gnome-shell-extension-appindicator is recommended.
systemd journal support
Logging to the systemd journal requires python-systemd which is currently not a dependency but will be installed when specifying the ‘syslog’ extra in the installation command:
$ python3 -m pip install --upgrade maestral[syslog]
Note however that a pip installation will build python-systemd from source and requires gcc, systemd headers and python headers and may therefore fail on some systems. It is recommended to install python-systemd from your distribution’s package manager instead:
On Fedora/RHEL/CentOS:
dnf install python3-systemd
On Debian/Ubuntu/Mint:
apt-get install python3-systemd
Docker image
A Docker image is available for x86 and arm64 platforms. You can do everything that you supposed to do in the command line, except running the GUI. It can be installed with:
$ docker pull maestraldbx/maestral
For the first run, get access to the shell within the Docker container
$ docker run -it -v /mnt/dropbox:/dropbox maestraldbx/maestral:latest ash
where /mnt/dropbox
is the directory which contains the Dropbox
directory and
Maestral’s configuration. Maestral runs with UID
1000, make sure that the user
owns /mnt/dropbox
and the contents within (chown -R 1000 /mnt/dropbox
).
Then run Maestral’s setup
$ maestral start
This will prompt you to authorize Maestral to access your Dropbox account and
establish your Dropbox folder at /dropbox/Dropbox (Maestral)
.
You can then start the Maestral daemon by starting the container
$ docker run \
-d \
--name maestral \
--rm \
-v /mnt/dropbox:/dropbox \
maestraldbx/maestral:latest
You can check the sync status of the daemon by running
docker exec -it maestral maestral status
.
To step into the Maestral container use docker exec -it maestral ash
. To list the logs
of the container use docker logs maestral
. To get the build info of a running container:
docker inspect maestral | jq ".[].Config.Labels"
.