browsertrix/docs/deploy/ansible/microk8s.md
Anish Lakhwara 834fa72baf
Refactor microk8s playbook to follow "new" structure (#1264)
* Refactor microk8s playbook to follow structure with shared roles

- Integrates with btrix/deploy role for deploying
- Seperated RedHat and Debian into seperate roles
- Created Common role

- allow running remotely by default
- use 'browsertrix_cloud_home' for charts path
- add additional customizable options to btrix_values.j2 (todo: unify all the templates)
- docs: update to new playbook path

---------
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2023-10-11 19:33:30 -07:00

51 lines
1.7 KiB
Markdown

# Microk8s
*Playbook Path: [ansible/playbooks/install_microk8s.yml](https://github.com/webrecorder/browsertrix-cloud/blob/main/ansible/playbooks/install_microk8s.yml)*
This playbook provides an easy way to install Browsertrix Cloud on Ubuntu (tested on Jammy Jellyfish) and RedHat 9 (tested on Rocky Linux 9). It automatically sets up Browsertrix with Letsencrypt certificates.
### Requirements
To run this ansible playbook, you need to:
- Have a server / VPS where browsertrix will run.
- Configure a DNS A Record to point at your server's IP address.
- Make sure you can ssh to it, with a sudo user: ssh <your-user>@<your-domain>
- Install Ansible on your local machine (the control machine).
!!! note
Ansible requires an SSH key with no password. You cannot use a passphrase.
Sudo must similarly be available without a passphrase for ansible to work
??? info Debian Users
You will need to install `acl` on the target Ansible machine to set permissions:
`sudo apt-get install acl`
#### Install
1. Clone the repo:
```zsh
git clone https://github.com/webrecorder/browsertrix-cloud.git
cd browsertrix-cloud/ansible
```
2. [Look at the configuration options](https://github.com/webrecorder/browsertrix-cloud/blob/main/ansible/group_vars/microk8s/main.yml) and modify them or pass them as extra variables as shown below.
3. Add your IP address above to a new file called [inventory/hosts]
4. Run the playbook:
```zsh
ansible-playbook -i inventory/hosts install_microk8s.yml -e host_ip="1.2.3.4" -e domain_name="yourdomain.com" -e your_user="your_vps_admin_user"
```
#### Upgrading
1. Run `git pull`
2. Run the playbook:
```zsh
ansible-playbook -i inventory/hosts install_microk8s.yml -e host_ip="1.2.3.4" -e domain_name="yourdomain.com" -t helm_upgrade
```