Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Fly.io-implementatie
Doel: OpenClaw Gateway draaiend op een Fly.io-machine met permanente opslag, automatische HTTPS en toegang tot Discord/kanalen.Wat je nodig hebt
- flyctl CLI geïnstalleerd
- Fly.io-account (gratis laag werkt)
- Modelauthenticatie: API-sleutel voor je gekozen modelprovider
- Kanaalreferenties: Discord-bottoken, Telegram-token, enz.
Snelle route voor beginners
- Clone repo → pas
fly.tomlaan - Maak app + volume aan → stel secrets in
- Deploy met
fly deploy - SSH in om config te maken of gebruik Control UI
Maak de Fly-app aan
lhr (Londen), iad (Virginia), sjc (San Jose).Configureer fly.toml
Bewerk Belangrijke instellingen:
fly.toml zodat deze overeenkomt met je appnaam en vereisten.Beveiligingsopmerking: De standaardconfiguratie stelt een openbare URL beschikbaar. Zie Privé-implementatie voor een geharde implementatie zonder openbaar IP-adres, of gebruik fly.private.toml.| Instelling | Waarom |
|---|---|
--bind lan | Bindt aan 0.0.0.0 zodat de proxy van Fly de gateway kan bereiken |
--allow-unconfigured | Start zonder configuratiebestand (dat maak je daarna aan) |
internal_port = 3000 | Moet overeenkomen met --port 3000 (of OPENCLAW_GATEWAY_PORT) voor Fly-gezondheidscontroles |
memory = "2048mb" | 512 MB is te klein; 2 GB wordt aanbevolen |
OPENCLAW_STATE_DIR = "/data" | Bewaart status op het volume |
Stel secrets in
- Niet-loopback binds (
--bind lan) vereisen een geldig gateway-authenticatiepad. Dit Fly.io-voorbeeld gebruiktOPENCLAW_GATEWAY_TOKEN, maargateway.auth.passwordof een correct geconfigureerde niet-loopbacktrusted-proxy-implementatie voldoet ook aan de vereiste. - Behandel deze tokens als wachtwoorden.
- Geef de voorkeur aan omgevingsvariabelen boven een configuratiebestand voor alle API-sleutels en tokens. Zo blijven secrets buiten
openclaw.json, waar ze per ongeluk kunnen worden blootgesteld of gelogd.
Deploy
Maak configuratiebestand
SSH naar de machine om een correcte configuratie te maken:Maak de configuratiemap en het bestand aan:Opmerking: Met
OPENCLAW_STATE_DIR=/data is het configuratiepad /data/openclaw.json.Opmerking: Vervang https://my-openclaw.fly.dev door de echte origin van je Fly-app. Het opstarten van de Gateway seedt lokale Control UI-origins vanuit de runtimewaarden --bind en --port, zodat de eerste boot kan doorgaan voordat configuratie bestaat, maar browsertoegang via Fly heeft nog steeds de exacte HTTPS-origin nodig die in gateway.controlUi.allowedOrigins staat.Opmerking: Het Discord-token kan uit een van beide komen:- Omgevingsvariabele:
DISCORD_BOT_TOKEN(aanbevolen voor secrets) - Configuratiebestand:
channels.discord.token
DISCORD_BOT_TOKEN automatisch.Herstart om toe te passen:Toegang tot de Gateway
Control UI
Open in de browser:https://my-openclaw.fly.dev/Authenticeer met het geconfigureerde gedeelde geheim. Deze gids gebruikt het gateway-token uit OPENCLAW_GATEWAY_TOKEN; als je bent overgestapt op wachtwoordauthenticatie, gebruik dan in plaats daarvan dat wachtwoord.Logs
SSH-console
Probleemoplossing
”App luistert niet op verwacht adres”
De gateway bindt aan127.0.0.1 in plaats van aan 0.0.0.0.
Oplossing: Voeg --bind lan toe aan je procesopdracht in fly.toml.
Gezondheidscontroles mislukken / verbinding geweigerd
Fly kan de gateway niet bereiken op de geconfigureerde poort. Oplossing: Zorg datinternal_port overeenkomt met de gateway-poort (stel --port 3000 of OPENCLAW_GATEWAY_PORT=3000 in).
OOM / geheugenproblemen
Container blijft herstarten of wordt beëindigd. Signalen:SIGABRT, v8::internal::Runtime_AllocateInYoungGeneration of stille herstarts.
Oplossing: Verhoog het geheugen in fly.toml:
Gateway-lockproblemen
Gateway weigert te starten met fouten over “already running”. Dit gebeurt wanneer de container herstart, maar het PID-lockbestand op het volume blijft bestaan. Oplossing: Verwijder het lockbestand:/data/gateway.*.lock (niet in een submap).
Configuratie wordt niet gelezen
--allow-unconfigured omzeilt alleen de opstartbeveiliging. Het maakt of herstelt /data/openclaw.json niet, dus zorg dat je echte configuratie bestaat en gateway.mode="local" bevat wanneer je een normale lokale gateway-start wilt.
Controleer of de configuratie bestaat:
Configuratie schrijven via SSH
De opdrachtfly ssh console -C ondersteunt geen shell-omleiding. Om een configuratiebestand te schrijven:
fly sftp kan mislukken als het bestand al bestaat. Verwijder het eerst:
Status blijft niet behouden
Als je authenticatieprofielen, kanaal-/providerstatus of sessies kwijtraakt na een herstart, schrijft de statusmap naar het containerbestandssysteem. Oplossing: Zorg datOPENCLAW_STATE_DIR=/data is ingesteld in fly.toml en deploy opnieuw.
Updates
Machineopdracht bijwerken
Als je de opstartopdracht moet wijzigen zonder volledige redeploy:fly deploy kan de machineopdracht teruggezet worden naar wat in fly.toml staat. Als je handmatige wijzigingen hebt aangebracht, pas ze dan opnieuw toe na deploy.
Privé-implementatie (gehard)
Standaard wijst Fly openbare IP-adressen toe, waardoor je gateway bereikbaar is ophttps://your-app.fly.dev. Dit is handig, maar betekent dat je implementatie vindbaar is voor internetscanners (Shodan, Censys, enz.).
Gebruik de privét sjabloon voor een geharde implementatie met geen openbare blootstelling.
Wanneer je privé-implementatie gebruikt
- Je doet alleen uitgaande oproepen/berichten (geen inkomende Webhooks)
- Je gebruikt ngrok- of Tailscale-tunnels voor webhook-callbacks
- Je benadert de gateway via SSH, proxy of WireGuard in plaats van via de browser
- Je wilt dat de implementatie verborgen blijft voor internetscanners
Installatie
Gebruikfly.private.toml in plaats van de standaardconfiguratie:
fly ips list alleen een IP van type private moeten tonen:
Toegang tot een privé-implementatie
Omdat er geen openbare URL is, gebruik je een van deze methoden: Optie 1: Lokale proxy (eenvoudigst)Webhooks met private deployment
Als je webhook-callbacks nodig hebt (Twilio, Telnyx, enz.) zonder publieke blootstelling:- ngrok-tunnel - Voer ngrok uit in de container of als sidecar
- Tailscale Funnel - Stel specifieke paden beschikbaar via Tailscale
- Alleen uitgaand - Sommige providers (Twilio) werken prima voor uitgaande oproepen zonder Webhooks
webhookSecurity.allowedHosts in op de openbare hostnaam van de tunnel, zodat doorgestuurde host-headers worden geaccepteerd.
Beveiligingsvoordelen
| Aspect | Openbaar | Privé |
|---|---|---|
| Internetscanners | Vindbaar | Verborgen |
| Directe aanvallen | Mogelijk | Geblokkeerd |
| Toegang tot Control UI | Browser | Proxy/VPN |
| Webhook-levering | Direct | Via tunnel |
Opmerkingen
- Fly.io gebruikt x86-architectuur (niet ARM)
- De Dockerfile is compatibel met beide architecturen
- Gebruik
fly ssh consolevoor WhatsApp/Telegram-onboarding - Persistente gegevens staan op het volume op
/data - Signal vereist Java + signal-cli; gebruik een aangepaste image en houd het geheugen op 2 GB+.
Kosten
Met de aanbevolen configuratie (shared-cpu-2x, 2 GB RAM):
- ~$10-15/maand, afhankelijk van gebruik
- Gratis pakket bevat enige tegoeden
Volgende stappen
- Stel messaging-kanalen in: Kanalen
- Configureer de Gateway: Gateway-configuratie
- Houd OpenClaw up-to-date: Bijwerken