ansible-playbooks/roles/tasks/debian/README.md
2024-10-29 02:11:53 +08:00

46 lines
1.5 KiB
Markdown

## 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
```
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.
2. Set up the necessary template scripts provided at `/root/scripts`.
3. Rename `.env.sample` to `.env.` (via `mv .env.sample .env`).
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`.
7. Provide the same project directories to back up via Borg in `backup.sh` including any file/folder exemptions.
8. Update the Samba credentials file located at `/root/.samba/credentials`.
```
# credentials
user=USERNAME
password=PASSWORD
```
4. Update the CIFS/Samba mount for backups located in `crontab` (via `crontab -e`).
```
# crontab entry
* * * * * mount.cifs "//255.255.255.0/SAMBA-MOUNT" "/mnt/backups" -o credentials="/root/.samba/credentials"
```
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.
```bash
ansible-playbook roles/tasks/debian/setup.yml
```
Any existing or additional scripts that have already been modified will not be overwritten (See `force: false` directives in [`setup.yml`](./setup.yml)).