OpenSum is a self‑hosted, AI‑powered summarizer that creates concise titles and summaries from your input. Works with OpenAI, Gemini, Mistral, OpenRouter and other providers.
Your AI provider may see the requests sent to it; OpenSum itself does not access your provider credentials or summaries remotely — everything stays on your instance.
- You paste or provide text to OpenSum.
- OpenSum sends a prompt to your chosen AI provider asking for a title + summary.
- The generated result is returned and stored so you can access it later from any device.
- Multiple AI providers (OpenAI, Mistral, OpenRouter, etc.)
- Persistence of summaries
- Simple Docker deployment
- Lightweight and self‑hostable
- Create
docker-compose.yml(example):
version: '3.8'
services:
mysql:
image: mysql:8.0
container_name: opensum_db
environment:
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:-root_password}"
MYSQL_USER: "${MYSQL_USER:-opensum}"
MYSQL_PASSWORD: "${MYSQL_PASSWORD:-password}"
MYSQL_DATABASE: "${MYSQL_DATABASE:-opensum}"
ports:
- "${MYSQL_PORT:-3306}:3306"
volumes:
- ./mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 20
app:
image: ghcr.io/buage/opensum:latest
container_name: opensum_app
environment:
DB_HOST: "mysql"
DB_USER: "${DB_USER:-opensum}"
DB_PASSWORD: "${DB_PASSWORD:-password}"
DB_NAME: "${DB_NAME:-opensum}"
PORT: "${PORT:-2475}"
AI_API_KEY: "${AI_API_KEY}"
AI_API_URL: "${AI_API_URL}"
AI_MODEL: "${AI_MODEL}"
ports:
- "${PORT:-2475}:5001"
depends_on:
mysql:
condition: service_healthy
volumes:
- ./cache:/app/cache
- ./uploads:/app/uploads
volumes:
mysql_data:- Create a
.envfile next todocker-compose.ymland edit values (example):
DB_HOST=mysql
DB_USER=opensum
DB_PASSWORD=password
DB_NAME=opensum
DB_POOL_SIZE=5
DB_POOL_NAME=opensum_pool
DOMAIN=domain_without_https
SESSION_DURATION_HOURS=730
AI_API_KEY=your_api_key_here
AI_API_URL=https://api.openai.com/v1/
AI_MODEL=gpt-4
CACHE_DIR=cache
UPLOADS_DIR=uploads
PORT=2475
MYSQL_PORT=3485
MYSQL_ROOT_PASSWORD=root_passwordNote:
- Use
DB_HOST=mysql(container service name) — Do not use127.0.0.1.
- Start services:
# recommended (no sudo if your user is in docker group)
docker compose up -d
# or with sudo
sudo docker compose up -dCongrats! Your app should now be available on the port 2475, or any other port you've chosen!
The default email is admin@buage.dev
And the default password is password
You can change these in the settings -- Just press the settings button at the bottom right of the page (on pc)
Q: Why build OpenSum?
A: Needed a lightweight, self‑hostable summarizer — so I built it.
Q: Will my summaries sync?
A: Yes, they are stored on your instance and accessible from your devices.
Q: Which providers are supported?
A: OpenAI, Mistral, OpenRouter, Gemini, and more — change API key/URL/model in .env.
You can run these commands to safely update:
# rebuild app image and restart app container only
docker compose build --no-cache app
docker compose up -d --no-deps appFound a bug or want a feature? Open an issue or submit a PR — contributions welcome!