Supervisely
AboutAPI ReferenceSDK Reference
  • 🤖What's Supervisely
  • 🚀Ecosystem of Supervisely Apps
  • 💡FAQ
  • 📌Getting started
    • How to import
    • How to annotate
    • How to invite team members
    • How to connect agents
    • How to train models
  • 🔁Import and Export
    • Import
      • Overview
      • Import using Web UI
      • Supported annotation formats
        • Images
          • 🤖Supervisely JSON
          • 🤖Supervisely Blob
          • COCO
          • Yolo
          • Pascal VOC
          • Cityscapes
          • Images with PNG masks
          • Links from CSV, TXT and TSV
          • PDF files to images
          • Multiview images
          • Multispectral images
          • Medical 2D images
          • LabelMe
          • LabelStudio
          • Fisheye
          • High Color Depth
        • Videos
          • Supervisely
        • Pointclouds
          • Supervisely
          • .PCD, .PLY, .LAS, .LAZ pointclouds
          • Lyft
          • nuScenes
          • KITTI 3D
        • Pointcloud Episodes
          • Supervisely
          • .PCD, .PLY, .LAS, .LAZ pointclouds
          • Lyft
          • nuScenes
          • KITTI 360
        • Volumes
          • Supervisely
          • .NRRD, .DCM volumes
          • NIfTI
      • Import sample dataset
      • Import into an existing dataset
      • Import using Team Files
      • Import from Cloud
      • Import using API & SDK
      • Import using agent
    • Migrations
      • Roboflow to Supervisely
      • Labelbox to Supervisely
      • V7 to Supervisely
      • CVAT to Supervisely
    • Export
  • 📂Data Organization
    • Core concepts
    • MLOps Workflow
    • Projects
      • Datasets
      • Definitions
      • Collections
    • Team Files
    • Disk usage & Cleanup
    • Quality Assurance & Statistics
      • Practical applications of statistics
    • Operations with Data
      • Data Filtration
        • How to use advanced filters
      • Pipelines
      • Augmentations
      • Splitting data
      • Converting data
        • Convert to COCO
        • Convert to YOLO
        • Convert to Pascal VOC
    • Data Commander
      • Clone Project Meta
  • 📝Labeling
    • Labeling Toolboxes
      • Images
      • Videos 2.0
      • Videos 3.0
      • 3D Point Clouds
      • DICOM
      • Multiview images
      • Fisheye
    • Labeling Tools
      • Navigation & Selection Tools
      • Point Tool
      • Bounding Box (Rectangle) Tool
      • Polyline Tool
      • Polygon Tool
      • Brush Tool
      • Mask Pen Tool
      • Smart Tool
      • Graph (Keypoints) Tool
      • Frame-based tagging
    • Labeling Jobs
      • Labeling Queues
      • Labeling Consensus
      • Labeling Statistics
    • Labeling with AI-Assistance
  • 🤝Collaboration
    • Admin panel
      • Users management
      • Teams management
      • Server disk usage
      • Server trash bin
      • Server cleanup
      • Server stats and errors
    • Teams & workspaces
    • Members
    • Issues
    • Guides & exams
    • Activity log
    • Sharing
  • 🖥️Agents
    • Installation
      • Linux
      • Windows
      • AMI AWS
      • Kubernetes
    • How agents work
    • Restart and delete agents
    • Status and monitoring
    • Storage and cleanup
    • Integration with Docker
  • 🔮Neural Networks
    • Overview
    • Inference & Deployment
      • Overview
      • Supervisely Serving Apps
      • Deploy & Predict with Supervisely SDK
      • Using trained models outside of Supervisely
    • Model Evaluation Benchmark
      • Object Detection
      • Instance Segmentation
      • Semantic Segmentation
      • Custom Benchmark Integration
    • Custom Model Integration
      • Overview
      • Custom Inference
      • Custom Training
    • Legacy
      • Starting with Neural Networks
      • Train custom Neural Networks
      • Run pre-trained models
  • 👔Enterprise Edition
    • Get Supervisely
      • Installation
      • Post-installation
      • Upgrade
      • License Update
    • Kubernetes
      • Overview
      • Installation
      • Connect cluster
    • Advanced Tuning
      • HTTPS
      • Remote Storage
      • Single Sign-On (SSO)
      • CDN
      • Notifications
      • Moving Instance
      • Generating Troubleshoot Archive
      • Storage Cleanup
      • Private Apps
      • Data Folder
      • Firewall
      • HTTP Proxy
      • Offline usage
      • Multi-disk usage
      • Managed Postgres
      • Scalability Tuning
  • 🔧Customization and Integration
    • Supervisely .JSON Format
      • Project Structure
      • Project Meta: Classes, Tags, Settings
      • Tags
      • Objects
      • Single-Image Annotation
      • Single-Video Annotation
      • Point Cloud Episodes
      • Volumes Annotation
    • Developer Portal
    • SDK
    • API
  • 💡Resources
    • Changelog
    • GitHub
    • Blog
    • Ecosystem
