61 lines
1.6 KiB
Markdown
61 lines
1.6 KiB
Markdown
# Ansible Role: snort
|
|
|
|
This Ansible Role builds and installs [snort](https://github.com/v0l/snort). It is intended to be composed with a separate role for the web proxy configuration.
|
|
|
|
**Warning**: This role is incomplete. Yarn seems problematic to run via Ansible. The build step must be done manually. After running this role and the nginx configuration, the manual steps are as follows:
|
|
|
|
```shell
|
|
systemctl stop snort
|
|
cd /var/www/snort
|
|
doas -u snort yarn
|
|
doas -u snort yarn build
|
|
doas -u snort yarn workspace @snort/app intl-extract
|
|
doas -u snort yarn workspace @snort/app intl-compile
|
|
systemctl start snort
|
|
```
|
|
|
|
Tested on:
|
|
|
|
* Archlinux
|
|
* Ubuntu 22.04
|
|
|
|
## Requirements
|
|
|
|
* `nodejs` - version 20 is fine,
|
|
* `yarn`
|
|
|
|
You can use [ansible-role-nodejs](https://github.com/bleetube/ansible-role-nodejs) if you want to. Here is an example `requirements.yml` for that:
|
|
|
|
```yaml
|
|
roles:
|
|
- src: https://github.com/bleetube/ansible-role-nodejs
|
|
name: bleetube.nodejs
|
|
```
|
|
|
|
It will set up `node`, `npm`, `yarn`, and `n` using the nodesource Debian repositories. But you can also install those by any other method.
|
|
|
|
## Dependencies
|
|
|
|
* [nginx_conf](docs/examples/nginx_conf.yml) (optional)
|
|
|
|
Any similarly configured web proxy may suffice.
|
|
|
|
## Role Variables
|
|
|
|
See the role [defaults](defaults/main.yml). For a working example, see this [homelab stack](https://github.com/bleetube/satstack).
|
|
|
|
## Example Playbook
|
|
|
|
```yaml
|
|
- hosts: snort
|
|
become: yes
|
|
roles:
|
|
- role: nginxinc.nginx_core.nginx
|
|
- role: bleetube.nodejs
|
|
tags: nodejs
|
|
- role: bleetube.snort
|
|
tags: snort
|
|
tasks:
|
|
- import_tasks: nginx_conf.yml
|
|
```
|