Files
kebuu.com/README.md
Timothy Kim f7d010f28d Use Docker for local development environment
- Update README and CLAUDE.md with Docker-based dev workflow
- Add Dockerfile for containerized deployment
- Add gunicorn to requirements.txt
- Dev uses volume mount for live code reloading

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 20:41:48 -05:00

51 lines
1.2 KiB
Markdown

# Kebuu
A spending tracker web application built with Flask.
## Setup
### 1. Create Environment Files
Copy the example file and configure for your environment:
```bash
cp .env.example .env.dev # For development
cp .env.example .env.prod # For production
```
Edit the files with your values:
| Variable | Description | Example |
|----------|-------------|---------|
| `SECRET_KEY` | Flask session secret (use a strong random string in production) | `your-secret-key-here` |
| `DATABASE_URL` | Database connection string | `sqlite:///kebuu.db` or `postgresql://user:pass@host/db` |
| `ALTCHA_HMAC_KEY` | CAPTCHA signing key (use a strong random string) | `your-altcha-hmac-key-here` |
Generate secure keys with:
```bash
python -c "import secrets; print(secrets.token_hex(32))"
```
### 2. Build Docker Image
```bash
docker build -t kebuu .
```
### 3. Run the Application
**Development:**
```bash
docker run -p 5000:5000 --env-file .env.dev -v $(pwd)/src:/app kebuu
```
The volume mount (`-v`) enables live code reloading during development.
**Production:**
```bash
docker run -p 5000:5000 --env-file .env.prod kebuu
```
## Project Structure
See [CLAUDE.md](CLAUDE.md) for detailed project documentation.