CHIM Linux Setup Guide
This page is the Linux version of the old community DwemerDistro setup guide. The idea is simple: unpack the DwemerDistro archive, import the bundled image into Docker, expose the needed ports, then point CHIM at the Linux machine over your local network.
Linux Setup Guide
Prepare The Archive
- Unpack the DwemerDistro archive first.
- On the Linux machine, create a build folder such as
/home/$(whoami)/docker_build. - Copy
DwemerAI4Skyrim3.tarinto that folder.
mkdir -p /home/$(whoami)/docker_build
The old guide used that tar file as the source for the Docker image and for the initial persisted data folders.
NVIDIA Runtime Note
If the Linux machine is going to run GPU-backed services like XTTS, install the NVIDIA container runtime first.
- NVIDIA docs: Container Toolkit Install Guide
- Arch note from the old guide: install
libnvidia-containerandnvidia-container-toolkitfrom the extra repository. - Ubuntu and other distros: follow the NVIDIA docs for your distro.
If you do not have NVIDIA GPU support available, the container can still be created and used in CPU mode.
Import The DwemerDistro Image
The old Linux guide imported the tar file into Docker as skyrimai:latest.
linux_user="$(whoami)"
wsl_tar_image_path="/home/${linux_user}/docker_build/DwemerAI4Skyrim3.tar"
sudo docker image import "${wsl_tar_image_path}" skyrimai:latest
If you already imported it earlier, Docker will already have the image and you can skip re-importing it.
Prepare Persistent Folders
The old guide persisted the main DwemerDistro folders outside the container so the database, web files, and Dwemer home directory survive container recreation.
mkdir -p /home/${linux_user}/docker_env/skyrimai_postgres
mkdir -p /home/${linux_user}/docker_env/skyrimai_tmp
mkdir -p /home/${linux_user}/docker_env/skyrimai_dwemerhome
mkdir -p /home/${linux_user}/docker_env/skyrimai_www
chmod 777 /home/${linux_user}/docker_env/skyrimai_tmp
The original script then unpacked the needed PostgreSQL, web, and Dwemer home paths from the tar file into those folders before starting the container.
Create The Container
The old guide created a Docker container named skyrimaiframework and exposed the service ports directly to the Linux host.
These are the important exposed ports from that guide:
8081for the CHIM web side8082and8083for additional web/service endpoints59125,9876,8020, and8007for the bundled service stack
A simplified CPU-mode example looks like this:
sudo docker run -d \
--name=skyrimaiframework \
-p 8081:8081 \
-p 8082:8082 \
-p 8083:8083 \
-p 59125:59125 \
-p 9876:9876 \
-p 8020:8020 \
-p 8007:8007 \
-v /home/${linux_user}/docker_env/skyrimai_postgres:/var/lib/postgresql \
-v /home/${linux_user}/docker_env/skyrimai_tmp:/tmp \
-v /home/${linux_user}/docker_env/skyrimai_dwemerhome:/home/dwemer \
-v /home/${linux_user}/docker_env/skyrimai_www:/var/www/html \
--restart unless-stopped \
skyrimai:latest
If NVIDIA runtime support is installed and detected, add the runtime and GPU flags before the port mappings.
Confirm It Is Running
sudo docker ps | grep -i skyrimaiframework
If the container shows up in the process list, move on to the in-container install steps.
Finish The Install Inside The Container
The old guide then entered the container, switched to the dwemer user, and ran the same install scripts you would normally trigger from the Windows launcher flow.
container_id=$(sudo docker ps -a | grep "skyrimaiframework" | cut -f1 -d" ")
sudo docker exec -ti ${container_id} /bin/bash
su dwemer
Then run these in order:
/usr/local/bin/update_gws/home/dwemer/minime-t5/ddistro_install.shand choose the CPU option if you are not using GPU acceleration/home/dwemer/mimic3/ddistro_install.shif you want Mimic/home/dwemer/xtts-api-server/ddistro_install.shand choose default or GPU depending on your setup
Point CHIM To The Linux Machine
Once the Linux host is running, use the Linux machine's LAN IP in the plugin config on the Skyrim side.
The old wiki example used a gaming PC on 192.168.1.51 and the Linux DwemerDistro machine on 192.168.1.101.
SERVER=192.168.1.101
PORT=8081
PATH=/HerikaServer/comm.php
POLINT=1
With that kind of setup, the web interface should be available at:
http://192.168.1.101:8081


