Add Bootstrap and AgentSyncBundle handlers to gateway package with X-Gateway-Bootstrap-Token header authentication. Implement UpsertByName repository method for idempotent gateway registration. Update gateway entrypoint script to auto-generate keys and bootstrap gateway on first run, persisting gateway ID to disk. Add GATEWAY_BOOTSTRAP_TOKEN config and update environment variables for gateway name, bootstrap URL, and sync URL.
25 lines
855 B
Plaintext
25 lines
855 B
Plaintext
POSTGRES_DB=nexavpn
|
|
POSTGRES_USER=nexavpn
|
|
POSTGRES_PASSWORD=change-me
|
|
DATABASE_URL=postgres://nexavpn:change-me@postgres:5432/nexavpn?sslmode=disable
|
|
HTTP_ADDRESS=:8080
|
|
APP_ENV=production
|
|
JWT_SECRET=replace-with-a-long-random-secret
|
|
JWT_ISSUER=nexavpn
|
|
ACCESS_TOKEN_TTL_SECONDS=900
|
|
REFRESH_TOKEN_TTL_SECONDS=2592000
|
|
DEFAULT_DNS_SERVERS=10.20.0.53
|
|
DEFAULT_VPN_CIDR=100.96.0.0/24
|
|
DEFAULT_GATEWAY_ENDPOINT=vpn.example.com:51820
|
|
DEFAULT_GATEWAY_PUBLIC_KEY=replace-me
|
|
GATEWAY_BOOTSTRAP_TOKEN=nexavpn-gateway-bootstrap
|
|
NEXAVPN_GATEWAY_ID=
|
|
NEXAVPN_GATEWAY_NAME=primary-gateway
|
|
NEXAVPN_GATEWAY_SYNC_URL=http://backend:8080/api/v1/gateway-agent
|
|
NEXAVPN_GATEWAY_BOOTSTRAP_URL=http://backend:8080/api/v1/gateway-agent/bootstrap
|
|
NEXAVPN_API_TOKEN=
|
|
NEXAVPN_GATEWAY_PRIVATE_KEY=
|
|
NEXAVPN_GATEWAY_INTERFACE=wg0
|
|
NEXAVPN_UPLINK_INTERFACE=eth0
|
|
NEXAVPN_ENABLE_MASQUERADE=true
|