AionUi Docker & Self-Hosted Deployment

GitHub

Open-source 24/7 Cowork app for OpenClaw, Hermes, Claude Code, Codex, OpenCode and 20+ more CLI Agent | Customize your assistants | Team them up|Star if you...

31,918 stars TypeScript TypeScript 1 file Β· ~19,946 tokens #acp#agent-team#ai#ai-agent#chat#chatbot#claude-code#clawdbot
1. Pull Image (DOCKERHUB) docker pull iOfficeAI/AionUi:latest
2. Docker Run (1-Click Launch) docker run -d --name aionui -p 3000:3000 --restart always iofficeai/aionui:latest
3. Podman Run podman run -d --name aionui -p 3000:3000 --restart always iofficeai/aionui:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/iofficeai/aionui:latest
5. ORAS Pull (OCI Artifact) oras pull iofficeai/aionui:latest
Dockerfile
FROM node:20-slim AS builder
WORKDIR /app

# Install bun
RUN npm install -g bun

# Install all dependencies (including devDeps for build)
COPY package.json bun.lock ./
COPY patches/ ./patches/
RUN bun install --ignore-scripts

# Copy source
COPY . .

# Build renderer (no Electron needed) and server bundle
RUN bun run build:renderer:web
RUN node scripts/build-server.mjs

# ---- Runtime image ----
FROM oven/bun:latest AS runtime
WORKDIR /app

# officecli (the Office preview component, auto-installed at runtime by the
# backend) is a .NET binary that aborts on startup without ICU, and Debian
# base images don't ship it. libicu-dev is version-agnostic so it keeps
# resolving the right libicuNN when the base image bumps Debian releases.
RUN apt-get update \
    && apt-get install -y --no-install-recommends libicu-dev \
    && rm -rf /var/lib/apt/lists/*

# Copy only build artifacts and production deps
COPY --from=builder /app/dist-server ./dist-server
COPY --from=builder /app/out/renderer ./out/renderer
COPY package.json bun.lock ./
COPY patches/ ./patches/
RUN bun install --production --ignore-scripts

ENV PORT=3000
ENV NODE_ENV=production
ENV ALLOW_REMOTE=true
ENV DATA_DIR=/data

# SQLite data volume β€” mount with: -v $(pwd)/data:/data
VOLUME ["/data"]
EXPOSE 3000

CMD ["bun", "dist-server/server.mjs"]