Powered by GitBook
On this page
  • Change the default password
  • Create new users
  • Configure your instance
  • Server Configuration
  • Default agent options
  • Labeling Settings
  • Authorization Settings
  • Miscellaneous Settings
  • Cloud Credentials
  • HTTPS Configuration
  • Import your own dataset

Was this helpful?

  1. Enterprise Edition
  2. Get Supervisely

Post-installation

PreviousInstallationNextUpgrade

Last updated 5 months ago

Was this helpful?

Change the default password

We strongly recommend you to change the default password. To do it, please click on the user in the bottom left corner, click "Account settings" and navigate to "Change password".

Create new users

By default we create two users: "admin" (to administrate the instance) and "supervisely" (to share demo projects and models in Explore).

We strongly advice you to keep admin account clean from models and projects and create separate teams and users for security reasons - if you would perform all the work in admin's team you may accidentally end up with overpopulated team with full access to everything.

Click on the "Members" in the bottom left corner. Here you can manage existing users, delete them, assign roles, login under their accounts and create new ones.

Click "Invite" to create a new user. We will automatically create a new team for that user and populate "Apps" section with default apps, marked as "Seed" (i.e. "Import / Images").

Configure your instance

A good idea would be to check the "Instance Settings" page located in the admin's user menu. You will find tons of options you might like to configure, for example, enable HTTPS support or disable signup page:

Server Configuration

The Server Configuration section includes the necessary settings for the proper functioning of a server instance. The key components are:

  • Core Instance Settings — Critical parameters required for the Supervisely instance. Edit with extreme caution, as incorrect values may bring the instance down, requiring manual .env file adjustments.

  • Server Address — The public or local network address of the server where Supervisely is deployed. This address must be accessible by the machines running agents. Note: localhost is not a valid option here.

  • Server Port — The port used by Supervisely, with defaults of HTTP (80) and HTTPS (443) if HTTPS is configured. This can be changed if another application uses the same ports or if a reverse-proxy is configured. Ensure that ports 80 and 443 are enabled in the firewall or AWS security group.

  • CDN Domain — The network address of the server where Supervisely stores data. It should be publicly accessible or accessible within the local network.

  • Data Folder — The folder where Supervisely stores temporary and, if remote storage is not configured, permanent files. If this location is changed, existing files need to be moved to the new location. Avoid setting it to a network share (NFS or SMB), as this significantly impacts performance.

  • Disable Plugins — A flag to disable plugins. The default is set to OFF.

  • Enable Apps Background Updates — Enables background updates for applications. If disabled, applications are only updated when the instance itself is upgraded.

  • Public API Pagination Limit — Sets the number of items returned by the Public API per page. The default value is 500.

  • Docker Compose Project — The Docker Compose COMPOSE_PROJECT_NAME variable. Ensure it is unique across your server.

  • Postgres Memory — The shared memory size allocated for Postgres.

Configuring automatic launch of system applications

To setup system applications to start automatically with the instance, you can add their configuration in the settings file. Use the following format:

{
  // application slug
  "supervisely-ecosystem/render-previews-app": [
    // Each object in the array represents a separate session of the application
    {
      "isShared": true,                 // (optional) Default is false. If true, the application will be shared across the entire instance
      "nodeId": null,                   // Agent ID. You can specify a specific agent to run the application
      "skipVersionUpdates": false,      // (optional) Default is false. If true, disables automatic application restarts to newer versions
      "state": {}                       // (optional) Application launch parameters. You can pass settings here that are usually filled in the modal window during launch
    },
    {
      "nodeId": 1                       // Example of a second session of the same application
    }
  ]
}

Field Explanations:

  • isShared: Makes the application accessible across the entire instance.

  • nodeId: Specifies the agent ID for running the application. Leave it as null to assign a random agent.

  • skipVersionUpdates: Disables automatic restart of the application to a newer version.

  • state: Parameters for launching the application, similar to those filled out when launching through the interface.

Example

