Blog / Features
You can now host Canonic on your own infrastructure. Deploy locally or inside your own VPN as a simple Docker image.
We are big believers in data security. It's essential to keep your databases and internal services inaccessible from the public web. Most of our customers run their databases inside a VPN, with heavily restricted network access. When building on platforms like Canonic, it becomes tricky to securely connect to these databases and services.
No more! You can now self-host Canonic on your own infrastructure. It's available as a simple docker image that you can get up and running in just a few minutes. It runs completely independently from our hosted offering.
You can either use Canonic as a cloud offering by building and deploying your projects on Canonic's infrastructure, or self-host. But why go through all the effort of deploying a service on your own infrastructure?
Self-hosting enables customers to fully control their data, ensuring that sensitive data stays inside their own private, safe environment. For companies handling sensitive consumer data or organizations with stringent data protection regulations, this is especially crucial.
Users that self-host Canonic applications have the freedom to design their hosting environment to suit their needs. To optimize the performance of their application, they can link with existing systems, set up security controls, and fine-tune performance parameters.
Canonic's self-hosted version doesn't communicate with Canonic apart from a simple license check call. All updates must be manually accepted, keeping all the control with you. Your applications will run as-is independent of Canonic Cloud's uptime.
Let's dive into self-hosting Canonic. You can follow the steps in this tutorial in your local environment. But to host it, you would need a t3.medium (aws)
equivalent instance.
To make things incredibly simple to host, we've packed all of Canonic into a single docker image. Don't have already have databases? No worries, the docker image comes packed with everything you need. Although all of it is optional, allowing you to scale when needed.
Let's create a folder to manage our environment.
mkdir canonic
cd canonic
Now, let's create a .env
file to store our license key and other parameters. The license key can be obtained from your profile settings on the cloud version of Canonic. We use these credentials to validate your subscription plan.
Self-hosted Canonic's features and limits are based on the plan you've selected.
CANONIC_LICENSE_KEY="<YOUR_LICENSE_KEY>"
APP_URL="<URL_WHERE_THIS_APP_WILL_BE_HOSTED>"
Now let's run the docker image. We pass in the env file we just created along with some volumes to persist data. Canonic runs on port 80
inside the docker container. We're mapping it to 3000
but you can map it to whatever port you would like the app to be accessible on.
docker run \
-it \
--platform=linux/amd64 \
-v mongodbdata:/data/db \
-v candata:/projects \
-v dynamodb:/dynamodb \
-p 3000:80 \
--env-file .env \
trycanonic/canonic
Once you run the command, it takes a few seconds for the application to boot up. Once it's ready you can visit localhost:3000
. You'll be presented with the signup screen.
At this point, in behavior, your self-hosted copy should behave exactly like the cloud version of the platform. Feel free to signup and get started! The number of collaborators and users would be limited by the pricing plan you pick.
For a more detailed overview, check out the documentation.
Canonic's self-hosting features provide a special fusion of infrastructure control with no-code creation. Canonic provides its users with data protection, control, and flexibility by enabling them to deploy and host their applications on their own infrastructure.
Canonic's self-hosting opens up a world of possibilities, whether you're an entrepreneur creating a startup, a developer prototyping a project, or an organization needing data control.
Start using canonic's fullstack solution to build internal tools for free