Using Amazon S3 to Host HTML Archives of Your Notes Databases

By Larry Barker

If you’re using Teamstudio Export to create HTML-based archives of your old Lotus Notes databases, you’ve undoubtedly put some thought into how you are going to host those archives, to make them available for users to browse and search.

There are all sorts of platforms and hosting options out there available to you.  Many of our clients are migrating their archives to Microsoft SharePoint.  But there are plenty of other choices you may choose.  You may not need the complexity of a SharePoint migration and simply want somewhere to easily host your archives.  Self-hosting is always an option on any of the standard web server platforms, but many of these options still come with a small resource tax in the form of administrative overhead supporting either the platform and/or underlying infrastructure. For some projects, serverless options might be an attractive notion, depending of course on your requirements.

One such serverless option open to you is to host your Domino application archives on a static AWS S3 hosted site. Maybe you still have client-facing FAQs, product databases or any knowledge-based content for that matter that still holds value to your clients, vendors, or staff. 

In this article, I’ll walk you through an example of how to host an HTML archive of a Notes database on S3. There are a few approaches you can take in terms of securing the content, but to keep things simple for this example, we will take a Teamstudio Export archive and host it from an AWS S3 Publicly available bucket.

Let’s dive in!

Creating the AWS S3 Bucket

If you have an existing AWS account of course you can use that, or if not you will need to sign-up for a free tier account to get going.  Once ready, simply browse to the AWS S3 Administrative console, locate the S3 Admin console within your AWS tenant, and select the Create Bucket button.  This is going to create the bucket that will be the new home for the contents of your Export HTML archive.


Next, let’s give our archive’s new home a name.  Enter in a unique Bucket name and select the appropriate region.

By default, all buckets do not allow public access.  For our site, we will need to uncheck the Block All Public Access option and acknowledge the AWS warning/notification.  There are a few options for securing your site that I will reference later for additional reading. But for the purposes of our client-facing example, this archive will be publicly available.

Lastly, select Create Bucket at the bottom of the configuration page, leaving all other settings as they are for now.

Migrating Your Export HTML Archive Content

We have a few options available, but in this example we will simply use the Web UI within the AWS S3 Console to upload our content.

First, find your desired Export HTML site contents located within the folder you specified in Teamstudio Export as the target for your HTML sites.  You will want to upload the entire contents of the site package to your new S3 bucket by selecting all files within the ‘yourapplication.tse’ folder to your S3 bucket.

As an example, I will be uploading all the contents from our SampleDocs app to the S3 bucket from our HTML export target folder. For reference, this is the folder that you configure within Teamstudio Export as the location to write all HTML converted archives.

Your application HTML packaged folder should look something like this:

Next, open up your new S3 bucket from the AWS S3 Admin Console and select Upload to select the contents of your local .tse archive folder, and initiate the transfer once the selection is completed by again clicking the final Upload button at the bottom of the page.

You will then see your site contents and current transfer status update as it progresses.

If you have larger applications with a significant amount of data notes that will be hosted within your archive you may prefer to use the AWS command line interface to recursively copy from your local file structure to your bucket with something like:

aws s3 cp yourSubFolder s3://mybucket/ --recursive

Or, refer to the official AWS documentation on the AWS S3 ‘cp’ command:  https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html

Enabling Static Website Hosting

Our next step will be to tell AWS we want to use this bucket to host the contents of the archive we uploaded in the previous step:

  1. Open your bucket and browse to the ‘Properties’ tab. 

  2. Locate the ‘Static Website Hosting’ option at the bottom of the page and select Edit.

  3. Enable the Website hosting option to bring up the configurable options.

  4. Specify the archive’s ‘index.html’ file as the index document and click save.

Once enabled, you will now notice the Bucket Endpoint website URL at the bottom of the properties tab where you previously enabled the static website hosting option. This is the new address for your HTML archive.

Creating a Bucket Policy

Our last step to make the archive available is to add a general S3 bucket policy to your hosted archive’s S3 Bucket.  Once again access your new bucket:

  1. Under Buckets, choose the name of your bucket.

  2. Choose Permissions.

  3. Under Bucket Policy, choose Edit.

  4. To grant read access for your archive, copy the following bucket policy, and paste it in the Bucket policy editor.
    {

    "Version": "2012-10-17",

    "Statement": [

    {

    "Sid": "PublicReadGetObject",

    "Effect": "Allow",

    "Principal": "*",

    "Action": [

    "s3:GetObject"

    ],

    "Resource": [

    "arn:aws:s3:::Bucket-Name/*"

    ]

    }

    ]

    }

  5. Update the Resource to your own bucket that you created and named earlier.

  6. Choose Save Changes.  If you see any error messages verify you replaced your bucket name correctly from step 5.

Browsing Your HTML Archive

Congratulations, with all of the above steps completed you should now have a browsable HTML archive of your Exported Domino application being hosted from your new AWS S3 Bucket.

Enter your S3 Buckets endpoint URL into your browser to confirm the archive is functional.  Remember, use the static website URL available from the bottom of the properties tab listed under the ‘Static Website Hosting’ option that you configured earlier.  It will look something like this:  http://yourbucketname.s3-website-us-east-1.amazonaws.com

Additional Resources

Of course, there are other areas you may want to explore but the above will at the very least get you up and running with a publicly available archive based on your exported HCL Domino application.  Other considerations you may want to investigate could include these:

Enabling SSL with CloudFront and automated Deployment via CloudFormation 

Serving of Private Content on AWS S3

Restricting S3 content using origin access identity (OAI)

If you have any questions or want to discuss any aspect of distributing your Export archives, email us at techsupport@teamstudio.com.