Quickstart¶
Get Slidefactory running and generate your first presentation.
Option A: Docker Compose (Recommended)¶
# Start all services (PostgreSQL, Redis, MinIO, API, Worker)
docker compose -f docker-compose-api-only.yaml up -d
# Create admin user + API key
docker exec -it slidefactory-api slidefactory init all
docker exec -it slidefactory-api slidefactory api-key create "Dev Key" --user-id 1 --scopes "*"
# Save the generated key (starts with sf_)
Option B: From Source¶
Prerequisites¶
- Python 3.11+, Node.js 20+
- PostgreSQL 15+ with pgvector extension
- Redis 7+
- MinIO (or Azure Blob Storage)
Install¶
git clone https://github.com/cgast/slidefactory-core.git
cd slidefactory-core
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
Configure¶
Create .env:
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/slidefactory
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/1
STORAGE_PROVIDER=minio
MINIO_CLIENT_URL=http://localhost:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
SECRET_KEY=$(openssl rand -hex 32)
AI_PROVIDER=openai
AI_MODEL=gpt-4
OPENAI_API_KEY=sk-your-key
N8N_API_URL=http://localhost:5678
N8N_API_KEY=n8n_api_your-key
Initialize & Start¶
# Database + admin user
slidefactory init all
# Create API key
slidefactory api-key create "Dev Key" --user-id 1 --scopes "*"
# Start backend
uvicorn slidefactory.app.main:app --host 0.0.0.0 --port 8080
# Start worker (separate terminal)
celery -A slidefactory.app.celery_app worker -Q process_queue,office365_queue,workflow_queue
Generate a Presentation¶
Via CLI¶
slidefactory presentation generate \
--template-id 42 \
--data-file data.json \
--output-name "Q4_Report"
Via REST API¶
curl -X POST http://localhost:8080/api/presentations/generate \
-H "X-API-Key: sf_your_key" \
-H "Content-Type: application/json" \
-d '{
"template_id": 42,
"data": {"company": "Acme Corp", "year": 2024},
"output_name": "Q4_Report"
}'
Via Web UI¶
Open http://localhost:8080/app/ and log in with your admin credentials.
Next Steps¶
- User Guide — templates, workflows, and all features
- Configuration — customize AI providers, storage, auth
- Architecture — understand how the pieces fit together