1. Docs
  2. Pulumi Cloud
  3. Self-hosting
  4. Deployment options
  5. Local-Docker

Pulumi Cloud self-hosted local-Docker install

    The Local-Docker Installer is generally meant to be used where an on-premise solution is needed or where the cloud-based installation solutions (i.e. EKS, ECS, AKS) are not possible.

    Prerequisites

    The customer is required to provide and manage the following:

    • Docker environment running on a server with
      • At least 2 CPU cores,
      • At least 8 GB memory,
      • At least 20GB SSD storage space.
    • MySQL 8.0 database with
      • At least 20GB SSD storage space,
      • A database user with the folling grants:
        • GRANT ALL PRIVILEGES ON 'pulumi'.* TO 'pulumi'@'%'
        • GRANT CREATE USER ON *.* TO 'pulumi'@'%' WITH GRANT OPTION
    • Object storage (e.g. Minio) with
      • At least 200GB SSD storage space.

    Local-Docker Deployment

    Pulumi deploying Pulumi

    This installer uses Pulumi to deploy the Pulumi Cloud. In this case, one uses the Pulumi CLI with a self-managed backend (e.g. an s3-compatible object store) from the Docker environment server to deploy the Service containers.

    To this end, you need to set up the following:

    • Download and install the Pulumi CLI on the Docker server
    • Login to S3-compatible backend
      • The assumption here is that you would use a bucket in the object store you are using for the self-hosted Pulumi Cloud. You can use a different state backend if you prefer.
      • It is NOT recommended to use the local backend option since you want to make sure this state file is backed up and secured.

    Deployment Steps

    See the README file provided with the installer package for detailed deployment steps.

    Local-Docker System Management and Maintenance

    Pulumi Cloud Updates

    When deploying the Pulumi Cloud, it is recommended to pin the image tag to a specific version. See the installer’s README file to set the imageTag configuration property for the installer to use.

    When ready to update the Pulumi Sevice containers to use a different version, do the following:

    • pulumi login to the self-managed (not self-hosted) backend as chosen above when installing the self-hosted service.
    • pulumi config set imageTag {image tag} to set the version you want to use.
    • pulumi up to deploy the updates.

    Database Maintenance

    The customer should perform standard DB maintenance for their MySQL database.

    Blob Storage Maintenance

    The customer should perform standard storage maintenance for their blob storage.

      Introducing Pulumi Copilot - Intelligent Cloud Management