Skip to main content
Version: Community Edition (1.0)

Install Prerequisites

This page shows an overview of the prerequisites and different methods to install Semaphore Community Edition on your systems. If you have any questions or issues during installation, you can get help in the official Semaphore Discord server.

Overview

A Semaphore CI/CD platform consists of two components:

  • Control plane: the control plane orchestrates jobs, serves the web application and public API, handles logging, manages permissions, and connects with your repositories. The control plane requires a Kubernetes cluster or a server running k3s.
  • Agents: the only purpose of an agent is to run jobs. The default Semaphore installation includes one agent that runs on the same cluster as the control plane. Agents connect to the control plane, waiting for jobs to be scheduled. See self-hosted agents to learn how to scale your Semaphore setup.

Semaphore architecture

Prerequisites

To install Semaphore, you need:

  • A DNS domain
  • The ability to create A, AAAA, or CNAME records for your domain
  • A Kubernetes cluster or a Ubuntu machine
  • The node or machine should have at least 16 GB of RAM and 8 CPUs
  • Installation and setup time: about 1-2 hours

Choose your platform

You can install Semaphore on a single Linux/Ubuntu machine or in a Kubernetes cluster.

Each platform presents trade-off. Use the following table as a guide:

FacilitySingle-alone machineKubernetes cluster
Backup and restoreSimpleComplex
Infraststructure costsLowerHigher
Scalability of control planeLow
Can only be scaled vertically with a more powerful machine.
High
Can be scaled horizontally and vertically.
Scalability of job runner (agents)HighHigh
RedundancyNoneHigh
AvailabilityLow
Server is single point of failure.
High
If a node goes down, Kubernetes can autoheal.

Single-machine installation

Kubernetes installation

See also