Skip to content

Project Types

Updatectrl supports different types of projects with varying update strategies.

Docker

For containerized applications using Docker or Docker Compose.

Process:

  1. Pull latest Git changes
  2. Execute the buildCommand

Example:

yaml
type: docker
buildCommand: docker compose up -d --build

Use cases: Web apps, APIs, databases in containers

PM2

For Node.js applications managed by PM2 process manager.

Process:

  1. Pull latest Git changes
  2. Execute the buildCommand (if configured)
  3. Restart the PM2 process

Example:

yaml
type: pm2
buildCommand: npm install && npm run build

Requirements: PM2 must be installed and the app started with pm2 start

example: `pm2 start index.js --name my-app
name must match name in updatectrl config

Static

For static websites or projects that only need Git pulls.

Process:

  1. Pull latest Git changes
  2. Execute the buildCommand (if configured)

Example:

yaml
type: static
buildCommand: npm run build

Use cases: Static site generators, documentation sites

Image

For applications deployed as pre-built Docker images from container registries.

Process:

  1. Pull the latest version of the specified Docker image
  2. If the image digest has changed, restart the container with the new image
  3. Configure port mappings, environment variables, and container names as specified

Example:

yaml
type: image
image: ghcr.io/user/my-app:latest
port: "3000:80"
env:
  NODE_ENV: production
containerName: my-custom-app

Requirements: Docker must be installed and running.

Use cases: Pre-built applications, microservices, web apps distributed as images