Documentation Refactor
This commit is contained in:
parent
3b8818e636
commit
a410b34521
47 changed files with 2065 additions and 3911 deletions
105
docs/getting-started/static.md
Normal file
105
docs/getting-started/static.md
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
---
|
||||
sidebar_position: 4
|
||||
sidebar_label: "Static YAML"
|
||||
---
|
||||
|
||||
# Static YAML
|
||||
|
||||
Use this mode to configure EasyHAProxy from a hand-written YAML file. Works for any backend — Docker containers, VMs, bare-metal servers, or anything reachable by IP/hostname.
|
||||
|
||||
:::tip Live Reload
|
||||
EasyHAProxy monitors this file for changes and automatically reconfigures HAProxy when any changes are detected.
|
||||
:::
|
||||
|
||||
## Step 1 — Write a minimal config file
|
||||
|
||||
```yaml
|
||||
containers:
|
||||
"myapp.example.com:80":
|
||||
ip: ["10.0.0.5:3000"]
|
||||
```
|
||||
|
||||
Save this as `config.yml`.
|
||||
|
||||
## Step 2 — Run EasyHAProxy
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name easy-haproxy-container \
|
||||
-v /my/static/:/etc/easyhaproxy/static/ \
|
||||
-e EASYHAPROXY_DISCOVER="static" \
|
||||
-p 80:80 \
|
||||
-p 443:443 \
|
||||
-p 1936:1936 \
|
||||
byjg/easy-haproxy
|
||||
```
|
||||
|
||||
:::tip Docker Socket Optional
|
||||
Mounting `/var/run/docker.sock` is not required in static discovery mode.
|
||||
:::
|
||||
|
||||
## Step 3 — Verify
|
||||
|
||||
```bash
|
||||
curl http://myapp.example.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full YAML reference
|
||||
|
||||
```yaml
|
||||
stats:
|
||||
username: admin # Optional (default "admin")
|
||||
password: password # If omitted, stats are public with no password
|
||||
port: 1936 # Optional (default 1936)
|
||||
|
||||
customerrors: true # Optional (default false)
|
||||
|
||||
ssl_mode: default # Optional
|
||||
|
||||
logLevel:
|
||||
certbot: DEBUG # Optional. Can be: TRACE,DEBUG,INFO,WARN,ERROR,FATAL
|
||||
easyhaproxy: DEBUG # Optional. Can be: TRACE,DEBUG,INFO,WARN,ERROR,FATAL
|
||||
haproxy: INFO # Optional. Can be: TRACE,DEBUG,INFO,WARN,ERROR,FATAL
|
||||
|
||||
certbot:
|
||||
email: "acme@example.org" # If set, enables ACME/Certbot
|
||||
autoconfig: "" # Well-known CA shorthand (e.g. letsencrypt)
|
||||
eab_hmac_key: "" # Required by some CAs
|
||||
eab_kid: "" # Required by some CAs
|
||||
server: False # ACME endpoint URL (or False for Let's Encrypt)
|
||||
retry_count: 60 # Retry after rate limit
|
||||
|
||||
containers:
|
||||
# Format: "hostname:port"
|
||||
"host1.com.br:80":
|
||||
ip: ["container:5000"] # Endpoints: "address:localport"
|
||||
certbot: true # Request certbot certificate
|
||||
redirect_ssl: true # Redirect HTTP to HTTPS
|
||||
mode: http # Default `http`. Can be http or tcp
|
||||
|
||||
# HTTPS version (SSL)
|
||||
"host1.com.br:443":
|
||||
ip: ["container:80"]
|
||||
ssl: true # Enable SSL for this port
|
||||
|
||||
# Redirect www → main domain
|
||||
"www.host1.com.br:80":
|
||||
ip: ["container:5000"]
|
||||
redirect_ssl: true
|
||||
```
|
||||
|
||||
:::note SSL Certificates in Static Mode
|
||||
The only way to provide SSL certificates in static configuration mode is to map the certificate files as a Docker volume. See the [SSL documentation](../guides/ssl.md) to learn how to configure this.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Full options
|
||||
|
||||
- [Container label reference](../reference/container-labels.md) — label semantics also apply to static YAML keys
|
||||
- [Environment variable reference](../reference/environment-variables.md) — configure EasyHAProxy behavior
|
||||
|
||||
----
|
||||
[Open source ByJG](http://opensource.byjg.com)
|
||||
Loading…
Add table
Add a link
Reference in a new issue