You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+83-19Lines changed: 83 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@
12
12
This repository contains tools and rules for automatically deploying datalab instances using Terraform/OpenTofu and Ansible.
13
13
It can be used as a template for deploying your own datalab instance, and optionally periodically resynced on new releases.
14
14
15
-
Use of Terraform for cloud provisioning is OPTIONAL; the Ansible playbooks are sufficient to set up a datalab instance on a existing hardware.
15
+
Use of Terraform/OpenTofu for cloud provisioning is OPTIONAL; the Ansible playbooks are sufficient to set up a datalab instance on a existing hardware.
16
16
The Ansible playbooks can even be used to deploy datalab on shared hardware; all mandatory services will be deployed within containers, so it is possible to set up the full NGINX + datalab stack alongside an existing reverse proxy managing other services, although this will need to be configured by the user.
17
17
18
18
Ideally, various aspects of the configuration will be transferrable, and thus only instance-specific configuration will need to be provided (e.g., usernames, domain names), in which case your instance version of this repository can be kept fairly in-sync with the main branch (which will continue to be updated as datalab's requirements grow and change).
@@ -21,13 +21,18 @@ Attempts will be made to tabulate the supported versions of datalab with each re
21
21
22
22
## Supported versions
23
23
24
+
<divalign="center">
25
+
24
26
| This repository version |*datalab* version |
25
27
|---|---|
26
28
| v0.1.x | v0.4.x |
27
29
| v0.2.x | v0.4.x |
28
30
| v0.3.x | v0.5.0-rc.x |
29
31
| v0.4.x | v0.5.x |
30
32
| v0.5.x | v0.6.x |
33
+
| v0.6.x | v0.6.x |
34
+
35
+
</div>
31
36
32
37
## Changelog
33
38
@@ -58,7 +63,7 @@ Stack:
58
63
- Docker Compose for API, app and database containers
59
64
- Simple filesystem for filestore
60
65
61
-
### Datalab versioning
66
+
### *datalab* versioning
62
67
63
68
The Ansible playbooks will deploy the datalab version that is included as a `git
64
69
submodule` to this repository.
@@ -77,21 +82,28 @@ to deploy *datalab*, and that it is:
77
82
- accessible via SSH (using your local SSH config),
78
83
- running Ubuntu 22.04 or a similar distro with `apt` available.
79
84
80
-
It also assumes you have set up Ansible on your local machine, and it is
81
-
expected that this machine is at least a Unix-like OS with `git` and `bash`
82
-
and `sed` available.
83
-
You can find instructions for this in the [Ansible documentation](https://docs.ansible.com/ansible/latest/getting_started/get_started_ansible.html).
84
-
You can also simply install ansible from the `requirements.txt` file with `pip`
85
-
after cloning:
85
+
It also assumes that your local machine is running a Unix-like OS (Linux, WSL, macOS) with `git` and `bash`,
86
+
`make` and `sed` available.
87
+
88
+
You can find more information on the requirements of the server and control node in the [Ansible documentation](https://docs.ansible.com/ansible/latest/getting_started/get_started_ansible.html).
89
+
90
+
The first step is to clone this repository (or your fork/templated version) with submodules and then install Ansible and its dependencies.
91
+
We recommend using [uv](https://astral.sh/uv) for this, as the included [Makefile] will use it to run the playbooks in a virtual
If completed successfully, the server should now be running a *datalab*
165
-
instance at your configured URL!
186
+
or simply
166
187
167
-
If you are using your own domain, you will need to update your DNS settings so that your domain name points to the IP of the server as given in your inventory file.
188
+
```
189
+
make
190
+
```
191
+
192
+
If completed successfully, the server should now be running a *datalab* instance at your configured URLs!
168
193
169
194
#### Keeping things up to date
170
195
@@ -195,6 +220,45 @@ especially if you have made any custom changes to the playbooks.
195
220
Be sure to also commit the changes to your submodule so you know precisely which versions
196
221
of the playbooks are running.
197
222
223
+
The [`Makefile`] also contains a number of other useful commands, such as:
224
+
225
+
```shell
226
+
make vaults
227
+
```
228
+
229
+
to edit the encrypted vault files, and
230
+
231
+
```shell
232
+
make list
233
+
```
234
+
235
+
to list all of the available Ansible tags that can be run individually.
236
+
237
+
#### Bitwarden integration
238
+
239
+
Constantly entering the vault password for every attempted deployment can be a
240
+
bit tedious, so by default, the `Makefile` will attempt to retrieve the vault
241
+
password from a local [Bitwarden CLI](https://bitwarden.com/help/cli/) installation,
242
+
which either only requires you to enter your Bitwarden password once per
243
+
session, or can be configured to remain logged in.
244
+
245
+
To use this feature, you will need to store your vault password in Bitwarden
246
+
using the same name as the cloned repository as reported locally by
0 commit comments