Class BuildSettings
- Namespace
- Ando.Server.Configuration
- Assembly
- Ando.Server.dll
Configuration for build execution.
public class BuildSettings
- Inheritance
-
BuildSettings
- Inherited Members
Fields
SectionName
Configuration section name in appsettings.json.
public const string SectionName = "Build"
Field Value
Properties
AcknowledgeRootDockerRisk
Acknowledges the security risk of running Docker as root. When true, bypasses the rootless Docker validation check. Use this on platforms like TrueNAS SCALE where Docker runs as root and cannot be configured for rootless mode. WARNING: Running Docker as root allows container escapes to gain root access to the host system.
public bool AcknowledgeRootDockerRisk { get; set; }
Property Value
BaseUrl
Base URL of the server for generating absolute URLs (e.g., for GitHub commit statuses). Example: https://demo.andobuild.com
public string? BaseUrl { get; set; }
Property Value
DefaultDockerImage
Default Docker image for builds if not specified per-project.
public string DefaultDockerImage { get; set; }
Property Value
DefaultTimeoutMinutes
Default build timeout in minutes if not specified per-project.
public int DefaultTimeoutMinutes { get; set; }
Property Value
DockerSocketPath
Path to the Docker socket on the HOST filesystem. This is used when creating build containers that need Docker-in-Docker support. For standard Docker: /var/run/docker.sock For rootless Docker: /var/run/user/{UID}/docker.sock
public string DockerSocketPath { get; set; }
Property Value
MaxTimeoutMinutes
Maximum allowed timeout in minutes (prevents abuse).
public int MaxTimeoutMinutes { get; set; }
Property Value
ReposPath
Path to repos directory on the HOST filesystem. This path is used for Docker volume mounts when creating build containers. Example: /opt/ando/data/repos
public string ReposPath { get; set; }
Property Value
ReposPathInContainer
Path to repos directory inside the SERVER container (optional). When running the server in a container, this is where the ReposPath is mounted internally. If not set, ReposPath is used for both purposes (assumes matching paths). Example: /data/repos (when ReposPath=/opt/ando/data/repos is mounted at /data/repos)
public string? ReposPathInContainer { get; set; }
Property Value
WorkerCount
Number of Hangfire worker threads for build execution. Each worker can run one build at a time.
public int WorkerCount { get; set; }
Property Value
Methods
GetReposPathForServer()
Gets the path to use for git operations (clone, checkout) inside the server. Returns ReposPathInContainer if set, otherwise falls back to ReposPath.
public string GetReposPathForServer()