From eea7fbbb5ca2baa10bce98711e25caa2f99446f6 Mon Sep 17 00:00:00 2001 From: ShubhamPalriwala Date: Thu, 24 Aug 2023 15:12:38 +0530 Subject: [PATCH] rewrite: hosting/prod page --- .../app/docs/self-hosting/production/page.mdx | 126 +++++++++++++++++- 1 file changed, 121 insertions(+), 5 deletions(-) diff --git a/apps/formbricks-com/app/docs/self-hosting/production/page.mdx b/apps/formbricks-com/app/docs/self-hosting/production/page.mdx index 71c2f266fa..439bb9d966 100644 --- a/apps/formbricks-com/app/docs/self-hosting/production/page.mdx +++ b/apps/formbricks-com/app/docs/self-hosting/production/page.mdx @@ -10,15 +10,15 @@ export const meta = { If you want to quickly set up a production instance of Formbricks on a server running Ubuntu, we've got you covered! This method utilizes a convenient shell script that takes care of everything, including Docker, Postgres DB, and SSL certificate configuration. The shell script will automatically install all the required dependencies and configure your server, making the process a breeze. -## One-click Ubuntu setup with our Shell Script - This is the quickest way to get Formbricks up and running on an Ubuntu server. The shell script will automatically install all the required dependencies and configure your server, making the process a breeze. ### Requirements Before you proceed, make sure you have the following: -- A Linux Ubuntu Virtual Machine deployed with SSH access. +- A **Linux Ubuntu** Virtual Machine deployed with SSH access. + + This only works with an Ubuntu machine so please verify the underlying OS beforehand! - An **A record** set up to connect a custom domain to your instance. Formbricks will **automatically create an SSL certificate** for your domain using Let's Encrypt. @@ -34,20 +34,134 @@ The script will prompt you for the following information: 1. **Overwriting Docker GPG Keys**: If Docker GPG keys already exist, the script will ask if you want to overwrite them. + + + ```bash + 🧱 Welcome to the Formbricks single instance installer + + πŸ›Έ Fasten your seatbelts! We're setting up your Formbricks environment on your Ubuntu 22.04.2 LTS server. + + 🧹 Time to sweep away any old Docker installations. + πŸ”„ Updating your package list. + πŸ“¦ Installing the necessary dependencies. + πŸ”‘ Adding Docker's official GPG key and setting up the stable repository. + File '/etc/apt/keyrings/docker.gpg' exists. Overwrite? (y/N) + ``` + + + 2. **Email Address**: Provide your email address for SSL certificate registration with Let's Encrypt. + + + ```bash + 🧱 Welcome to the Formbricks single instance installer + + πŸ›Έ Fasten your seatbelts! We're setting up your Formbricks environment on your Ubuntu 22.04.2 LTS server. + + 🧹 Time to sweep away any old Docker installations. + πŸ”„ Updating your package list. + πŸ“¦ Installing the necessary dependencies. + πŸ”‘ Adding Docker's official GPG key and setting up the stable repository. + File '/etc/apt/keyrings/docker.gpg' exists. Overwrite? (y/N) y + πŸ”„ Updating your package list again. + 🐳 Installing Docker. + πŸš€ Testing your Docker installation. + πŸŽ‰ Docker is installed! + 🐳 Adding your user to the Docker group to avoid using sudo with docker commands. + πŸŽ‰ Hooray! Docker is all set and ready to go. You're now ready to run your Formbricks instance! + πŸš— Installing Traefik... + πŸ“ Created Formbricks Quickstart directory at ./formbricks. + πŸ’‘ Please enter your email address for the SSL certificate: + ``` + + + 3. **Domain Name**: Enter the domain name that Traefik will use to create the SSL certificate and forward requests to Formbricks. -That's it! After running the command and providing the required information, visit the domain name you entered, and you should see the Formbricks home wizard! + + + ```bash + 🧱 Welcome to the Formbricks single instance installer + + πŸ›Έ Fasten your seatbelts! We're setting up your Formbricks environment on your Ubuntu 22.04.2 LTS server. + + 🧹 Time to sweep away any old Docker installations. + πŸ”„ Updating your package list. + πŸ“¦ Installing the necessary dependencies. + πŸ”‘ Adding Docker's official GPG key and setting up the stable repository. + File '/etc/apt/keyrings/docker.gpg' exists. Overwrite? (y/N) y + πŸ”„ Updating your package list again. + 🐳 Installing Docker. + πŸš€ Testing your Docker installation. + πŸŽ‰ Docker is installed! + 🐳 Adding your user to the Docker group to avoid using sudo with docker commands. + πŸŽ‰ Hooray! Docker is all set and ready to go. You're now ready to run your Formbricks instance! + πŸš— Installing Traefik... + πŸ“ Created Formbricks Quickstart directory at ./formbricks. + πŸ’‘ Please enter your email address for the SSL certificate: + docs@formbricks.com + πŸ’‘ Created traefik.yaml file with your provided email address. + πŸ’‘ Created acme.json file with correct permissions. + πŸ”— Please enter your domain name for the SSL certificate (🚨 do NOT enter the protocol (http/https/etc)): + ``` + + + +**That's it**! After running the command and providing the required information, visit the domain name you entered, and you should see the Formbricks home wizard! + + + +```bash +🧱 Welcome to the Formbricks single instance installer + +πŸ›Έ Fasten your seatbelts! We're setting up your Formbricks environment on your Ubuntu 22.04.2 LTS server. + +🧹 Time to sweep away any old Docker installations. +πŸ”„ Updating your package list. +πŸ“¦ Installing the necessary dependencies. +πŸ”‘ Adding Docker's official GPG key and setting up the stable repository. +File '/etc/apt/keyrings/docker.gpg' exists. Overwrite? (y/N) y +πŸ”„ Updating your package list again. +🐳 Installing Docker. +πŸš€ Testing your Docker installation. +πŸŽ‰ Docker is installed! +🐳 Adding your user to the Docker group to avoid using sudo with docker commands. +πŸŽ‰ Hooray! Docker is all set and ready to go. You're now ready to run your Formbricks instance! +πŸš— Installing Traefik... +πŸ“ Created Formbricks Quickstart directory at ./formbricks. +πŸ’‘ Please enter your email address for the SSL certificate: +docs@formbricks.com +πŸ’‘ Created traefik.yaml file with your provided email address. +πŸ’‘ Created acme.json file with correct permissions. +πŸ”— Please enter your domain name for the SSL certificate (🚨 do NOT enter the protocol (http/https/etc)): +my.hosted.url.com +πŸš™ Updating NEXTAUTH_SECRET in the Formbricks container... +πŸš— NEXTAUTH_SECRET updated successfully! +[+] Running 4/4 + βœ” Network formbricks_default Created 0.1s + βœ” Container formbricks-postgres-1 Started 0.5s + βœ” Container formbricks-formbricks-1 Started 0.7s + βœ” Container traefik Started 1.1s +🚨 Make sure you have set up the DNS records as well as inbound rules for the domain name and IP address of this instance. + +πŸŽ‰ All done! Check the status of Formbricks & Traefik with 'cd formbricks && sudo docker compose ps.' +``` + + ## Debugging If you encounter any issues, you can check the logs of the container with: + + ```bash -docker compose logs -f +cd formbricks && docker compose logs -f ``` + + You can close the logs again with `CTRL + C`. ## Troubleshooting @@ -61,3 +175,5 @@ If you encounter any issues, consider the following steps: - **Check Docker Instances**: Run `docker ps` to check the status of the Docker instances. - **Check Formbricks Logs**: Run `cd formbricks && docker compose logs` to check the logs of the Formbricks stack. + +- **Still can’t figure it out?**: [Join our Discord!](https://formbricks.com/discord)