Install the Open-Source Deployment#

Deepchecks can be self-hosted on your on-prem environment. If you are a large company and you have data privacy concerns when sharing your data with SaaS tools, or you’re an engineer wishing to use the open-source version of Deepchecks, you’re in the right place! The open-source deployment let’s you spin up a fresh Deepchecks instance in a few minutes.

If you’re using the SaaS offering, feel free to skip to the Setting Up the Environment, or jump right to the Monitoring Quickstart for SaaS.

Note

The open source version is built for monitoring 1 model per deployment. Its ability to handle scale (e.g. more than 100K data samples/month) may be limited and depends also on your infrastructure limitations.

Requirements#

  • A Linux Ubuntu Server / MacOS / Windows with installed docker

  • At least 4GB of RAM

  • At least 2 vCPU cores

  • At least 20GB of persistent volumes

    • POSIX-compliant block storage

    • 3,000 IOPS recommended

  • Optional (but recommended for secured installations):

    • A DNS record on a domain you own. Deepchecks will automatically create an SSL certificate for your domain using LetsEncrypt.

Configuration#

Deepchecks can be configured using environment variables. See the Configuration section for more details.

Installing#

To get started: first make sure you have the docker engine up and running (try running docker or docker ps in your cli and check if you receive relevant output).

Before Installing: Make a New Directory

Create a new directory where you want the monitoring installation files to be inside. Then open the terminal inside that directory and start the installation.

Running the following commands in the terminal will spin up a new Deepchecks deployment automatically.

pip install deepchecks-installer
deepchecks-installer install-monitoring

During the installation you’ll be asked for:

  • The release tag you would like to use (default to latest-release)

  • The domain you’d like to use (default to local-host)

  • Whether the deployment should be secured (HTTP or HTTPS)

You can press “enter” throughout the installation process to use the default values.

Once everything has been setup by the installer (if you have fast internet, this shouldn’t take more than a couple of minutes), you should see the following message:

We will need to wait ~5-10 minutes for things to settle down,
migrations to finish, and TLS certs to be issued.

⏳ Waiting for Deepchecks to boot (this will take a few minutes)

Note

The installation will hang here a couple of minutes waiting for all services to finish their deployment procedures.

Once this step concludes successfully: Congratulations 🥇

The monitoring service is now installed. You should now be able to go to the url/domain you provided (the default is http://localhost), create your user account, and start working with the system and with the Deepchecks Monitoring app!

Deepchecks Login Screen

After you have your user and organizaiton, you can create a model-version for monitoring and start sending data to the app! Open the app’s url and follow the onboardingo tutorial, where you’ll upload data to the system. The onboarding tutorial follows the same steps as our quickstart.

Customizing your deployment (optional)#

The configuration file exists under the name oss-conf.env and comes with a series of default config values that should work for most deployments. If you need to customize anything, you can take a look at the full list of environment variables. After making any changes, simply restart the stack with docker-compose.

Define SMTP for email integration#

Deepchecks sends emails to users in multiple scenarios. Among these, it will send emails to users that are invited to the platform and can be configured to send emails when there is a new alert. To enable this feature you need to use your own SMTP server, which can be configured in the environment file with the following variables:

email_smtp_host

SMTP host for email

email_smtp_port

SMTP port for email

25

email_smtp_username

SMTP username for email

email_smtp_password

SMTP password for email

deepchecks_email

Allows to set “sender” field in emails instead of the “email_smtp_username” value