2024-10-29 01:36:24 +08:00
## Usage
### Setup
1. Run `setup.yml` using a non-sudo user, providing regular and sudo credentials.
```bash
ansible-playbook roles/tasks/debian/setup.yml -u keannu125 -k --ask-become-pass
```
2024-10-29 02:10:35 +08:00
This will elevate to `root` user via `sudo` and set up root SSH access through the provided `id_rsa.pub` file in the control node's own `.ssh` directory.
2024-10-29 01:36:24 +08:00
2024-10-29 02:10:35 +08:00
2. Set up the necessary template scripts provided at `/root/scripts` .
2024-10-29 01:36:24 +08:00
2024-10-29 02:10:35 +08:00
3. Rename `.env.sample` to `.env.` (via `mv .env.sample .env` ).
2024-10-29 01:36:24 +08:00
2024-10-29 02:10:35 +08:00
4. Provide your ACME SSL access tokens in the `.env` for `renew_ssl.sh` to parse.
5. Also provide your `ACME_EMAIL` in `debian.yml` under `group_vars` for the playbook to parse.
6. Provide project directories to spin up on boot through `start_services.sh` .
2024-10-29 02:11:53 +08:00
7. Provide the same project directories to back up via Borg in `backup.sh` including any file/folder exemptions.
2024-10-29 02:10:35 +08:00
2024-10-29 02:11:53 +08:00
8. Update the Samba credentials file located at `/root/.samba/credentials` .
2024-10-29 01:36:24 +08:00
```
# credentials
user=USERNAME
password=PASSWORD
```
2024-10-29 02:10:35 +08:00
4. Update the CIFS/Samba mount for backups located in `crontab` (via `crontab -e` ).
2024-10-29 01:36:24 +08:00
```
# crontab entry
* * * * * mount.cifs "//255.255.255.0/SAMBA-MOUNT" "/mnt/backups" -o credentials="/root/.samba/credentials"
```
2024-10-29 02:10:35 +08:00
If you'd need to run the `setup.yml` playbook again for any reason. You can omit specifying user or sudo credentials and simply run.
2024-10-29 01:36:24 +08:00
```bash
ansible-playbook roles/tasks/debian/setup.yml
```
2024-10-29 02:10:35 +08:00
Any existing or additional scripts that have already been modified will not be overwritten (See `force: false` directives in [`setup.yml` ](./setup.yml )).