Docker
Airupt ships with a Dockerfile and docker-compose.yml for containerized deployment.
Quick Start with Docker Compose
- Clone the repo or copy the
docker-compose.yml - Create your config file:
bash
cp config.example.yml ~/.airupt/config.yml
# Edit with your API keys and channel tokens- Start:
bash
docker compose up -ddocker-compose.yml
yaml
services:
airupt:
image: ghcr.io/airupt/airupt:latest
restart: unless-stopped
volumes:
- ~/.airupt:/home/airupt/.airupt
environment:
- AIRUPT_LLM_API_KEY=${AIRUPT_LLM_API_KEY}
- AIRUPT_CHANNELS_TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
ports: [] # no ports exposed by defaultKeep your secrets in a .env file (never commit it):
bash
# .env
AIRUPT_LLM_API_KEY=sk-...
TELEGRAM_BOT_TOKEN=123456:ABC...Build from Source
bash
docker build -t airupt .
docker run -d \
-v ~/.airupt:/home/airupt/.airupt \
-e AIRUPT_LLM_API_KEY=sk-... \
airuptPersistent Data
The volume mount ~/.airupt:/home/airupt/.airupt persists:
config.yml- Memory store (
memory/) - Cost data (
costs/) - Logs (
airupt.log)
Without this mount, data is lost when the container stops.
Logs
bash
docker compose logs -f airuptUpdating
bash
docker compose pull
docker compose up -d