Installation
Before we start
Before you start, allow a few comments about the installation of the arkitekt platform. Arkitekt is a server platform, that was designed to scale from the needs of one person to the needs of a large organization. You can install it on your own computer, or on a server in your lab, or on a server in the cloud. Depending on the scenario, the installation process will differ as you might want to adjust the platform and its dependencies to your needs.
The core strategies of the installation process are:
-
Graphical Installer, that will guide you through the installation process and will install all dependencies for you. This is the recommended way to install arkitekt on your own computer, if you are not familiar with the command line, and want to get started quickly. The installer will guide you through the installation and install the most common modules of the platform.
-
Docker-Compose, this strategy includes a docker-compose configuration that sets up the platform exposing you to some decent amount of configuration options. This is the recommended way to install arkitekt if you want to participate in the development of the platform, or if you want to integrate it in a larger infrastructure of your lab or institute that is powered by docker-compose.
-
Helm Charts (coming soon), this strategy includes a helm chart that sets up the platform exposing you on a kubernetes cluster.
The Arkitekt platform was designed as a multi-user platfrom that gets installed once on a powerful server and then
can be accessed by multiple users and apps, on standard hardware. However it is also possible to install the platform on your own computer and
use it as a personal
platform. As long as not all safety features are implemented and audited, we recommend to use the platform
in the latter way. We'll keep you posted, when we think the platform is safe ready for multi-user installations!
System Requirements
The arkitekt platform is designed to run on a variety of different hardware and different operating systems. However as a quite involved platform that is at the moment not heavily optimized to run on low-end hardware, we recommed to not install Arkitekt on a machine with less than 16GB of RAM and a decent modern CPU (i7 or i9) while reserving at least 50GB of free disk space on a SSD drive. While it is perfectly possible to run the platform on a machine with less resources (indeed it works on a Raspberry Pi 4), especially the transfer of large amounts of data will be slow and the platform will be sluggish.
If you want to use Arkitekt with GPU enabled (deep learning modules), we also recommend to have a CUDA 11 enabled Nvidia GPU with at least 8GB of VRAM. If you want to use the GPU for training, we recommend to have at least 16GB of VRAM.
Also note that the platform should be installed on a machine with a good network interface (preferably a wired connection) and a good internet connection. As a central middleman between different services, the platform will transfer a lot of data between different services and a slow network connection will slow down the platform. Also note that in our tests, on equal hardware, the platform runs much faster on Linux than on Windows and Mac OS X.
Arkitekt makes us of the modern pattern of Docker GPU Support to enable GPU support for the platform. This means that you do not have to install the CUDA toolkit on your machine, but you need to make sure that you are running the latest NVIDIA drivers on your machine. Arkitekt will take care of the rest. If you have troubles with GPU support, please consult the Troubleshooting section for more information.
Arkitekt is currently build for the x86-64 architecture. This means that it will run in an emulated mode on Apple Silicon. This emulated mode while functional is not optimized for performance and will be slower than on a native x86-64 machine. We are currently in the midst of transitioning our services also to other architectures and will provide native support for Apple Silicon in the future. For now we highly recommend to use a Windows or Linux machine to run Arkitekt.
Graphical installer (recommended)
Arkitekts installer and admin interface ( once installed) will guide you through the installation process and the deployment of the platform on your specific hardware. Once installed it will serves simple desktop app that additionaly acts as an updater, as well as and admin interface to the platform and allows you to start and stop the platform. Additionaly it will act as a beacon that advertises the platform on your local network, so that other users can find it.
Go ahead and download our installer for your operating system "Konstruktor" , and follow the instructions:
Konstruktor necessitates the installation of a container runtime (Docker) on the machine where you want to install arkitekt. If you don't have docker installed, you can download it from here. Docker is available for Windows, Mac and Linux and is the sole outside dependency of the arkitekt platform. You do not need to create a docker acount in order to use it for Arkitekt. Please check out the FAQ section for more information about the installation of docker especially when you are seeking to use GPU support on your machine.
A quick runthrough the Arkitekt isntallation. Konstruktor needs the docker runtime to be installed beforehand to properly function.
Konstruktor allows you to install different versions (termed "channels") of the platform. The default current channel is the "paper" channel, which is the most stable version of the platform and designed to faciliate workflows of the original paper. If you want to try out the latest features of the platform and the "lessons learned" from the paper, you can switch to the "next" channel which is a more recent version that is only managable by developers.
Updating
Once installed, the installer will also act as an updater for the platform. Arkitekt is a rapidly evolving platform and we are constantly
adding new features and fixing bugs. Updating of the platform is therefore a crucial part of the platform. You are encouraged to update
your channel
of the platform regularly to get the latest features and bugfixes. You can update the platform by clicking on the "Danger"
button in the dashboard interface of the installer, and then selecting Update
. The installer will then download the latest version of the
platform images. This might take a while, depending on your internet connection. Once the download is finished, you can then apply the update
by clicking on the Start
button. This will cause a "rolling update" of the platform, which means that the platform should update without any
downtime. If you encounter any problems with the update, please consult the Troubleshooting section for more information.
At this early stage of the platform, updating is a crucial part of the platform. We are constantly adding new features and fixing bugs, and
updating the platform is the only way to get the latest features and bugfixes. The updates in one channel should always
be backwards compatible
and your data should be safe.
Advertising
One benefirt of the graphical installer is that it can also advertise the platform on your local network. This means that other users and apps can find the platform on your local network and connect to it, without having to know the IP address of your machine. You will find the advertisement section in the dashboard interface of the installer. Just click on the "Network" adapters that you want to advertise the platform on. When in doubt just click on all of them.
Advertising the platform on your local network is a great way to make it discoverable for other users and apps, and we spent a lot of time to make this work. It is however not a foolproof method and might not work in all cases. If you encounter problems with the advertisement of the platform, please consult the Troubleshooting section for more information.
Other installation strategies
Here we will describe other installation strategies that you can use to install the platform. These strategies are not recommended for beginners, but might be useful if you want to integrate the platform in a larger infrastructure or if you want to participate in the development of the platform.
Docker-Compose
If you are familiar with docker-compose, you can use the docker-compose configuration to set up the platform. We maintain
an active repository with the docker-compose configuration that you can find here.
This includes already the configuration for the most common modules of the platform, and when cloned with the submodules
(git clone --recurse-submodules
) will also include the source code of the platform. If you encounter any problems with
the docker-compose configuration, please open an issue in the repository.
Helm Charts
We are currently working on a helm chart that will allow you to install arkitekt on a kubernetes cluster. This will be available soon. You will find the repository here. For now, you can use the docker-compose configuration to set up the platform on a kubernetes cluster using the kompose tool.
Custom installation
From here be dragons. You can find some hints in the developer section of each module and consult each sub modules documentation for more information about the installation of the platform. At this point however you are on your own. If you encounter any problems, please open an issue in the respective repository.