(408) 943-4100               V   Commercial Support

S3

  4 minute read.

Last Modified 2021-04-02 09:32 EDT

This tutorial describes how to start a local S3 service on TrueNAS and connect to it from a networked client system with the Minio Browser, s3cmd, and S3 Browser.

S3 is an object storage protocol used by many major cloud providers including Amazon Web Services™. On TrueNAS, the service is another way to store files, and can be viewed with a web browser. Because S3 is the de facto standard for cloud-based storage, setting up an S3 service allows organizations or online application developers to use TrueNAS to replace or archive expensive cloud storage.

Setting up the S3 service

Go to the Services page and find the S3 entry.

ServicesS3Enable

Click the toggle to start or stop the service, depending on the current state. Setting Start Automatically starts the service when TrueNAS boots.

Click the to configure the service.

ServicesS3Options

S3 Configuration Options

NameDescription
IP AddressEnter the IP address that runs the S3 service. 0.0.0.0 tells the server to listen on all addresses.
PortEnter the TCP port that provides the S3 service.
Access KeyEnter the S3 access ID. See Access keys for more information.
Secret KeyEnter the S3 secret access key. See Access keys for more information.
DiskBrowse to a directory to define the path for the S3 filesystem.
Enable BrowserSet to enable the web user interface for the S3 service. Access the minio web interface by entering the IP address and port number separated by a colon in the browser address bar. Example: 192.168.1.0:9000.
CertificateUse an SSL [certificate]({{< relref “Certificates.md” >}}) created or imported in System > Certificates for secure S3 connections.

The IP address 0.0.0.0 allows the service to listen on any IPv4 address. :: allows the same for any IPv6 address. Select the TrueNAS IP address to constrain it to a specific network.

Select a clean dataset. Files are managed by Minio as objects, and can NOT be mixed with other dataset files. New datasets can be created by going to Storage > Pools and clicking > Add Dataset.

Configure the rest of the options as needed in your environment. Make sure to start the service after saving any changes.

Minio Connections

When Enable Browser is set, test access to the Minio Browser by opening a web browser and typing the TrueNAS IP address with the TCP port. The chosen Port must be allowed through the network firewall to permit bucket creation and file uploads. For example: https://192.168.0.3:9000.

There are different methods for connecting to and using Minio:

Linux or macOS users must have the s3cmd service installed before beginning this setup. On Windows, users can also refer to S3Express for a similar command line experience.

Ubuntu or other Linux distributions can access the configuration by running s3cmd --configure to walk through important settings.

Enter the specified access key and the secret key. Under the S3 Endpoint, enter the TrueNAS IP address followed by TCP port, and reply N to the DNS-style bucket+hostname.

Save the file. On Linux, the default is in the home directory ~/.s3cfg.

If the connection has any issues, open .s3cfg again to troubleshoot. In Ubuntu, use nano .s3cfg or vi .s3cfg or gedit .s3cfg depending on the preferred text editor. For other operating systems, .s3cfg file location and editing tools may vary.

Scroll down to the host_bucket area and make sure the %(bucket)s. portion is removed and the address points to the IP_address:TCP_port for the system.

Correct Example

host_base = `192.168.123.207:9000`
host_bucket = `192.168.123.207:9000`

Incorrect Example

host_base = `192.168.123.207`
host_bucket = `%(bucket)s.192.168.123.207`

Poll the buckets using s3cmd ls to see the buckets created with the Minio Browser.

For more information on using Minio with s3cmd, see https://docs.minio.io/docs/s3cmd-with-minio.html and https://s3tools.org/s3cmd.

On Windows PCs, the S3 Browser is another convenient way to connect to the Minio S3 on a TrueNAS system.

To set it up, first install the S3 Browser.

After installation completes, add a new account.

AmazonS3NewAccount

In the settings, select S3 Compatible Storage as the Account Type, then enter the Minio access point similar to the s3cmd setup (TrueNAS_IP_address:9000 or other port if set differently). Select the SSL settings appropriate for the particular setup. The default assumes SSL in S3 Browser, but for a LAN attached session, this may or may not have been set.

AmazonS3EditAccount

It is possible to access, create new buckets, or upload files to created buckets.

AmazonS3Browser