Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
data
Empty file added data/configs/.gitkeep
Empty file.
Empty file added data/inputs/.gitkeep
Empty file.
Empty file added data/output/.gitkeep
Empty file.
47 changes: 47 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

services:

valkey:
container_name: valkey
hostname: valkey
image: docker.io/valkey/valkey:8-alpine
command: valkey-server --save 30 1 --loglevel warning
#pull_policy: always
restart: unless-stopped
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"

augmentoolkit:
container_name: augmentoolkit
hostname: augmentoolkit
user: root
depends_on:
- valkey
restart: unless-stopped
build:
context: .
dockerfile: ./docker/dockerfile
volumes:
- ./data/output:/app/outputs
- ./data/inputs:/app/inputs/mydata
- ./data/configs:/app/external_configs/myconfigs
environment:
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_DB=3
ports:
- "127.0.0.1:8000:8000" # api
- "127.0.0.1:5173:5173" # ui
- "127.0.0.1:8083:8082" # vllm
# devices:
# - nvidia.com/gpu=all
# - /dev/video0
56 changes: 56 additions & 0 deletions docker/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
FROM python:slim

ENV VERSION=v3.0.0
ENV PIP_BREAK_SYSTEM_PACKAGES=1

WORKDIR /app

# Basic system dependencies
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y git build-essential cmake pkg-config g++ curl libssl-dev net-tools nodejs npm

# Clone augmentoolkit
# RUN git clone https://github.com/e-p-armstrong/augmentoolkit.git --branch ${VERSION} --single-branch .

COPY requirements.txt *.sh *.py super_config.yaml LICENSE /app/

# Install Rust for outlines-core
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y --no-modify-path
ENV PATH="/root/.cargo/bin:${PATH}"

# Optional: Set up venv (not strictly needed in Docker, but kept as-is)
RUN python3 -m venv .venv
ENV VIRTUAL_ENV=/app/.venv
ENV PATH="$VIRTUAL_ENV/bin:$PATH"

# Install pip tools
RUN pip install --upgrade pip
RUN pip install uv

# Install outlines first (will trigger Rust build, needs OpenSSL)
RUN pip install outlines

# Install torch first — this is critical
RUN pip install torch --index-url https://download.pytorch.org/whl/cu121

# Install xformers with NO build isolation so it can see torch
RUN pip install --no-build-isolation xformers==0.0.29.post2

# Install vllm (depends on xformers)
RUN pip install vllm

# Final dependencies from requirements.txt using uv (now safe)
RUN uv pip install -r requirements.txt

ADD atk-interface atk-interface
ADD augmentoolkit augmentoolkit
ADD cli_utils cli_utils
ADD external_configs external_configs
ADD generation generation
ADD inputs inputs
ADD logs logs

RUN chmod +x entrypoint.sh && chmod +x *.sh

# Entry point
CMD ./entrypoint.sh
6 changes: 6 additions & 0 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

cd /app

./linux.sh