Single Machine / VM
Artemis ships as a set of Docker Compose files orchestrated by a Makefile (works with both docker compose and podman compose).
Review the prerequisites before starting.
1. Runtime
Install one of:
If make is missing, install it:
- Ubuntu/Debian:
sudo apt-get install make - RHEL/CentOS/Fedora:
sudo dnf install make(orsudo yum install makeon older versions)
2. Latest artifacts
Loading latest release…Credentials for the file server and image registry are provided separately by TurinTech.
3. Installation
The flow is the same for online and air-gapped deployments. Steps marked Air-gapped only apply when the host has no internet access; skip them otherwise.
-
Provision a VM matching the hardware requirements.
-
Air-gapped only: push every image listed above into your internal registry.
-
Authenticate with the image registry:
- Online:
docker login - Air-gapped:
docker login your.internal.registry:port
- Online:
-
Download the deployment package and extract it (uses the credentials provided by TurinTech):
Loading latest release…Then move into the extracted folder:
cd artemis_…. -
Air-gapped only: edit
.env.customto point at your internal registry:REGISTRY=your.internal.registry:portIMAGE_REPOSITORY=<path>/turintech/EVOML_IMAGE_REPOSITORY=<path>/turintech/SERVICES_REGISTRY=your.internal.registry:port -
Deploy Artemis:
make deploy -
Create the admin user:
make create-users -
Open Artemis at
http://<machine-ip>:80.
Run make info from the deployment folder to view the admin credentials you need to log in.
4. Common Make targets
| Command | Description |
|---|---|
make | List all available targets |
make info | VM details and admin credentials |
make images | List the images used by the deployment |
make deploy | Deploy all services |
make deploy service=<name> | Deploy one service |
make down | Stop all containers |
make destroy | Remove containers and volumes |
5. LLM providers
Add the keys for the providers you use to .env.custom. Only configure the blocks for the providers you actually use.
Bedrock
ARTEMIS_BEDROCK_REGION=eu-central-1
ARTEMIS_BEDROCK_API_KEY=<value>
ARTEMIS_BEDROCK_ANTHROPIC_REGION=<value>
Vertex
Option A: private key.
ARTEMIS_VERTEX_PRIVATE_KEY=<value>
ARTEMIS_VERTEX_PROJECT=<value>
ARTEMIS_VERTEX_EMAIL=<value>
Option B: service account file. Drop vertex-key.json into ./keys/ and point the variable at the in-container path.
ARTEMIS_VERTEX_SERVICE_ACCOUNT_PATH=/tmp/files/vertex-key.json
OpenAI / Azure Foundry
ARTEMIS_OPENAI_TYPE selects the provider. It defaults to openai; set it to azure for Azure Foundry.
Official OpenAI
ARTEMIS_OPENAI_KEY=<value>
Azure Foundry (OpenAI models)
ARTEMIS_OPENAI_TYPE=azure
ARTEMIS_OPENAI_URL=<value>
ARTEMIS_OPENAI_KEY=<value>
Azure Foundry (Claude models)
ARTEMIS_AZURE_AI_URL=<value>
ARTEMIS_AZURE_AI_KEY=<value>
Optional connection settings (OpenAI)
ARTEMIS_OPENAI_NO_SSL_VERIFY=true
ARTEMIS_OPENAI_SSL_CERT=/tmp/keys/openai.ca
For OpenAI behind an SSL-inspecting proxy, drop your CA into ./keys/openai.ca and set ARTEMIS_OPENAI_SSL_CERT as shown.
Anthropic
ARTEMIS_ANTHROPIC_KEY=<value>
Cohere
ARTEMIS_COHERE_KEY=<value>
Deepseek
ARTEMIS_DEEPSEEK_KEY=<value>
6. Update
-
Download the new deployment package and extract it (uses the credentials provided by TurinTech):
Loading latest release… -
Air-gapped: ensure the new images are in your internal registry.
-
Copy the following from your previous Artemis folder into the new one (
artemis_…):.env.customdocker-compose.override.ymlkeys/
-
Move into the new folder and re-deploy:
cd artemis_<new-version>make deploy -
Open Artemis at
http://<machine-ip>:80.
Run make info from the deployment folder to view the admin credentials you need to log in.
Any new environment variables introduced by the release must be added to .env.custom to persist across restarts.