Support

support-banner support-banner

Support

Setup guides and support notes for the tools and workflows used across Midori AI projects.

Subsections of Support

Docker Setup

docker-setup-banner docker-setup-banner

Setup

Docker Setup

# Install Docker!
# Remove `--dry-run` if your ready to install.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --dry-run

# Setup the docker user
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

# Test it out (standard)!
docker run --rm hello-world

# Test it out (Pixelarch!)
docker run --rm lunamidori5/pixelarch:emerald /bin/bash -lc 'echo hello world'

Docker Setup

On RPM-based distributions such as CentOS, Fedora, or RHEL, start Docker manually with the appropriate systemctl or service command. Non-root users cannot run Docker commands by default. We will set that up next.

# Setup
sudo dnf install dnf-plugins-core

# on Fedora 40
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

# on Fedora 41 and newer
sudo dnf config-manager addrepo --from-repofile="https://download.docker.com/linux/fedora/docker-ce.repo"

# Install the docker packages
sudo dnf install docker-ce docker-ce-cli containerd.io

# Setup the docker user
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

# Start the docker socket
sudo systemctl enable docker
sudo systemctl start docker

# Test it out (standard)!
docker run --rm hello-world

# Test it out (Pixelarch!)
docker run --rm lunamidori5/pixelarch:emerald /bin/bash -lc 'echo hello world'

Use your package manager—yay, paru, pacman, or whatever you have installed. We use yay in the example, but the steps are the same for all of them.

# Install Docker!
yay -Syu --noconfirm docker docker-compose && yay -Yccc --noconfirm

# Setup the docker user
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

# Go read the docker setup page on using systemd or init or whatever
echo "Stop by https://wiki.archlinux.org/title/Docker"

# Test it out (standard)!
docker run --rm hello-world

# Test it out (Pixelarch!)
docker run --rm lunamidori5/pixelarch:emerald /bin/bash -lc 'echo hello world'
# TODO: install docker
# TODO: start/enable the docker service
# TODO: verify with: docker run --rm hello-world

UV (Python)

uv-banner uv-banner

Setup

UV Installation

# Install uv!
curl -LsSf https://astral.sh/uv/install.sh | sh

# Load uv in this shell session.
. "$HOME/.local/bin/env"

# Test it out!
uv --version

Fedora

# Install uv.
sudo dnf install -y uv

# Test it out!
uv --version

RHEL

# Install uv with the official installer.
command -v curl >/dev/null || sudo dnf install -y curl-minimal
sudo dnf install -y ca-certificates
curl -LsSf https://astral.sh/uv/install.sh | sh

# Load uv in this shell session.
export PATH="$HOME/.local/bin:$PATH"

# Test it out!
uv --version

Use your package manager—yay, paru, pacman, or whatever you have installed. We use yay in the example, but the steps are the same for all of them.

# Install uv!
yay -Syu --noconfirm uv && yay -Yccc --noconfirm

# Test it out!
uv --version

openSUSE Tumbleweed

# Install uv.
sudo zypper install -y uv

# Test it out!
uv --version

openSUSE Leap

# Install prerequisites for the official installer.
sudo zypper install -y curl ca-certificates tar gzip

# Install uv.
curl -LsSf https://astral.sh/uv/install.sh | sh

# Load uv in this shell session.
export PATH="$HOME/.local/bin:$PATH"

# Test it out!
uv --version

Common Commands

# Create/sync a project environment.
uv venv
uv sync

# Run a project command.
uv run <command>

# Add a dependency.
uv add <package>

Real Repo Example

# Clone a real uv project.
git clone https://github.com/Midori-AI-OSS/Agents-Runner
cd Agents-Runner

# Install dependencies from the project.
uv sync

# Run a quick command in the project environment.
uv run python -V

# Project quick start (requires Docker + ffmpeg).
uv run main.py