To add the "Render Previews" application with auto-launch and two sessions on the instance, use the following configuration:

{
  "supervisely-ecosystem/render-previews-app": [
    {
      "isShared": true,
      "nodeId": null,
      "skipVersionUpdates": false,
      "state": {}
    },
    {
      "nodeId": 1
    }
  ]
}

Default agent options

The Default Agent Options define the configuration and behavior of agents when they are deployed for the first time. These settings will not affect agents that have already been deployed; if you want changes to apply to an existing agent, you need to re-deploy it from the Cluster page using the "Instructions" button.

Here’s an overview of each default option:


Environment Settings

Environment variables are passed to agents automatically during deployment. These variables can influence how the agent behaves and interacts with the system.


CA Certificates

Manage certificates for secure connections. Ensure that the agent can communicate with Supervisely over HTTPS if certificates are required.


Stateless Mode

  • Description: In this mode, agents do not store cached data to the disk, which helps conserve disk space.

  • Default Value: OFF

  • Use Case: Enable when running in environments with limited storage space or when caching is not required.


Enable Nvidia Runtime

  • Description: Activates GPU support for agents, which is necessary for tasks involving neural networks.

  • Default Value: ON

  • Use Case: Essential for tasks requiring high computational power, such as training or running deep learning models.


Additional Docker Registry

  • Description: Specifies a private Docker registry to pull custom plugins or applications.

  • Use Case: Use this when your organization has proprietary plugins stored in a private Docker registry.


Additional Docker Login

  • Description: Username used to authenticate with the additional Docker registry.

  • Example: lisa


Additional Docker Password

  • Description: Password for authenticating with the additional Docker registry.

  • Note: Passwords are masked (e.g., ••••••••••••••••••) for security.


Host Folder

  • Description: A folder where the agent keeps cache files. This is useful for temporary storage during tasks like imports or training.

  • Use Case: Ensure the specified folder has sufficient disk space.


Cleanup Failed Import Tasks

  • Description: The time after which the system will automatically clean up failed import tasks.

  • Default Value: 1d (1 day)

  • Format: Time should be specified in formats like "12h" (12 hours) or "1d" (1 day).


Cleanup Completed Import Tasks

  • Description: The time after which the system will automatically clean up completed import tasks.

  • Default Value: 1h (1 hour)

  • Format: Time should be specified in formats like "12h" (12 hours) or "1d" (1 day).


Labeling Settings

The Labeling Settings section controls various aspects of the annotation process to enhance the labeling experience. Below is a detailed explanation of each option:

Annotation Image Quality

  • Description: Defines the JPEG compression level for images displayed in labeling tools.

  • Default Value: 100 (highest quality).

  • Setting to 0: Ensures that the original image is always used, which may be necessary for detailed or high-precision annotation tasks.

  • Use Case: Adjust to a lower value (e.g., 70-80) for faster loading times when working with large datasets or slower network connections.


Labeling Idle Timeout (seconds)

  • Description: Determines how often the system checks for user activity (e.g., cursor movement) during labeling.

  • Default Value: 30 seconds.

  • Use Case: Helps track whether the labeler is actively working or idle, which is useful for team management and activity monitoring.


Track Frames Limit

  • Description: Specifies the maximum number of frames available per track in video labeling.

  • Default Value: 500 frames.

  • Use Case: This limit ensures optimal performance and responsiveness when working with long videos or dense tracks. Adjust the limit for specific projects if needed.


Default Image Preview Quality

  • Description: Controls the default JPEG quality for previewing images during labeling.

  • Default Value: 100 (highest quality).

  • Use Case: Lowering the quality can speed up image loading for previews in large projects, especially when detailed analysis isn’t required.


Default Image Labeling Toolbox

  • Description: Sets the default toolbox configuration for labeling images.

  • Default Value: Any (no specific toolbox is enforced).

  • Use Case: Choose a specific toolbox to streamline the labeling workflow for certain types of image projects.


Default Video Labeling Toolbox

  • Description: Sets the default toolbox configuration for labeling videos.

  • Default Value: Not explicitly defined.

  • Use Case: Specify a preferred video toolbox to ensure consistency in annotation workflows for video projects.


Authorization Settings

The Authorization Settings section controls who can log in to Supervisely and how authentication is managed. This includes support for external identity providers, password policies, and user access restrictions. Here's a detailed breakdown of the settings:


OpenID Authorization

  • Description: Allows integration with an OpenID provider for single sign-on (SSO) authentication.

  • Default Status: Disabled (No OpenID credentials provided).

  • Use Case: Configure OpenID to allow users to log in using third-party identity providers like Google or Azure AD.


