Development Environment
Contact us us if you're having trouble setting up your development environment.
Prerequisites
This guide assumes you are familiar with the basics of Git, Docker and a Linux operating system. Have a look at our learning resources.
Introduction
Containers enable isolated, consistent, and portable development environments. When using containers for development you will not have to install and configure the Chemotion ELN locally on your machine. Instead, dependencies and configurations are maintained in container-images which you run on your machine using Docker. This keeps your machine free of clutter, and more importantly, it can ensure consistent development environments across contributors (i.e., avoiding "works on my machine" scenarios).
In the following you find guides for setting up a dockerized development environment for the Chemotion ELN on Windows, Linux, and macOS.
Windows
The following instructions are tested on Windows 10 only. If you're on Windows 11, please consider contributing your experiences. You can propose additions / changes to this documentation by opening a pull request in its repository. Thank you!
This guide will help you getting started developing with containers on Windows using Docker Desktop
along with the Windows Subsystem for Linux (referred to as WSL
in the following).
With Docker Desktop
you can work in a Linux-based development environment and run Linux-based containers while using an IDE on Windows (e.g., Visual Studio Code).
Dependencies
WSL
Start by installing WSL
.
While going through the WSL
installation, make sure to install WSL 2
, not WSL 1
. Also, make sure to install Ubuntu 20.04 LTS
(referred to as Ubuntu
in the following) as your Linux distribution. You may need to upgrade Ubuntu 20.04 LTS
from WSL 1
to WSL 2
. To check if you have the correct version, open powershell and enter the command
wsl.exe -l -v
If this shows version 1 for Ubuntu 20.04 LTS
upgrade to WSL 2
with the command
wsl.exe --set-version Ubuntu-20.04 2
Next, open an Ubuntu
terminal and set up a user account.