Operations course

Install and Start Via Server

Prepare an Ubuntu host, confirm Vary and Via are installed, install Via prerequisites, initialize the control plane, and verify the Via systemd services.

Run these lessons on the Via server host. Start by confirming the vary and via commands exist. Replace vary.example.com with your real Via domain before initializing the server. Paste the key output line into the answer box and validate it.

Section 1

Install

Install host packages, create Via-owned users, directories, units, and generated config.

server terminal
# Confirm the Vary compiler is installed and available on PATH. command -v vary vary --version # Confirm the Via server CLI is installed and available on PATH. command -v via via --version

Lesson 1 / server terminal

Verify Vary and Via commands

Confirm the host already has the Vary compiler and Via server CLI on PATH.

Via installation starts from an installed Vary distribution. Before changing host packages or systemd units, make sure vary resolves, prints a version, and includes the via command. If either command is missing, install Vary first, open a new shell so PATH updates take effect, then return to this course.

Run via --version
Expected output
Accepted pattern (?m)^Via\s+.+$
server terminal
# Install Git, Docker, Caddy, and the Via Docker network. via install --print-prereq-script | sudo bash # Create Via users, directories, systemd units, and admin group access. via install

Lesson 2 / server terminal

Install host prerequisites

Install Ubuntu packages for Git, Docker, Caddy, and the Via Docker network.

via install --print-prereq-script prints the host-package bootstrap script for Ubuntu. Review it, pipe it to sudo bash, then run via install. On the default /etc/via and /var/lib/via layout, via install re-runs itself through sudo, creates the Via admin/shared group, and adds the invoking user. If this is the first install for that user, reconnect or run newgrp vary before continuing.

Run via install
Expected output
Accepted pattern (?m)^\s*Installed changes applied$|^\s*Installed no changes \(already installed\)$
server terminal
# Write config, create the database, mint keys, and start Via services. via init --domain vary.example.com # Confirm the host layout, services, Docker, Git, and proxy are healthy. via doctor

Lesson 3 / server terminal

Initialize the control plane

Write server config, create the database, and mint signing keys.

via init --domain writes /etc/via/server.toml, creates the control-plane database, mints identity and artifact signing keys, reloads systemd, enables the Via units, starts them, and checks that each unit is active. After the install-created group membership is active, this should run as a normal operator command.

Run via doctor
Expected output
Accepted pattern (?m)^.*PASS.*$

Section 2

Verify

Confirm the host is ready for app deployment.

server terminal
# Show every Via service and whether it is active. via status # Re-run the full host and runtime health checks after startup. via doctor

Lesson 4 / server terminal

Verify Via services

Confirm the control plane, builder, runner, config server, test runner, and managed Caddy service are active.

via init starts the services, so this lesson is only a verification step. via status summarizes each tracked service and endpoint. via doctor runs the broader host checks and prints the journal command to use if a service is not active.

Run via status
Expected output
Accepted pattern (?m)\bactive\b

Course score

0/4 lessons complete

Validate each lesson output to finish this course.

Next course

Push and Test an App on Via Create the first operator session, connect a local Vary project, test it, push a deploy, and inspect deploy output. Continue