LDAP Authorization

LDAP (Lightweight Directory Access Protocol) settings enable authentication using an organization’s directory service.

  • Server URL:

    • The URL of the LDAP server.

    • Example: ldap://example:389

    • Use Case: Needed for connecting Supervisely to your LDAP server.

  • Bind DN:

    • The Distinguished Name (DN) of the account used to authenticate against the LDAP directory.

    • Example: cn=root

  • DN Credentials:

    • Password associated with the Bind DN.

    • Example: secret

  • Search Filter:

    • Specifies how to locate users in the LDAP directory.

    • Example: (uid={{username}})

    • Use Case: Use placeholders like {{username}} to dynamically query the directory for the logging-in user.

  • Search Base:

    • Defines the root point in the LDAP directory tree where searches begin.

    • Example: dc=example, dc=org


Use Strong Password

  • Description: Enforces strong passwords for built-in Supervisely accounts.

  • Default Status: OFF (disabled).

  • Strong Password Min Length:

    • Minimum password length required if strong passwords are enabled.

    • Default Value: 10 characters.

  • Use Case: Enable for enhanced security to reduce the risk of weak passwords.


Disable Built-in Logins

  • Description: Disables Supervisely’s native login system to allow only LDAP or OpenID authentication.

  • Default Status: OFF (disabled).

  • Use Case: Enable if you want to centralize login management through LDAP or OpenID only.


Enable Reservation of Seats by Team

  • Description: Changes how reserved seats are allocated, from individual users to entire teams.

  • Default Status: OFF (disabled).

  • Use Case: Enable this option to manage user seat reservations on a team basis, particularly useful for large organizations.


Authenticate Only Existing Users

  • Description: Controls whether new accounts are automatically created during SSO login.

  • Default Status: OFF (new accounts are auto-created).

  • Use Case: Enable this option to restrict login access to pre-approved users, requiring manual user account setup for Supervisely.


Token Lifetime

  • Description: Determines how long login tokens remain valid before requiring re-authentication.

  • Default Value: 7 days.

  • Format: Specify in formats like "12h" (12 hours) or "1d" (1 day).

  • Use Case: Shorten token duration for enhanced security or extend for convenience in long-running sessions.


Miscellaneous Settings

The Miscellaneous Settings category includes options that don’t fit into specific categories but provide important functionality for security, notifications, and file upload verification. Here’s an explanation of each setting:


Disable Python Scripts & Notebooks

  • Description: Disables the functionality to run Python scripts and Jupyter notebooks within Supervisely.

  • Default Status: ON (disabled).

  • Use Case: Enable this setting to enhance security by preventing execution of potentially harmful or unauthorized Python scripts and notebooks, especially in shared or sensitive environments.


Show Notifications

  • Description: Toggles system notifications for various events, such as:

    • "New job assigned": Alerts users when a new task or job is assigned to them.

    • "New labeling exam assigned": Notifies labelers about assigned exams.

  • Default Status: ON (enabled).

  • Use Case: Keep this enabled to ensure users are aware of important updates and tasks. Disable it if you prefer a distraction-free environment or use external notification systems.


Uploading Verification URL

  • Description: Sends an HTTP request with the content of each file being uploaded. The server hosting the provided URL must return an HTTP status 200 OK to allow the file to be uploaded.

  • Use Case: This setting is useful for implementing additional verification or validation steps during the upload process, such as:

    • Checking file type, size, or content for compliance with organizational rules.

    • Blocking unwanted or unverified files from being uploaded to Supervisely.


Cloud Credentials

The Cloud Credentials section is where you manage access to cloud storage services (AWS, Google Cloud, Azure, or server file systems) to facilitate remote data import into Supervisely. Here's an overview of this functionality:


Purpose of Cloud Credentials

Cloud credentials allow Supervisely to connect to external cloud services or remote file systems securely. Once set up, they enable seamless import of datasets or files directly from supported cloud providers or your server file system without requiring manual uploads.


Key Features

  1. Supported Providers:

    • AWS (Amazon Web Services): Access S3 buckets for importing data stored in Amazon’s cloud.

    • Google Cloud: Connect to Google Cloud Storage buckets.

    • Azure: Access data stored in Microsoft Azure Storage.

    • Server File System: For remote imports from file systems on network servers or similar setups.

  2. Flexibility:

    • No credentials are mandatory unless you need to access data stored remotely.

    • Supports various use cases, such as:

      • Centralized storage of datasets for collaborative work.

      • Importing large files directly from the cloud without local downloads.


