19ea3fd12a041d7ac89f0cef955b47e527449810
[arvados.git] / doc / install / automatic.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Automatic single-node install
5 ...
6 {% comment %}
7 Copyright (C) The Arvados Authors. All rights reserved.
8
9 SPDX-License-Identifier: CC-BY-SA-3.0
10 {% endcomment %}
11
12 {% include 'notebox_begin' %}
13 This installation method is not fully implemented, which is why this page is not yet listed in the "table of installation options":{{site.baseurl}}/install/index.html or in the left nav.
14 {% include 'notebox_end' %}
15
16 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.
17
18 A single-node installation supports all Arvados functionality at small scale. Substantial workloads will require additional nodes and configuration steps.
19
20 h2. Prerequisites
21
22 You will need:
23 * a server host running Debian 10 (buster) or Debian 11 (bullseye).
24 * 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]@).
25 * a DNS name like @x9999.example.com@ that resolves to your server host (or a load balancer / proxy that passes HTTP and HTTPS requests through to your server host).
26
27 h2. Options
28
29 Arvados needs a PostgreSQL database. To get started quickly, install the postgresql-server package on your server host.
30
31 <pre>
32 # apt install postgresql
33 </pre>
34
35 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.
36
37 <pre>
38 # apt install docker.io
39 </pre>
40
41 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.
42
43 <pre>
44 # adduser exampleUserName
45 </pre>
46
47 h2. Initialize the cluster
48
49 <pre>
50 # echo > /etc/apt/sources.list.d/arvados.list "deb http://apt.arvados.org/buster buster main"
51 # apt update
52 # apt install arvados-server-easy
53 # arvados-server init -cluster-id x9999 -domain x9999.example.com -tls auto -login pam
54 </pre>
55
56 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.
57
58 Activate your new Arvados user account.
59
60 <pre>
61 # arv root user setup exampleUserName
62 </pre>
63
64 Run the diagnostics tool to ensure everything is working.
65
66 <pre>
67 # arv root diagnostics
68 </pre>
69
70 h2. Customize the cluster
71
72 Things you should plan to update before using your cluster in production:
73 * "Set up Google login":{{site.baseurl}}/install/setup-login.html or another authentication option.
74 * Set up a wildcard TLS certificate and DNS name, or enable @TrustAllContent@ mode.
75 * Update storage configuration to use a cloud storage bucket instead of the local filesystem.
76 * Update CloudVMs configuration to use a cloud provider to bring up VMs on demand instead of running containers on the server host.
77
78 h2. Updating configuration
79
80 After updating your configuration file (@/etc/arvados/config.yml@), notify the server:
81
82 <pre>
83 # systemctl reload arvados-server
84 </pre>
85
86 Optionally, add "AutoReloadConfig: true" at the top of @/etc/arvados/config.yml@. Arvados will automatically reload the config file when it changes.
87
88 <pre>
89 AutoReloadConfig: true
90 Clusters:
91   [...]
92 </pre>