Docker Installation Guide
Quick Start (5 Minutes)
Get AunooAI running using the pre-built Docker Hub image.
Prerequisites
Docker Engine 20.10+ and Docker Compose v2+
4GB RAM minimum (8GB recommended)
10GB disk space
Installation Steps
Download the configuration files
# Create directory
mkdir aunooai && cd aunooai
# Download docker-compose.yml
curl -O https://github.com/AuNooAI/AunooAI/blob/main/docker-compose.yml
mv docker-compose.hub.yml docker-compose.yml
# Download .env template
curl -O https://github.com/AuNooAI/AunooAI/blob/main/.env.hub
cp .env.hub .envConfigure settings
nano .envRequired changes:
POSTGRES_PASSWORD: Change from default aunoo_secure_2025
ADMIN_PASSWORD: Change from default admin123
Start the application
docker-compose up -dAccess AunooAI
Username: admin
Password: (what you set in ADMIN_PASSWORD)
Configure API keys
Log in to the application
Go to Settings → AI-guided Topic Setup
Add your API keys (OpenAI, Anthropic, NewsAPI, Firecrawl)
Keys are saved in a persistent Docker volume
That's it! You're now running AunooAI Community Edition.
Docker Hub Image
Image: aunooai/aunoo-community:latest Pre-built images are available at: https://hub.docker.com/repository/docker/aunooai/aunoo-community
Tags:
latest - Most recent stable release (recommended)
v1.x.x - Specific version tags
dev - Development/testing builds (not recommended for production)
Configuration
Environment Variables
Edit .env to customize your deployment:
Required Settings:
# Database password (CHANGE THIS!)
POSTGRES_PASSWORD=your-secure-password
# Admin login password (CHANGE THIS!)
ADMIN_PASSWORD=your-admin-password
# Application port
APP_PORT=10001
# PostgreSQL port (change if 5432 is in use)
POSTGRES_PORT=5433
API Keys (configure via web interface after first login):
# AI Providers (at least one required)
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=
# News Providers (at least one required)
NEWSAPI_KEY=
THENEWSAPI_KEY=
NEWSDATA_API_KEY=
# Web Scraping (required)
FIRECRAWL_API_KEY=
# Optional
ELEVENLABS_API_KEY= # For audio/podcast generation
# Database Settings:
POSTGRES_USER=aunoo_user
POSTGRES_DB=aunoo_db
DB_POOL_SIZE=20
DB_MAX_OVERFLOW=10Common Commands
Start/Stop Services
# Start all services
docker-compose up -d
# Stop all services
docker-compose down
# Restart application only
docker-compose restart aunooai
# Restart everything
docker-compose restartView Logs
# All services
docker-compose logs -f
# Application only
docker-compose logs -f aunooai
# PostgreSQL only
docker-compose logs -f postgres
# Last 100 lines
docker-compose logs --tail=100 aunooaiUpdate to Latest Version
# Pull latest image
docker-compose pull aunooai
# Restart with new image
docker-compose up -d aunooaiData Persistence
Docker Volumes
Your data is stored in Docker volumes:
postgres_data - Database files
aunooai_data - SQLite files, uploads
aunooai_reports - Generated reports
aunooai_env - API keys and configuration
aunooai_config - Application settings
List volumes:
docker volume ls | grep aunooaiBackup Data
Backup database:
# Create backup file
docker-compose exec postgres pg_dump -U aunoo_user aunoo_db > aunoo_backup_$(date +%Y%m%d).sql
# Or with compression
docker-compose exec postgres pg_dump -U aunoo_user aunoo_db | gzip > aunoo_backup_$(date +%Y%m%d).sql.gzBackup volumes:
# Backup all volumes
docker run --rm -v aunooai_data:/data -v $(pwd):/backup \
alpine tar czf /backup/aunooai_volumes_$(date +%Y%m%d).tar.gz -C / data
# Backup specific volume
docker run --rm -v aunooai_env:/data -v $(pwd):/backup \
alpine tar czf /backup/aunooai_env_$(date +%Y%m%d).tar.gz -C /data .Restore Data
Restore database:
# From SQL file
docker-compose exec -T postgres psql -U aunoo_user aunoo_db < aunoo_backup.sql
# From compressed file
gunzip -c aunoo_backup.sql.gz | docker-compose exec -T postgres psql -U aunoo_user aunoo_dbRestore volume:
# Stop application first
docker-compose down aunooai
# Restore volume
docker run --rm -v aunooai_env:/data -v $(pwd):/backup \
alpine tar xzf /backup/aunooai_env_backup.tar.gz -C /data
# Restart
docker-compose up -dTroubleshooting
Application won't start
Check logs:
docker-compose logs aunooai
Port already in use
Change APP_PORT in .env
Change POSTGRES_PORT if PostgreSQL port conflicts
Database connection failed
# Check PostgreSQL is healthy
docker-compose ps postgres
# Wait for health check (may take 30s)
docker-compose logs postgres | grep "ready to accept connections"Permission errors
# Fix volume permissions
docker-compose down
docker volume rm aunooai_data aunooai_reports
docker-compose up -dCan't log in
Reset admin password:
# Stop application
docker-compose down aunooai
# Update .env with new ADMIN_PASSWORD
nano .env
# Restart
docker-compose up -d aunooaiDatabase errors
Check PostgreSQL logs:
docker-compose logs postgres | grep ERRORConnect to database:
docker-compose exec postgres psql -U aunoo_user aunoo_dbCheck connection pool:
# Inside PostgreSQL
SELECT count(*) FROM pg_stat_activity WHERE datname = 'aunoo_db';Upgrading
To Latest Version
# Backup first!
docker-compose exec postgres pg_dump -U aunoo_user aunoo_db > backup_before_upgrade.sql
# Pull latest image
docker-compose pull aunooai
# Stop and restart with new image
docker-compose down aunooai
docker-compose up -d aunooai
# Check logs
docker-compose logs -f aunooaiTo Specific Version
# Edit docker-compose.yml
nano docker-compose.yml
# Change image line:
# image: aunooai/aunoo-community:v1.2.3
# Pull and restart
docker-compose pull aunooai
docker-compose up -d aunooaiRollback
# Stop application
docker-compose down aunooai
# Edit docker-compose.yml to previous version
nano docker-compose.yml
# Restore database if needed
docker-compose exec -T postgres psql -U aunoo_user aunoo_db < backup_before_upgrade.sql
# Start with old version
docker-compose up -d aunooaiAdvanced Configuration
Custom Ports
Edit docker-compose.yml:
services:
aunooai:
ports:
- "8080:10001" # Access at localhost:8080Multiple Instances
Run multiple AunooAI instances:
# Create separate directories
mkdir aunooai-prod aunooai-dev
# Copy files to each
cp docker-compose.yml aunooai-prod/
cp docker-compose.yml aunooai-dev/
# Edit .env in each with different ports
# aunooai-prod/.env: APP_PORT=10001, POSTGRES_PORT=5433
# aunooai-dev/.env: APP_PORT=10002, POSTGRES_PORT=5434
# Start each instance
cd aunooai-prod && docker-compose up -d
cd ../aunooai-dev && docker-compose up -dResource Limits
Edit docker-compose.yml to add resource limits:
services:
aunooai:
deploy:
resources:
limits:
cpus: '2.0'
memory: 4G
reservations:
cpus: '1.0'
memory: 2GGetting Help
Application Issues:
Check logs: docker-compose logs -f aunooai
Health status: curl http://localhost:10001/health
Operations HQ - System health monitoring
Docker Issues:
System status: docker-compose ps
Resource usage: docker stats
Disk space: docker system df
Last updated