# ARTEMiS - Docker Installation Guide This step-by-step guide will allow you to install a Contenerized Version of ARTEMiS inside Docker, some steps can be skipped assuming you already have pre-requisite components and modules installed. This guide assumes using Debian 12(bookworm-stable) as a Host Operating System for most of packages and modules. ## Pre-Requisites: - Linux-Based Operating System (e.g. Debian, Ubuntu) - Docker (https://get.docker.com) - Python 3.9+ - (optional) Git ## Install Python3.9+ and Docker ``` (if this is a fresh install of the system) sudo apt update && sudo apt upgrade (installs python3 and pip) sudo apt install python3 python3-pip (installs docker) curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh (optionally install git) sudo apt install git ``` ## Get ARTEMiS If you installed git, clone into your choice of ARTEMiS git repository, e.g.: ``` git clone ``` If not, download the source package, and unpack it to the folder of your choice. ## Prepare development/home configuration To build our Docker setup, first we need to create some folders and copy some files around - Create 'aime', 'configs', 'AimeDB', and 'logs' folder in ARTEMiS root folder (where all source files exist) - Inside configs folder, create 'config' folder, and copy all .yaml files from example_config to config (thats all files without nginx_example.conf) - Edit .yaml files inside configs/config to suit your server needs - Edit core.yaml inside configs/config: ``` set server.listen_address: to "0.0.0.0" set title.hostname: to machine's IP address, e.g. "192.168.x.x", depending on your network, or actual hostname if your configuration is already set for dns resolve set database.host: to "ma.db" set database.memcached_host: to "ma.memcached" set aimedb.key: to "" ``` ## Running Docker Compose After configuring, go to ARTEMiS root folder, and execute: ``` docker compose up -d ("-d" argument means detached or daemon, meaning you will regain control of your terminal and Containers will run in background) ``` This will start pulling and building required images from network, after it's done, a development server should be running, with server accessible under machine's IP, frontend with port 8090, and PHPMyAdmin under port 9090. To turn off the server, from ARTEMiS root folder, execute: ``` docker compose down ``` If you changed some files around, and don't see your changes applied, execute: ``` (turn off the server) docker compose down (rebuild) docker compose build (turn on) docker compose up -d ``` If you need to see logs from containers running, execute: ``` docker compose logs ``` add '-f' to the end if you want to follow logs. ## Running commands If you need to execute python scripts supplied with the application, use `docker compose exec app python3