Automatic single-node install

Note:

This installation method is not fully implemented, which is why this page is not yet listed in the table of installation options or in the left nav.

This method sets up a new Arvados cluster using a single host/VM. It is the easiest way to get a new production cluster up and running.

A single-node installation supports all Arvados functionality at small scale. Substantial workloads will require additional nodes and configuration steps.

Prerequisites

You will need:

  • a server host running Debian 10 (buster) or Debian 11 (bullseye).
  • a unique 5-character ID like x9999 for your cluster (first character should be [a-w] for a long-lived / production cluster; all characters are [a-z0-9]).
  • a DNS name like x9999.example.com that resolves to your server host (or a load balancer / proxy that passes HTTP requests on port 801 and HTTPS requests on ports 443 and 4440-4460 through to the same port on your server host).
  • a firewall setup that allows incoming connections to ports 801, 443, and 4440-4460.

1 Port 80 is only used to obtain TLS certificates automatically from Let’s Encrypt. It is not needed if you have another way to provision certificates.

Options

Arvados needs a PostgreSQL database. To get started quickly, install the postgresql-server package on your server host.

# apt install postgresql

Arvados normally uses cloud VMs or a Slurm/LSF cluster to run containers. To get started quickly, install Docker on your system host. The arvados-server init command, as shown below, will configure Arvados to run containers on the system host.

# apt install docker.io

Arvados needs a login backend. To get started quickly, add a user account on your server host and assign a password. The arvados-server init ... -login pam option, as shown below, will configure Arvados so you can log in with this username and password.

# adduser exampleUserName

Initialize the cluster

# echo > /etc/apt/sources.list.d/arvados.list "deb http://apt.arvados.org/$(lsb_release -sc) $(lsb_release -sc) main"
# apt update
# apt install arvados-server-easy
# arvados-server init -cluster-id x9999 -domain x9999.example.com -tls acme -login pam

When the “init” command is finished, navigate to the link shown in the terminal (e.g., https://x9999.example.com/) and log in with the account you created above.

Activate your new Arvados user account. Copy the UUID (looks like x9999-tpzed-xxxxxxxxxxxxxxx) from your browser’s location bar and run:

# arv sudo user setup --uuid x9999-tpzed-xxxxxxxxxxxxxxx

Run the diagnostics tool to ensure everything is working.

# arv sudo diagnostics

Customize the cluster

Things you should plan to update before using your cluster in production:

Updating configuration

After updating your configuration file (/etc/arvados/config.yml), notify the server:

# systemctl reload arvados-server

Optionally, add “AutoReloadConfig: true” at the top of /etc/arvados/config.yml. Arvados will automatically reload the config file when it changes.

AutoReloadConfig: true
Clusters:
  [...]

Previous: Set up Docker

The content of this documentation is licensed under the Creative Commons Attribution-Share Alike 3.0 United States licence.
Code samples in this documentation are licensed under the Apache License, Version 2.0.