update readme
This commit is contained in:
31
README.md
31
README.md
@@ -10,7 +10,7 @@ A platform that lets anyone create, own, and publish their own static website th
|
||||
|
||||
- Java 17+
|
||||
- Node.js 18+ and npm
|
||||
- Docker & Docker Compose (for PostgreSQL, MongoDB, MinIO)
|
||||
- Docker & Docker Compose (for PostgreSQL, MongoDB)
|
||||
- npm packages: `@angular/cli@17` (`npm install -g @angular/cli@17`)
|
||||
|
||||
### Setup
|
||||
@@ -21,7 +21,7 @@ A platform that lets anyone create, own, and publish their own static website th
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
This starts PostgreSQL (port 5432), MongoDB (port 27017), and MinIO (ports 9000/9001).
|
||||
This starts PostgreSQL (port 5432) and MongoDB (port 27017).
|
||||
|
||||
2. **Start the backend:**
|
||||
|
||||
@@ -52,9 +52,6 @@ A platform that lets anyone create, own, and publish their own static website th
|
||||
|------------|--------------------|--------------|--------------------------------|---------------------|
|
||||
| PostgreSQL | `postgres:16-alpine` | host:5432 | `indie` / `indie_dev` | `pgdata` |
|
||||
| MongoDB | `mongo:7` | host:27017 | (no auth) | `mongodata` |
|
||||
| MinIO | `minio/minio:latest` | host:9000 (S3 API), host:9001 (Console) | `indieadmin` / `indiesecret` | `miniodata` |
|
||||
|
||||
MinIO mimics Cloudflare R2/S3 for local development. Console: `http://localhost:9001`.
|
||||
|
||||
---
|
||||
|
||||
@@ -76,13 +73,6 @@ MinIO mimics Cloudflare R2/S3 for local development. Console: `http://localhost:
|
||||
| `INDIE_GIT_REPOS_PATH` | Git repositories root | `/var/git/sites/` |
|
||||
| `INDIE_GIT_AUTHOR_NAME` | Default git author name | `Indie Platform` |
|
||||
| `INDIE_GIT_AUTHOR_EMAIL` | Default git author email | `git@indie.local` |
|
||||
| **Storage (S3-compatible)** | | |
|
||||
| `INDIE_STORAGE_ENDPOINT` | S3 endpoint URL | `http://localhost:9000` |
|
||||
| `INDIE_STORAGE_REGION` | S3 region | `auto` |
|
||||
| `INDIE_STORAGE_ACCESS_KEY` | S3 access key | `indie` |
|
||||
| `INDIE_STORAGE_SECRET_KEY` | S3 secret key | `indie_dev` |
|
||||
| `INDIE_STORAGE_BUCKET` | S3 bucket name | `indie-sites` |
|
||||
| `INDIE_STORAGE_PUBLIC_URL` | Public URL base for stored files | `http://localhost:9000/indie-sites` |
|
||||
| **Encryption** | | |
|
||||
| `INDIE_ENCRYPTION_KEY_PATH` | AES-256-GCM master key path | `config/encryption.key` |
|
||||
| **App** | | |
|
||||
@@ -123,7 +113,7 @@ backend/
|
||||
│ │ ├── JwtAuthenticationToken.java # Custom AbstractAuthenticationToken
|
||||
│ │ ├── UserPrincipal.java # UserDetails record
|
||||
│ │ ├── GitConfig.java # Git repository settings
|
||||
│ │ ├── StorageConfig.java # S3Client bean (MinIO / S3-compatible)
|
||||
|
||||
│ │ ├── EncryptionService.java # AES-256/GCM for LLM API key encryption
|
||||
│ │ ├── RateLimitConfig.java # Bucket4j token-bucket rate limiter
|
||||
│ │ ├── SchemaMigration.java # Startup DDL migrations
|
||||
@@ -332,7 +322,7 @@ config/ # Auto-generated on first boot
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/api/sites/{id}/publish` | Publish site (git push + S3 upload) |
|
||||
| POST | `/api/sites/{id}/publish` | Publish site (git push) |
|
||||
| POST | `/api/sites/{id}/unpublish` | Unpublish site |
|
||||
| GET | `/api/sites/{id}/export` | Download site as `.zip` archive |
|
||||
|
||||
@@ -376,7 +366,7 @@ config/ # Auto-generated on first boot
|
||||
| Frontend | Angular 17, Angular Material, Tailwind CSS, Leaflet |
|
||||
| Relational DB | PostgreSQL 16 |
|
||||
| Document DB | MongoDB 7 (generation versions, LLM sessions) |
|
||||
| Object Storage | MinIO (dev) / Cloudflare R2 (prod) |
|
||||
|
||||
| Auth | Spring Security + JWT (RS256), email/password |
|
||||
| LLM | Gemini (primary), OpenAI (fallback), provider-abstraction |
|
||||
| Git | JGit — local repo per site, GitHub/GitLab remote push |
|
||||
@@ -390,17 +380,6 @@ config/ # Auto-generated on first boot
|
||||
|
||||
```
|
||||
┌──────────────────────┐
|
||||
│ Cloudflare CDN │
|
||||
│ custom domains → R2 │
|
||||
└────────┬─────────────┘
|
||||
│
|
||||
┌────────▼─────────────┐
|
||||
│ Cloudflare R2 │
|
||||
│ indie-sites bucket │
|
||||
│ /{siteId}/* │
|
||||
└──────────────────────┘
|
||||
▲
|
||||
┌────────┴─────────────┐
|
||||
│ Spring Boot API │
|
||||
│ (VPS / Docker) │
|
||||
└────────┬─────────────┘
|
||||
|
||||
Reference in New Issue
Block a user