# 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