Skip to content

Buage/OpenSum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 OpenSum

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.


🔒 Privacy

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.


⚙️ How it works

  • 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.

🧩 Features

  • Multiple AI providers (OpenAI, Mistral, OpenRouter, etc.)
  • Persistence of summaries
  • Simple Docker deployment
  • Lightweight and self‑hostable

🛠️ Install (Docker)

  1. 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:
  1. Create a .env file next to docker-compose.yml and 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_password

Note:

  • Use DB_HOST=mysql (container service name) — Do not use 127.0.0.1.
  1. Start services:
# recommended (no sudo if your user is in docker group)
docker compose up -d
# or with sudo
sudo docker compose up -d

Congrats! 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)


📚 FAQ

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 app

❤️ Contribute

Found a bug or want a feature? Open an issue or submit a PR — contributions welcome!

About

Generate summaries using AI. Works with OpenAI, Mistral and more. Self-Hostable and open source!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors