Skip to content

Projects & Services ​

A project groups related services, usually those of one application. The project itself does not run: only its services start and stop.

A service is a process Runeya can start, stop and watch. It carries its command or commands, its working directory, its variables, its log parsers, and the agent it runs on.

Declaring a service ​

A service needs a name and a command. The other fields are optional.

FieldWhat it is for
CommandsA service can hold several (dev, build, test…), each with its label and, if needed, its own directory.
PortsThe ports the service occupies. They are available in its variables, for example {{service.PORT}}.
GroupsFree-form tags to organize a project's services.
Local URLsDomains served locally, each mapped to a port (see the Traefik proxy in agent settings).
Auto-restartRestart the service automatically when it exits with an error.
Health checkAn HTTP request or a command run at a regular interval. Its result shows in the UI.
ShortcutsOne-off commands run on demand from the service page.
Log sourcesFiles, MongoDB or MySQL, in addition to standard output. See Log sources.

Native or Docker ​

A service runs either directly on the agent's machine or in a Docker container. The image can come from a registry or be built on the spot, and commands can run when the container starts. The service's other settings are the same in both cases.

Controlling a service ​

The buttons on a service's page start, stop and restart it.

  • Stop sends SIGTERM, then SIGKILL if the process is still running after 10 seconds. This delay gives a server time to close its connections.
  • Delete removes the service's configuration, never your files.

A service is stopped, starting, running or errored. When a health check is configured, its health (healthy, unhealthy, unknown) is tracked separately. A service can be running and unhealthy at the same time.

Runeya