-
Notifications
You must be signed in to change notification settings - Fork 0
Docker 1 Machine setup
When deploying AIKON for the first time, you will need to set up the environment and build the application. Unfold the following section to display the guide that will walk you through the necessary steps.
Install is recommended on a machine with Ubuntu >= 20.04 LTS with root access.
You have installed the following packages:
Add the user to the docker group to allow it to run docker commands without sudo:
sudo usermod -aG docker $USER # add user to docker group
su - ${USER} # Reload session for the action to take effect
id -u ${USER} # Get uid of user
# Try to launch a docker command
docker ps
# If it fails (permission denied ...)
sudo chmod 666 /var/run/docker.sockMake note of user uid – you'll need to provide it in docker/.env (USERID) later.
To access the application, you need a domain name. This domain must be accessible through HTTPS.
You can face three options:
-
Server directly exposed: the nginx service on the host machine receives direct requests from the internet (use
nginx_external.conf) -
Reverse proxy: the nginx service on the host machine is itself behind another reverse proxy, SSL termination happens at the upstream proxy (use
nginx_reverse_proxy.conf) -
Docker handles everything: no nginx service on the host machine, the nginx container receives requests from the internet (use
nginx_ssl.conf)
Contact your system administrator to determine which option applies to your environment.
If you choose direct server exposure, you'll need to obtain an SSL certificate for your domain.
After obtaining your certificate, save the SSL key and certificate files to appropriate locations:
sudo cp <your_ssl_certificate_key>.key /etc/ssl/private/
sudo cp <your_ssl_certificate_fullchain>.pem /etc/ssl/certs/
sudo chmod 600 /etc/ssl/private/<your_ssl_certificate_key>.key
sudo chown root:root /etc/ssl/private/<your_ssl_certificate_key>.keyMake note of these file paths – you'll need to reference them in your environment variables later (SSL_KEY / SSL_CERTIFICATE)
Using nginx_external.conf generated at first build, you will later finish configuring the web server on the host machine :
see Serve section fur further instructions.
In order to clone the repository, you need to configure the SSH access to GitHub:
- Generate key with
ssh-keygen -t ed25519 - Display public key
cat ~/.ssh/id_ed25519.puband copy its content - Add SSH key to your GitHub account
- Clone the repository
git clone git@github.com:Aikon-platform/aikon.git
Geonames: Create a Geonames account and activate it.
Email: See Email documentation for detailed instructions.