The purpose of this guide is to show you how to harness the full potential of Bunnyshell. To that end, we'll be diving into a simple project involving a predefined application, using some of the most important Bunnyshell features and discussing our platform's functionality.

What you'll learn

  • How to create an Environment in Bunnyshell, starting from a docker-compose.yaml, the one used for local development
  • How to deploy your Environment
  • How to create and use Ephemeral Environments
  • How to use Remote Development
  • How to debug frequent issues
  • How to integrate and extend Bunnyshell using the CLI tool and our Public API
  • A number of other useful features that Bunnyshell provides


The Demo Repository

As part of this guide, we crafted a simple repository for a demo application, named Bunnyshell Books.
You can choose to run this on local, or directly in Bunnyshell.
To run on local you just need to:
  • Fork & clone the repository
  • Run docker-compose up in the root of the project
  • Add 1 line in the /etc/hosts file (see README.md)
In order to deploy it in Bunnyshell, you just need to:
  • Create an environment and add an application
  • Select the repository and indicate the path to the docker-compose.yamlfile
  • Deploy the Environment
See how it will look like when deployed in Kubernetes.

The Demo Application

Bunnyshell Books, our demo Application, is composed of:
  • The React frontend
  • The backend (API made with Nodejs and Express)
  • The Postgres database
The Bunnyshell Books demo app is inspired by this tutorial.
The original repositories are located here.
The application is built to allow easy local development and uses a docker-compose.yaml file, stored in the root of the repo. Each component is located in its own folder (an approach commonly referred to as monorepo).
Please note that the application is as simple as possible, to allow for a quick understanding of how it works and ease focusing on how Bunnyshell works. It is by no means production ready, with concerns such as code architecture and error handling being largely ignored.
Because Bunnyshell handles the certificate for HTTPS, the current setup skips certificate generation and configuration.

Enhancing the application

Using Terraform, we'll expand the functionality of the app by adding images for books. The images will be generated (to simplify app changes) and will be uploaded into an S3 bucket which will be created using a Terraform Module for AWS S3.
Using a Helm Chart, a Redis component will be added, to allow caching capabilities.
You can dive deeper on technical features and explore our Terraform and Helm Charts integrations.
Copy link
On this page
What you'll learn
The Demo Repository
The Demo Application
Enhancing the application