How to Configure Cloud Credentials

  1. AWS Example:

    • Add the following details:

      • Access Key ID: Your AWS access key.

      • Secret Access Key: Your AWS secret key.

      • Region: The region where your S3 bucket is hosted (e.g., us-east-1).

      • Bucket Name: The name of the S3 bucket you want to access.

  2. Google Cloud Example:

    • Provide:

      • Service Account Key JSON: Upload the JSON file containing credentials for the Google Cloud service account.

  3. Azure Example:

    • Add:

      • Storage Account Name: The name of your Azure Storage account.

      • Access Key: The key to authenticate access to Azure Storage.

  4. Server File System Example:

    • Specify:

      • Server Address: The IP or hostname of the server.

      • Path: The directory path to the folder containing the files.

      • Login Credentials: User account details, if required.


Use Case Scenarios

  • Large Dataset Imports:

    • Instead of uploading files manually, link your cloud storage to Supervisely and import data directly.

  • Collaboration:

    • Teams working across different locations can upload datasets to a shared cloud storage for easy access and import.

  • Automated Workflows:

    • Use cloud storage as a central repository for data pipelines, where files are automatically synced and imported into Supervisely.


What Happens If No Credentials Are Provided?

  • By default, Supervisely cannot access any cloud storage.

  • All uploads must be done manually using local files.

  • To enable remote imports, credentials must be added for the desired provider.


HTTPS Configuration

The HTTPS section in Supervisely allows you to configure secure communication for your server using HTTP over SSL/TLS. Here's an explanation of the available options:


Disabled (Default)

  • Description: HTTPS is turned off, and the server communicates over regular HTTP.

  • Use Case: Suitable for private networks where security is not a concern or when testing in a controlled environment.


Let’s Encrypt

  • Description: Automatically acquires a free SSL/TLS certificate from Let’s Encrypt.

  • Requirements:

    • A publicly accessible server address is required.

    • Supervisely will handle certificate renewal automatically.

  • Use Case: Ideal for servers exposed to the public internet that need a secure connection with minimal setup effort.


Custom Certificates

  • Description: Allows you to provide your own SSL/TLS certificates, using .pem files for configuration. This option works best for private networks or custom setups.

  • Fields:

    • Path to fullchain.pem file: Specify the path to the file containing the full certificate chain (including all intermediate and root certificates).

    • Path to privkey.pem file: Specify the path to the file containing the private key associated with the certificate.

  • Use Case:

    • You are operating in a private network where self-signed certificates are used.

    • Your organization provides certificates through a custom Certificate Authority (CA).


During the installation we automatically deploy a default "Main Node" agent via supervisely deploy-agent so you don't have to do anything. But, if you don't have a GPU device on your machine with Supervisely, you may want to deploy an additional agent on AWS or some computer with a videocard.

Go to "Cluster" page and click Add agent. Execute command from popup window on your server in terminal (you can use the same machine where Supervisely is deployed).

The status of deployed agent should change from "Waiting" to "Running". Now you can start using all features of Supervisely!

Choose "Share with all users" from agent context menu if you want any user of your instance to perform tasks on it.

If you see at Cluster page that your Main Node is in Waiting status, it means that it could not be connected to Supervisely. Please check SERVER_ADDRESS variable in your .env file. Agent should be able to make outbound connections to that IP or Host. As a quick solution you can find your docker0 ip address that act as locahost for Docker: run ip addr list docker0 and use it in SERVER_ADDRESS. It should look like 172.17.0.1 or something. Run supervisely deploy-agent to apply your changes. Main Node at Cluster page should change status to "Running"

Import your own dataset

Go to the Import page, make sure preset "Supervisely / Images" is selected and drag-and-drop a folder with some images. Enter a name for the new project, wait till the files are uploaded and click "Import". New import task has been started and you will see your new project on the Projects page after it's finished.

If you see message like above at Import page, there could be two reasons: 1). You are logged-in as "admin" user. We do not automatically add any apps to admin team. You can do it manually from Explore section, but we suggest to create new user instead. 2). Another reason is that you don't have active agents at Cluster page. Check "Main Node is in Waiting status" section above.

— Configures the automatic start of applications on the instance, enabling required applications to launch automatically upon system startup.

Every kind of potentially long operation (like Import or Training) is performed on so-called . Before you can use Supervisely, you should deploy at least one.

👔
agents
Applications Autostart Settings