Self-hosting Appsmith means hosting and managing Appsmith directly on your server rather than relying on third-party service providers. Self-hosting is often seen as more secure and private, as you have complete control over your data and how it's used.
Cloud-hosted version is available over the internet, which makes it easy for users to sign up and start building apps. It's a perfect solution for users who don't have their infrastructure set up. You can sign up on appsmith.com and follow the Quick start guide to get started.
You can choose to deploy Appsmith on your own infrastructure. It's often useful when you want to plug it into existing infrastructure without the need to maintain a different setup. It enables you to take advantage of what your infrastructure has to offer and extend it to Appsmith.
Deploying Appsmith on your infrastructure offers the following benefits:
You get to keep your data on-premise. It also ensures that your API keys or security credentials would never leave your server and have the same security rules applied to any other app. The applications you build would be on your infrastructure, inside your corporate networks. You may choose to host it on internal networks behind a firewall for a defined set of users. You may also configure your custom domain and extend the security policies to Appsmith installation.
Appsmith provides a secured environment for cloud-hosted and self-hosted instances by encrypting sensitive information like database credentials using AES 256 Encryption. For self-hosted instances, it also supports setting up SSL certificates via LetsEncrypt during installation.
A self-hosted instance could allow you to connect with a database running on the same machine/intranet and use it to build apps.
Using a cloud-hosted instance would require the ability to access the internal databases. For example, you would be required to use tunneling services like ngrok to expose your internal database to the internet or whitelist Appsmith cloud's external IP addresses to build apps.
Appsmith uses MongoDB to store app data and Redis to store session information and non-critical caches. You may wish to integrate with custom MongoDB or Redis servers hosted on your infrastructure. For this, you would have to modify the configuration of environment variables and point them to the custom MongoDB/Redis instances.
You can configure more flexible updates, schedules, and other maintenance activities for a self-hosted instance. You can follow the steps to configure maintenance window and schedule auto updates.
The self-hosted version isn't air-gapped and reaches out to the Appsmith cloud. For example, to fetch release notes about product updates. It helps you stay updated with the latest releases. If you would like a fully air-gapped deployment, please write to firstname.lastname@example.org.
You can choose from various popular platforms to deploy Appsmith, like Docker, Kubernetes, AWS, Digital Ocean, and more.
🔔 Appsmith officially supports docker-based installations.
It's simple and quick to deploy Appsmith. Please ensure that your system has the following recommended configuration for optimal performance before moving forward with the deployment:
- Two virtual CPUs [vCPU]
- A four GB of memory
On Amazon Web Services(AWS), a t3.medium instance would be ideal for installing Appsmith.
With a variety of deployment options, choose the one that best suits you:
You can configure and manage the self-hosted instance with the help of a Super Admin user. There are out-of-the-box integrations like:
- Custom authentication to onboard your existing user base
- Email to invite users and notify admins
- Sign-up restriction to turn off signing up using the signup form or OAuth buttons, ensuring that only users you invite can signup
And more that can be configured.
Deploying Appsmith as a self-hosted instance has its own perks - having your data and apps hosted on your infrastructure. It's also easier to manage things such as [backups](Link to Appsmithctl page) and scaling that follow the rules across deployed instances. Get started by following the [installation guides](link to the installation guide) that work for you.