Beginner friendly: Single-container deployments#

What is a single container deployment?#

A single container deployment means running Syft in one isolated environment called a container. Think of a container as a lightweight, self-contained package that includes everything the application needs to run, like the code, libraries, and settings. This makes it easy to set up and manage the application on any system that supports containers, without worrying about compatibility issues.

When you need this?#

A single container deployment is perfect for:

  • Local Machines/Virtual Machines in the cloud: It is easy to set up and run PySyft on your personal computer to conveniently deploy PySyft on a cloud-hosted VM.

  • Beginner-friendly: Ideal for those new to PySyft, providing a straightforward and user-friendly setup.

  • Collaborate & remote data science: When you want to start using PySyft with external researchers and facilitate privacy-preserving access to your data, you can give them access to your Syft server instance.

Steps#

  1. Decide on OS and platform - please refer to the initial guide to decide.

  2. Secure resources: the requirements are stated in the initial guide

  3. Depending on your choice of platform and OS, proceed with one of the following tutorials:

Limitations#

Whilst the single container deployment is lightweight and best-fitted for beginners, it has currently a suite of limitations:

  • data storage: relying on a SQLite database, it can only host small quantities of data

  • orchestration: while such containers can be long-running on its own, no observability or upgradeability of the server is supported

  • networking: currently remote tunneling is not supported, requiring a publicly hosted IP for opening access. This is under development.

For learning more about the advanced deployment options offered by Syft that overcome these issues, please read more in our K8s guide.