Skip to content

Docker 1 Machine setup

paulhectork edited this page Jul 2, 2026 · 2 revisions

1️⃣ Docker: 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.


📑 System requirements

Install is recommended on a machine with Ubuntu >= 20.04 LTS with root access.

You have installed the following packages:


👤 Configure user

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.sock

Make note of user uid – you'll need to provide it in docker/.env (USERID) later.


🔐 SSL certificate

To access the application, you need a domain name. This domain must be accessible through HTTPS.

You can face three options:

  1. Server directly exposed: the nginx service on the host machine receives direct requests from the internet (use nginx_external.conf)
  2. 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)
  3. 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>.key

Make 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.


🐱 Git initialization

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.pub and copy its content
  • Add SSH key to your GitHub account
  • Clone the repository git clone git@github.com:Aikon-platform/aikon.git

🏹 External services

Geonames: Create a Geonames account and activate it.

Email: See Email documentation for detailed instructions.

Clone this wiki locally