Files
dependabot[bot] 50600a0269 Bump python from 3.12-slim to 3.14-slim in /docker
Bumps python from 3.12-slim to 3.14-slim.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.14-slim
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2026-07-13 08:53:48 +00:00
..
2025-08-20 19:09:39 +01:00

AutoModerate Docker Setup

This directory contains all the necessary files to run AutoModerate as a Docker container setup.

Quick Start

  1. Configure environment variables:

    cp .env.docker.example .env
    # Edit .env and add your OPENAI_API_KEY and other configurations
    
  2. Start the services:

    docker-compose up -d
    
  3. Access the application:

Files Overview

  • Dockerfile: Multi-stage Python application container
  • docker-compose.yml: Complete stack with PostgreSQL
  • .dockerignore: Excludes unnecessary files from build context
  • .env.docker: Environment template (copy to .env)
  • README.md: This documentation

Services

AutoModerate Application

  • Port: 6217
  • Dependencies: PostgreSQL
  • Volumes: Persistent data storage

PostgreSQL Database

  • Port: 5432 (exposed for debugging)
  • Database: automoderate
  • User: automod_user

Environment Configuration

Required variables in .env:

# Essential Configuration
OPENAI_API_KEY=your-api-key-here
SECRET_KEY=your-secure-secret-key
ADMIN_EMAIL=[email protected]
ADMIN_PASSWORD=your-secure-password

# Database (automatically configured for container)
DATABASE_URL=postgresql://automod_user:automod_password@postgres:5432/automoderate

Troubleshooting

Common Issues

  1. Database connection errors:

    docker-compose logs postgres
    docker-compose restart automoderate
    
  2. Permission issues:

    docker-compose down
    docker volume rm docker_postgres_data
    docker-compose up -d
    
  3. Port conflicts:

    # Check port usage
    netstat -tulpn | grep :6217
    
    # Use different ports in docker-compose.yml
    ports:
      - "8080:6217"  # External:Internal
    

Logs and Debugging

# View application logs
docker-compose logs -f automoderate

# View all service logs
docker-compose logs -f

# Access application shell
docker-compose exec automoderate bash

# Access database shell
docker-compose exec postgres psql -U automod_user automoderate

Data Persistence

Data is persisted in Docker volumes:

  • postgres_data: Database files
  • app_data: Application files (uploads, logs)

To backup volumes:

docker run --rm -v docker_postgres_data:/data -v $(pwd):/backup alpine tar czf /backup/postgres_backup.tar.gz -C /data .