App hosting with the Contentful App Framework

Published on June 23, 2021

App Hosting with the App Framework

Subscribe for updates

Build better digital experiences with Contentful updates direct to your inbox.

When you develop an app for Contentful using the App Framework, you create a single-page application that runs inside an iframe and shows up in the Contentful UI. Previously, hosting an app on the App Framework was only possible through third-party solutions. Today, we are announcing an easier method to host your app called app hosting!

App hosting takes the hassle out of finding a hosting provider for your app. We have provided developers with a tool to upload their application in bundles which provides for many great development features.

An app bundle is your single-page application directory. Each bundle should contain at least an index.html file, which will serve as the main entry point for your application to load. A typical bundle’s file tree will look something like this:

Where build is your root directory and, inside it, there is an index.html file, along with any assets such as CSS and JavaScript that would get loaded alongside your index.html file.

While there are many ways to create apps, we provide a quickstart tool, the create-contentful-app, which can get you a jump-start on your app. If you aren’t familiar with building apps, I’d suggest checking out our livestream where Felix and I build the Contentful starter tutorial app.

Now, let’s take a look at the three easy steps to bundling and hosting your own app.

Step 1

If you built your app using the `create-contentful-app` or `create-react-app`, you can simply run

If you built your app using another tool or from scratch, your directory structure will need a minimum of an `index.html` file at the root.

Again, a simple app directory structure would look something like this:

Step 2

Navigate to your app’s AppDefinition found in your organization settings.

Step 3

Toggle the app hosting option found under “Frontend” and drag and drop your build directory into the highlighted area like so:

Toggle app hosting option and drop your build directory in:

That’s it! Your app is now hosted via Contentful. In the Bundles tab, you can check out multiple build versions and revert to an older version of your app in case you need to roll back changes.

Screenshot of bundles

While uploading an app is easy, there are some common errors that could occur:

  • Your app doesn’t have an index.html file in the root of the uploaded bundle.

  • You are uploading a Zip that encapsulates the root directory instead of the content directly. Most of the time, the common fix is to navigate into your root directory, select all your files, and zip it at that level.

  • Your upload succeeds but the app doesn’t load or appear in the UI. This could be caused by an error in your app’s index.html or the JavaScript that it executes. A look at the developer console should provide some hints.

To learn more about the technical details of app hosting, head over to our documentation.

Launching app hosting on Contentful is another step forward in our vision of creating an extensible and cohesive set of tools that connect our projects and our content. If you want to chat about what you’re working on, feel free to ping me on our community Slack where I work with fellow developers as we take steps to make our App Framework more accessible and versatile for everyone.

Subscribe for updates

Build better digital experiences with Contentful updates direct to your inbox.

David Fateh

David Fateh

Software Engineer, Contentful

David Fateh is a software engineer with a penchant for web development. He helped build the Contentful App Framework and now works with developers that want to take advantage of it.

Related articles

Learn React localization with i18next. This guide shows how to set up react i18next for multilingual support, helping you effectively localize your app.
Guides

React localization/ internationalization with i18n

November 27, 2024

Front end as a service (FEaaS) speeds up development and reduces infrastructure costs. Here's what FEaaS is, how it works, and a list of FEaaS platforms.
Guides

Understanding front end as a service (FEaaS)

October 18, 2024

This guide helps you choose between Astro vs Next.js for your project. It compares the features, performance, and learning curve for both JavaScript frameworks.
Guides

Astro vs. Next.js: Features, performance, and use cases compared

December 3, 2024

Contentful Logo 2.5 Dark

Ready to start building?

Put everything you learned into action. Create and publish your content with Contentful — no credit card required.

Get started