How to share and collaborate object storage from DigitalOcean Cloud

Share and collaborate files/folders of your existing DigitalOcean object storage with internal and external users such as customers, partners, employees, etc with fine access control. Easy integration with any of your existing identity providers such as Active Directory, Google Workspace, IAM Identity Center, KeyClock, etc.
The FREE edition supports authentication such as Basic, Form and OTP  while sharing files.

In this document, we will configure NirvaShare to create a simple form based authentication on top of Linode Object Storage to share with external users. Please follow this documentation to proceed.

Share and collaborate files/folders of your existing E2E object storage with internal and external users such as customers, partners, employees, etc with fine access control. Easy integration with any of your existing identity providers such as Active Directory, Google Workspace, IAM Identity Center, KeyClock, etc.
The FREE edition supports authentication such as Basic, Form and OTP  while sharing files.

Installation

Minimum system requirement – 2 GB RAM with 20 GB disk space.

One-click installation is available in the DigitalOcean cloud platform.

After creating a NirvaShare One-Click Droplet, wait for 5 – 8 minutes for the installation to complete. Access the application using droplet IP address as http://(droplet IP address):8080 in a web browser.

If you are able to see a login screen, it indicates the installation is complete.

Storage Keys

As a prerequisite, you will require an access key and secret key obtained with DigitalOcean for storage spaces to proceed with further configuration. To generate new keys, please login to your console cloud.digitalocean.com and follow the below steps.

  • Under the Spaces left tab menu and click on Manage Keys at the right top corner.
  • Under the Spaces Access Keys section, click on Generate New Key and provide any name.
  • This will generate a new Access key and Secret keys, please copy this and keep it aside,  as it will be required during storage configuration in NirvaShare Admin Console.
  • For more information regarding access keys on DigitalOcean, please check DigitalOcean Documentation

Configuration

With the installation being ready, having both access and secret keys, the next step is to configure NirvaShare to point to your DigitalOcean Spaces Storage and share file/folder using a Form-based authentication.

Assuming, deployment was successful, please open the Admin Console URL  -> http://(droplet ip):8080

Login to admin console with default credentials as admin/admin . It is advisable to change the password after your first login. To change the password, please refer to the documentation Change Password. You can also create more than one admin user under Delegated Admin tab given full access to reset another admin user password.
To reset forgotten password refer to Password Reset.

NOTE: Please note that the default in-built user store does not support password reset functionality for Admin Console. For a proper production deployment, you can integrate with any of your identity stores such as keycloak, Active Directory, Okta SSO, etc for better password management policy.

  • After login into the application, click on Settings at the left menu tab.
  • Click on edit File Storage, select a storage type as DigitalOcean Spaces and provide your storage Access Key and Secret Key.
  • For regions, specify fra1, sgp1, nyc3, ams3, sfo3
  • Save it.
  • Go to the next section, edit User Application URL and provide the user application URL as http://(instance droplet ip):8081, and save it.
    Note – During production use, a proper domain with HTTPS is required here.
  • Other settings such as email, audit, etc can be configured later and is optional for now. For more detail, refer to Settings

File Sharing with Form based Authentication

To Share a folder with form based Authentication, please refer to Setup Form based Authentication.

Leave a Comment

Your email address will not be published. Required fields are marked *