init
This commit is contained in:
commit
d69342b2e9
160 changed files with 28681 additions and 0 deletions
61
README.md
Normal file
61
README.md
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# WriteKit - Local Development
|
||||
|
||||
## Prerequisites
|
||||
- Docker & Docker Compose
|
||||
- GitHub OAuth App (for login)
|
||||
|
||||
## Setup GitHub OAuth
|
||||
1. Go to https://github.com/settings/developers
|
||||
2. New OAuth App:
|
||||
- Name: `WriteKit Local`
|
||||
- Homepage: `http://writekit.lvh.me`
|
||||
- Callback: `http://writekit.lvh.me/auth/github/callback`
|
||||
3. Copy Client ID and Secret
|
||||
|
||||
## Run
|
||||
```bash
|
||||
# Set OAuth credentials
|
||||
export GITHUB_CLIENT_ID=your_client_id
|
||||
export GITHUB_CLIENT_SECRET=your_client_secret
|
||||
|
||||
# Start
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
Or create `.env` file:
|
||||
```
|
||||
GITHUB_CLIENT_ID=your_client_id
|
||||
GITHUB_CLIENT_SECRET=your_client_secret
|
||||
```
|
||||
|
||||
## Access
|
||||
- **Platform**: http://writekit.lvh.me
|
||||
- **Traefik dashboard**: http://localhost:8080
|
||||
- **MinIO console**: http://localhost:9001 (minioadmin/minioadmin)
|
||||
|
||||
## Create a demo
|
||||
```bash
|
||||
curl -X POST http://writekit.lvh.me/api/demo
|
||||
```
|
||||
Returns subdomain like `demo-abc123.writekit.lvh.me` - works automatically, no hosts file needed.
|
||||
|
||||
## Environment Variables
|
||||
|
||||
### Required
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `DATABASE_URL` | PostgreSQL connection string |
|
||||
| `DOMAIN` | Base domain |
|
||||
| `BASE_URL` | Full URL for OAuth callbacks |
|
||||
| `SESSION_SECRET` | Cookie encryption (32+ chars) |
|
||||
| `GITHUB_CLIENT_ID` | GitHub OAuth client ID |
|
||||
| `GITHUB_CLIENT_SECRET` | GitHub OAuth secret |
|
||||
|
||||
### Optional
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `GOOGLE_CLIENT_ID/SECRET` | Google OAuth |
|
||||
| `DISCORD_CLIENT_ID/SECRET` | Discord OAuth |
|
||||
| `R2_*` | Cloudflare R2 storage |
|
||||
| `IMAGINARY_URL` | Image processing service |
|
||||
| `CLOUDFLARE_API_TOKEN/ZONE_ID` | Analytics |
|
||||
Loading…
Add table
Add a link
Reference in a new issue