Requirements¶
Minimum Requirements¶
- CPU: 2.0 GHz Dual-Core x86-64 with support for AES-NI (CUMUL) instructions, and SSSE3 extension (Most Intel Westmere and AMD Jaguar/Bulldozer, and newer.)
- Memory: 4 GB (6 GB when using S3)
- Storage: SSD or network storage with sufficient I/O capability for desired use. JetStream performance will be directly affected by I/O performance.
- Network: Server with static IP, and appropriate TCP/UDP ports open. Operation behind NAT or a proxy is supported.
Recommended Hardware¶
The following hardware is recommended for speeds between 500Mb/s - 1Gb/s
- CPU: 3.0 GHz 6-Core
- Memory: 16 GB
- Storage: SSD or network storage with I/O capability exceeding 500Mb/s.
- Network: 500Mb/s - 1Gb/s for both Upload and Download.
The following hardware is recommended for speeds exceeding 1Gb/s
- CPU: 3.5 GHz 12-Core
- Memory: 32 GB
- Storage: SSD or network storage with I/O capability exceeding 1Gb/s.
- Network: Greater than 1Gb/s for both Upload and Download.
Operating Systems¶
JetStream Server versions 2.9.1 or greater have been developed and tested under the following operating systems:
Linux (64-bit)¶
- Ubuntu 20.04 (64-bit)
- Ubuntu 18.04 (64-bit)
- CentOS 7 (64-bit) or higher
- Red Hat Enterprise Linux (RHEL) 7.6 (64-bit) or higher
macOS (64-bit)¶
- macos 13 (Ventura)
- macOS 12 (Monterey)
- macOS 11 (Big Sur)
- macOS 10.15 (Catalina)
Encryption¶
To use encryption, JetStream requires the processor support at least SSE2 instructions. Ideally, the processor supports AES-NI, SSSE3, and, PCLMULQDQ instructions.
Network/Firewall¶
The server should use a single static IP address.
Note
The server should only have a single external IP address. If the server machine has multiple NICs that can access the internet, configure the system to use only a single interface.
The following ports need to be forwarded to the JetStream server to allow incoming connections from an external network:
Port | Protocol |
---|---|
8886 | TCP (Required) |
8886 | UDP (Required) |
8887 | UDP (Optional) |
8888 | UDP (Optional) |
8889 | UDP (Optional) |
Note
Additional UDP ports can be opened to allow multiple concurrent incoming connections from various external networks.
For optimal performance, the number of ports should correspond to the number of write threads.
For more details, see Editing Configuration, --recv-port
, --max-file-write-threads
.
The JetStream server will attempt to make the following outgoing connection for licensing:
Destination Address | Destination Port | Protocol |
---|---|---|
licensing.gojetstream.io | 8885 | TCP |
Note
More information regarding Network/Firewall settings can be found at Firewalls.
User Management¶
JetStream integrates with your system’s built-in authentication. This allows any users with login permissions on the host computer to send and receive files from the JetStream server.
Note
Users require a password to authenticate with the JetStream server. If a user account exists without a password, that user cannot authenticate with JetStream.
Note
System administrators are also JetStream administrators by default.
Required Dependencies¶
JetStream server does not have any external software dependencies.
Optional Dependencies¶
An optional Python module is bundled with the server to allow for scripting and automation. See JetStream API.