Quick Start
Get ReadyKit up and running in 5 minutes.
Prerequisites
- Python 3.11+
- Redis (for sessions and Celery)
- Git
- uv (fast Python package manager)
Local Setup
1. Install uv
bash
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or with pip
pip install uv2. Clone and Setup
bash
git clone git@github.com:level09/readykit.git
cd readykit
./setup.shThe setup script will:
- Create a Python virtual environment
- Install all dependencies via uv
- Generate a
.envfile with secure random keys
3. Initialize the Application
bash
uv run flask create-db # Create database tables
uv run flask install # Create admin user (interactive)
uv run flask run # Start development serverVisit http://localhost:5000 - you're ready to go!
TIP
The first user created with flask install becomes a superadmin with full platform access.
What Happens on First Login?
- User registers or logs in via OAuth
- A workspace is automatically created for them
- They're redirected to their workspace dashboard
- Solo users never see "workspace" UI - it's invisible until they invite team members
Docker Setup (Production)
One-command production stack:
bash
docker compose up --buildThis starts:
- Flask app via uWSGI
- PostgreSQL database
- Redis for sessions and Celery
- Nginx reverse proxy
- Celery worker for background tasks
Environment Configuration
Key variables in .env (auto-generated by setup.sh):
bash
# Security (auto-generated)
SECRET_KEY=your_secure_key
SECURITY_PASSWORD_SALT=your_salt
SECURITY_TOTP_SECRETS=your_totp_secrets
# Database
SQLALCHEMY_DATABASE_URI=sqlite:///enferno.sqlite3 # Dev
# SQLALCHEMY_DATABASE_URI=postgresql://user:pass@localhost/db # Production
# Redis
REDIS_SESSION=redis://localhost:6379/1
CELERY_BROKER_URL=redis://localhost:6379/2
# OAuth (optional but recommended)
GOOGLE_AUTH_ENABLED=true
GOOGLE_OAUTH_CLIENT_ID=your_client_id
GOOGLE_OAUTH_CLIENT_SECRET=your_secret
GITHUB_AUTH_ENABLED=true
GITHUB_OAUTH_CLIENT_ID=your_client_id
GITHUB_OAUTH_CLIENT_SECRET=your_secret
# Stripe (required for billing)
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_PRO_PRICE_ID=price_...
STRIPE_WEBHOOK_SECRET=whsec_...Common Commands
bash
# Development
uv run flask run # Start dev server
uv run flask create-db # Create/reset database
uv run flask install # Create admin user
# User management
uv run flask create -e user@example.com -p password123
uv run flask reset -e user@example.com -p newpassword
# Code quality
uv run ruff check --fix . # Lint and auto-fix
uv run ruff format . # Format code
# Background tasks
uv run celery -A enferno.tasks worker --loglevel=infoNext Steps
| Guide | Description |
|---|---|
| Workspaces | Understand multi-tenant architecture |
| Billing | Set up Stripe integration |
| Teams | Configure team management |
| Authentication | Configure OAuth and 2FA |