docs(README): Update deployment instructions and clarify config file details
- Change wording from "Push code" to "Push image" for accuracy in deployment process. - Rename section "Create Config" to "Create Config file" for clarity. - Specify that `gordon.toml` is the config file searched by Gordon. - Remove outdated examples of multiple environments to streamline documentation. - Improve domain validation examples for better understanding of auto-route creation.
- commit
- a5982ebf9cbb26061d297f6bb410d105b8004654
- author
- bamen · · 2025-06-07 14:52 UTC
- parent
- b5669ec
- signature
- unsigned
1 file · +5 -22
M README.md +5 -22
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | <div align="center"> | |
| 4 | 4 | <img src="assets/gordon-mascot-hq-trsp.png" alt="Gordon Mascot" width="200"> | |
| 5 | 5 | <h3>The Smart Way to Deploy Containers on Your VPS</h3> | |
| 6 | - | <p><em>Push code → Auto-deploy → Zero complexity</em></p> | |
| 6 | + | <p><em>Push image → Auto-deploy → Zero complexity</em></p> | |
| 7 | 7 | </div> | |
| 8 | 8 | ||
| 9 | 9 | ## Why Gordon? | |
| @@ -141,9 +141,9 @@ chmod +x gordon-linux-amd64 | |||
| 141 | 141 | sudo mv gordon-linux-amd64 /usr/local/bin/gordon | |
| 142 | 142 | ``` | |
| 143 | 143 | ||
| 144 | - | ### 6. Create Config | |
| 144 | + | ### 6. Create Config file | |
| 145 | 145 | ```toml | |
| 146 | - | # Gordon searches for config in: ./ → ~/.config/gordon/ → ~/.gordon/ → ~/ → /etc/gordon/ | |
| 146 | + | # Gordon searches for `gordon.toml` config in: ./ → ~/.config/gordon/ → ~/.gordon/ → ~/ → /etc/gordon/ | |
| 147 | 147 | # (or use --config flag) | |
| 148 | 148 | [server] | |
| 149 | 149 | port = 8080 | |
| @@ -277,14 +277,6 @@ podman push registry.yourdomain.com/myapp:latest | |||
| 277 | 277 | # Save the file. Gordon redeploys the stable version in seconds. No scripts, no drama. | |
| 278 | 278 | ``` | |
| 279 | 279 | ||
| 280 | - | ### Multiple Environments | |
| 281 | - | ```toml | |
| 282 | - | [routes] | |
| 283 | - | "app.yourdomain.com" = "myapp:v1.0.0" # Stable production | |
| 284 | - | "staging.yourdomain.com" = "myapp:latest" # Latest builds | |
| 285 | - | "feature-xyz.yourdomain.com" = "myapp:feature-xyz" # Feature branch | |
| 286 | - | ``` | |
| 287 | - | ||
| 288 | 280 | ### Auto-Route Creation for Testing | |
| 289 | 281 | ||
| 290 | 282 | Gordon can automatically create routes from image names that contain valid domain names. This is perfect for testing deployments without manually editing config files. | |
| @@ -330,8 +322,8 @@ podman push registry.yourdomain.com/demo.example.com:v1.0.0 | |||
| 330 | 322 | ||
| 331 | 323 | #### Domain Validation | |
| 332 | 324 | Gordon only creates auto-routes for valid domain names in image names: | |
| 333 | - | - ✅ `api.example.com:latest` → Valid domain name, route created | |
| 334 | - | - ✅ `staging.dev:v1.0.0` → Valid subdomain name, route created | |
| 325 | + | - ✅ `api.example.com:latest` → Valid subdomain name, route created | |
| 326 | + | - ✅ `myapp.dev:v1.0.0` → Valid domain name, route created | |
| 335 | 327 | - ❌ `myapp:latest` → Not a domain, ignored | |
| 336 | 328 | - ❌ `myapp:v1.0.0` → Not a domain, ignored | |
| 337 | 329 | - ❌ `localhost:latest` → Not a valid domain, ignored | |
| @@ -341,7 +333,6 @@ Gordon only creates auto-routes for valid domain names in image names: | |||
| 341 | 333 | - Auto-routes are saved to your config file permanently | |
| 342 | 334 | - You can manually edit or remove auto-created routes anytime | |
| 343 | 335 | ||
| 344 | - | ``` | |
| 345 | 336 | ||
| 346 | 337 | ## FAQ | |
| 347 | 338 | ||
| @@ -393,14 +384,6 @@ podman build locally → test locally → push image → instant deploy | |||
| 393 | 384 | ||
| 394 | 385 | ## Architecture | |
| 395 | 386 | ||
| 396 | - | ``` | |
| 397 | - | Your Machine → Docker Image → Gordon Registry → Auto-Deploy → Live App | |
| 398 | - | ↓ | |
| 399 | - | Event System | |
| 400 | - | ↓ | |
| 401 | - | Domain Router → Container | |
| 402 | - | ``` | |
| 403 | - | ||
| 404 | 387 | - **Event-Driven**: Push events trigger deployments automatically | |
| 405 | 388 | - **Config Hot-Reload**: Edit gordon.toml, changes apply instantly | |
| 406 | 389 | - **Single Binary**: No dependencies except Docker | |
| @@ -3,7 +3,7 @@ | |||||
| 3 | <div align="center"> | 3 | <div align="center"> | ||
| 4 | <img src="assets/gordon-mascot-hq-trsp.png" alt="Gordon Mascot" width="200"> | 4 | <img src="assets/gordon-mascot-hq-trsp.png" alt="Gordon Mascot" width="200"> | ||
| 5 | <h3>The Smart Way to Deploy Containers on Your VPS</h3> | 5 | <h3>The Smart Way to Deploy Containers on Your VPS</h3> | ||
| 6 | - | <p><em>Push code → Auto-deploy → Zero complexity</em></p> | 6 | + | <p><em>Push image → Auto-deploy → Zero complexity</em></p> |
| 7 | </div> | 7 | </div> | ||
| 8 | 8 | ||||
| 9 | ## Why Gordon? | 9 | ## Why Gordon? | ||
| @@ -141,9 +141,9 @@ chmod +x gordon-linux-amd64 | |||||
| 141 | sudo mv gordon-linux-amd64 /usr/local/bin/gordon | 141 | sudo mv gordon-linux-amd64 /usr/local/bin/gordon | ||
| 142 | ``` | 142 | ``` | ||
| 143 | 143 | ||||
| 144 | - | ### 6. Create Config | 144 | + | ### 6. Create Config file |
| 145 | ```toml | 145 | ```toml | ||
| 146 | - | # Gordon searches for config in: ./ → ~/.config/gordon/ → ~/.gordon/ → ~/ → /etc/gordon/ | 146 | + | # Gordon searches for `gordon.toml` config in: ./ → ~/.config/gordon/ → ~/.gordon/ → ~/ → /etc/gordon/ |
| 147 | # (or use --config flag) | 147 | # (or use --config flag) | ||
| 148 | [server] | 148 | [server] | ||
| 149 | port = 8080 | 149 | port = 8080 | ||
| @@ -277,14 +277,6 @@ podman push registry.yourdomain.com/myapp:latest | |||||
| 277 | # Save the file. Gordon redeploys the stable version in seconds. No scripts, no drama. | 277 | # Save the file. Gordon redeploys the stable version in seconds. No scripts, no drama. | ||
| 278 | ``` | 278 | ``` | ||
| 279 | 279 | ||||
| 280 | - | ### Multiple Environments | |||
| 281 | - | ```toml | |||
| 282 | - | [routes] | |||
| 283 | - | "app.yourdomain.com" = "myapp:v1.0.0" # Stable production | |||
| 284 | - | "staging.yourdomain.com" = "myapp:latest" # Latest builds | |||
| 285 | - | "feature-xyz.yourdomain.com" = "myapp:feature-xyz" # Feature branch | |||
| 286 | - | ``` | |||
| 287 | - | ||||
| 288 | ### Auto-Route Creation for Testing | 280 | ### Auto-Route Creation for Testing | ||
| 289 | 281 | ||||
| 290 | Gordon can automatically create routes from image names that contain valid domain names. This is perfect for testing deployments without manually editing config files. | 282 | Gordon can automatically create routes from image names that contain valid domain names. This is perfect for testing deployments without manually editing config files. | ||
| @@ -330,8 +322,8 @@ podman push registry.yourdomain.com/demo.example.com:v1.0.0 | |||||
| 330 | 322 | ||||
| 331 | #### Domain Validation | 323 | #### Domain Validation | ||
| 332 | Gordon only creates auto-routes for valid domain names in image names: | 324 | Gordon only creates auto-routes for valid domain names in image names: | ||
| 333 | - | - ✅ `api.example.com:latest` → Valid domain name, route created | 325 | + | - ✅ `api.example.com:latest` → Valid subdomain name, route created |
| 334 | - | - ✅ `staging.dev:v1.0.0` → Valid subdomain name, route created | 326 | + | - ✅ `myapp.dev:v1.0.0` → Valid domain name, route created |
| 335 | - ❌ `myapp:latest` → Not a domain, ignored | 327 | - ❌ `myapp:latest` → Not a domain, ignored | ||
| 336 | - ❌ `myapp:v1.0.0` → Not a domain, ignored | 328 | - ❌ `myapp:v1.0.0` → Not a domain, ignored | ||
| 337 | - ❌ `localhost:latest` → Not a valid domain, ignored | 329 | - ❌ `localhost:latest` → Not a valid domain, ignored | ||
| @@ -341,7 +333,6 @@ Gordon only creates auto-routes for valid domain names in image names: | |||||
| 341 | - Auto-routes are saved to your config file permanently | 333 | - Auto-routes are saved to your config file permanently | ||
| 342 | - You can manually edit or remove auto-created routes anytime | 334 | - You can manually edit or remove auto-created routes anytime | ||
| 343 | 335 | ||||
| 344 | - | ``` | |||
| 345 | 336 | ||||
| 346 | ## FAQ | 337 | ## FAQ | ||
| 347 | 338 | ||||
| @@ -393,14 +384,6 @@ podman build locally → test locally → push image → instant deploy | |||||
| 393 | 384 | ||||
| 394 | ## Architecture | 385 | ## Architecture | ||
| 395 | 386 | ||||
| 396 | - | ``` | |||
| 397 | - | Your Machine → Docker Image → Gordon Registry → Auto-Deploy → Live App | |||
| 398 | - | ↓ | |||
| 399 | - | Event System | |||
| 400 | - | ↓ | |||
| 401 | - | Domain Router → Container | |||
| 402 | - | ``` | |||
| 403 | - | ||||
| 404 | - **Event-Driven**: Push events trigger deployments automatically | 387 | - **Event-Driven**: Push events trigger deployments automatically | ||
| 405 | - **Config Hot-Reload**: Edit gordon.toml, changes apply instantly | 388 | - **Config Hot-Reload**: Edit gordon.toml, changes apply instantly | ||
| 406 | - **Single Binary**: No dependencies except Docker | 389 | - **Single Binary**: No dependencies except Docker | ||