Akamas APIs and UI use plain HTTP when they are first installed. To enable the use of HTTPS you will need to:
Ask your security team to provide you with a valid certificate for your server. The certificate usually consists of two files with ".key" and ".pem" extensions. You will need to provide the Akamas server DNS name.
Create a folder named "certs" in the same directory as Akamas' docker-compose file;
Copy the ".key" and ".pem" files in the created "certs" folder and rename them to "akamas.key" and "akamas.pem" respectively. Ensure the files belong to the same user and group you use to run Akamas.
Restart two Akamas services by running the following commands:
After the containers' reboot is complete you will be able to access the UI over HTTPS from your browser:
If you previously set up AKAMAS_BASE_URL variable with http (e.g. http://my.domain
) you should update it to use https (e.g. http://my.domain
) then issue
Now that your Akamas server is configured to use HTTPS you can update the Akamas CLI configuration to use the secure protocol.
If you have not installed the Akamas CLI, follow the CLI installation guide. If you already have the CLI available, you can run the following command:
You will be prompted to enter some input, please value it as follows:
You can test the connection by running:
It should return 'OK', meaning Akamas has been properly configured to work over HTTPS.
This section describes how to setup an Akamas Server behind a proxy server and to allow Docker to connect to the Akamas repository on AWS ECR.
First, create the /etc/systemd/system/docker.service.d
directory if it does not already exists. Then create or update the /etc/systemd/system/docker.service.d/http-proxy.conf
file with the variables listed below, taking care of replacing <PROXY>
with the address and port (and credentials if needed) of your target proxy server:
Once configured, flush the changes and restart Docker with the following commands:
For more details, refer to the official documentation page: Control Docker with systemd.
To allow the Akamas services to connect to addresses outside your intranet, the Docker instance needs to be configured to forward the proxy configuration to the Akamas containers.
Update the ~/.docker/config.json
file adding the following field to the JSON, taking care to replace <PROXY>
with the address (and credentials if needed) of your target proxy server:
For more details, refer to the official documentation page: Configure Docker to use a proxy server.
Set the following variables to configure your working environment, taking care to replace <PROXY>
with the address (and credentials if needed) of your target proxy server:
Once configured, you can log into the ECR repository through the AWS CLI and start the Akamas services manually.
Akamas is deployed as a set of containerized services running on Docker and managed via Docker Compose. In the offline installation mode, the latest version of the Akamas Docker Compose file and all the images required by Docker cannot be downloaded from the AWS ECR repository.
Get in contact with Akamas Customer Services to get the latest versions of the Akamas artifacts uploaded to a location of your choice on the dedicated Akamas Server.
Akamas installation artifacts will include:
images.tar.gz
: a tarball containing Akamas main images.
docker-compose.yml
: docker-compose file for Akamas.
akamas
: the binary file of the Akamas CLI that will be used to verify the installation.
A preliminary step in the offline installation mode is to import the shipped Docker images by running the following commands in the same directory where the tar files have been stored:
Mind that this import procedure could take some time!
To configure Akamas, you should set the following environment variables:
AKAMAS_CUSTOMER
: the customer name matching the one referenced in the Akamas license.
AKAMAS_BASE_URL
: the endpoint in the Akamas APIs that will be used to interact with the CLI, typically https://<akamas server DNS address>
To avoid losing your environment variables for future upgrades, it is suggested to keep them in the .env
file, stored in the same directory as the docker-compose.yml
:
To start Akamas you can now simply navigate into the akamas
folder and run a docker-compose
command:
You may get the following error:
This is a documented docker bug (see this link) that can be solved by installing the "pass" package:
Ubuntu
RHEL
Akamas is deployed as a set of containerized services running on Docker and managed via Docker Compose. The latest version of the Akamas Docker Compose file and all the images required by Docker can be downloaded from the AWS ECR repository.
Two installation modes are available:
online installation mode, in case the Akamas Server has access to the Internet - installation behind a proxy server is also supported.
offline installation mode, in case the Akamas Server does not have access to the Internet.
Akamas is deployed as a set of containerized services running on Docker and managed via Docker Compose. In the online installation mode, the latest version of the Akamas Docker Compose file and all the images required by Docker can be downloaded from the AWS ECR repository.
In case the Akamas Server is behind a proxy server please also read how to setup Akamas behind a Proxy.
It is suggested first to create a directory akamas
in the home directory of your user, and then run the following command to get the latest compose file:
To log into AWS ECR and pull the most recent Akamas container images, you need to set the AWS authentication variables to the appropriate values provided by Akamas Customer Support Services by running the following command. To configure Akamas, you should set the following environment variables:
To configure Akamas, you should set the following environment variables:
AKAMAS_CUSTOMER
: the customer name matching the one referenced in the Akamas license.
AWS_ACCESS_KEY_ID
: the access key for pulling the Akamas images
AWS_SECRET_ACCESS_KEY
: the secret access key for pulling the Akamas images
AWS_DEFAULT_REGION
: Unless specified by the support team keep the value to us-east-2
AKAMAS_BASE_URL
: the endpoint in the Akamas APIs that will be used to interact with the CLI, typically https://<akamas server DNS address>
To avoid losing your environment variables for future upgrades, it is suggested to keep them in the .env
file. Launch the following command from the same folder where the docker-compose.yml
is stored, replacing the parameters in the brackets <>
:
To log into AWS ECR and pull the most recent Akamas container images you also need to set the AWS authentication variables (AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, AWS_DEFAULT_REGION
) with the values provided by Akamas Customer Support Services. You can leverage the .env
file previously created with the following command:
You can start installing the Akamas server by running the following AWS CLI commands:
By default, Akamas uses the following ports for its UI:
80 (HTTP)
443 (HTTPS)
Depending on the configuration of your environment, you may want to change the default settings: to do so, you’ll have to update the Akamas docker-compose file.
Inside the docker-compose.yml file, scroll down until you come across the akamas-ui
service.
There you will find a specification as follows:
Update the YAML file by remapping the UI ports to the desired ports of the host.
In case you were running Akamas with host networking, you are allowed to bind different ports in the container itself. To do so you can expand the docker-compose service by adding a couple of environment variables like this:
Finally, apply the new configuration after updating the AKAMAS_BASE_URL
environment variable to match the new protocol or port.