Skip to main content

Docusaurus

Follow these steps to deploy Docusaurus using Argonaut to your Kubernetes or AWS Lambda environments.

Account Setup

  1. Create an Argonaut account by visiting https://ship.argonaut.dev.
  2. Type in a name for your Workspace. This CAN be changed later. Click Next. Set workspace name
  3. You will be taken to the Connections page under Settings. Argonaut connects to AWS as an IAM user.
  4. Connect your Git from the same Connections page, GitHub and GitLab are supported.
  5. Select the Environments Tab from the sidebar.
    1. Click on Environment +
    2. Choose Amazon Web Services. Give your environment a name, Env.

Deploying to AWS Lambda

  1. Choose your environment and the application name.
  2. Select runtime as Lambda.
  3. Specify build details
    1. Build context would be something other than . if it is a monorepo.
    2. Install Dependencies: npm install
    3. Build Command: npm run build
    4. Run Command: npm start
    5. Port number is 3000
  4. Choose memory size, timeout, and custom domain hosted on AWS Route53.
  5. Upload your secrets via a .env file.
  6. Click on Deploy.

Lambda app configs

Deploying to Kubernetes (EKS)

  1. Click on the Applications tab from the sidebar.

  2. Click Application + on the top right.

  3. Give it an application name, Docusaurus and click on Pipeline +.

  4. Choose the Git repository where your Docusaurus app is located.

  5. Click on the Build stage and set Build Configs.

    1. Build config nameL: Docusaurus
    2. Docker File: ./docusaurus/Dockerfile. Alternately, buildpacks can be used for automatic detection and deployment.
    3. Working Directory: .
    4. Container Registry: ecr
  6. Click on the Deploy stage and set Deploy Configs

    1. Choose your environment.
    2. Select your target clusters or create new.
    3. Service Name: Name your Docusaurus app my-docs
    4. Service Type: Stateless
  7. Network settings and scaling

    1. Click Service +.
    2. Container port number: Docusaurus by default runs on 3000. Expose your port in the Dockerfile if you're changing this port number.
    3. Type of Network: HTTPS is used for Docusaurus
    4. Host Name: The URL to access your Docusaurus application docusaurus.mywebsite.com
    5. Resource Requests & Limits: Set CPU and Memory values. 0.5 CPU and 500M memory is a good start.
    6. Enable horizontal autoscaling
    7. Health Check: Can be used to report status via HTTP GET
  8. Upload secrets for the app environment on the k8s cluster.

    1. Secrets are Key-Value pairs added to your k8s environment.
    2. They can be used during runtime or buildtime.
    3. Easily drop your .env file or add secrets manually.
    4. Mount files such as certificates as secrets to your kubernetes pods.
  9. Click on Commit to Repo

  10. Add a CNAME for the hostname to the loadbalancer to access the app.

    Kubernetes build and deploy stages

Testing your deployment

  1. After clicking Commit to repo, you’ll be taken to the deployment Logs. Your application is now being deployed. Check the output section of the logs.
  2. Now, go to the Applications page and look for your Docusaurus application.
  3. You can get the deployed URL from the applications page, and you have now successfully deployed your Docusaurus application.