Networking Requirements
Network requirements
A DataForge deployment needs to connect to various different network services. Following is an overview of requirements on the network to allow for communication between the various services.
Note that this does not include internal connections between DataForge services that are deployed together in a single docker-compose environment by default. Instead, this overview is intended as a hint about potentially necessary firewall rules.
Source | Port | Protocol | Destination | Purpose |
---|---|---|---|---|
Web browser accessing df-frontend | 443/tcp | HTTPS | df-frontend reverse proxy | Access to static frontend files |
Web browser / IntelliTrend Mobile app | 443/tcp | gRPC-Web (HTTPS) | df-frontend reverse proxy (API on df-server) | Access to df-server API endpoints |
IntelliTrend Mobile app | 443/tcp | JSON-RPC (HTTPS) | Push server at push.intellitrend.de | Configuration of push notifications (only if needed) |
df-server, all df-collectors | 443/tcp | JSON-RPC (HTTPS) | Configured Zabbix Frontend servers | Access to Zabbix API of configured servers |
df-deliverer | Various | Various (for example SMTP) | Configured delivery targets | Delivery of reports to configured destinations |
any df-ai-runner, if applicable | 443/tcp | S3 (HTTPS) | seaweedFS (object storage) | Access to trained AI models |
Architecture diagram
Refer to this diagram for an overview of the general architecture of DataForge:
Service dependencies
Because a DataForge deployment consists of multiple services, there are some network dependencies between the services.
Most of these dependencies are already dealt with as part of the docker-compose setup, but please refer to this table if you would like to understand the relationships between the services (the source service always depends on the destination service).
Source Service | Destination Services |
---|---|
df-frontend | df-server gRPC-Web API must be reachable from browsers using the df-frontend |
df-server | mariadb, nsqd, nsqlookupd, seaweedFS, Zabbix API |
df-collector | nsqd, nsqlookupd, seaweedFS, Zabbix API |
df-preprocessor | nsqd, nsqlookupd, seaweedFS |
df-renderer | nsqd, nsqlookupd, seaweedFS, chromedp |
df-deliverer | nsqd, nsqlookupd, seaweedFS, delivery targets |
df-ai-trainer | nsqd, nsqlookupd, seaweedFS |
df-ai-tester | nsqd, nsqlookupd, seaweedFS |
df-ai-runner | df-server, seaweedFS |
nsqd | nsqlookupd, df-server (nsqauth) |
nsqlookupd | nsqd |
chromedp | df-deliverer |
mariadb | – |
seaweedFS | – |