nefarious: all the stuff

This commit is contained in:
Jef Roosens 2024-05-20 14:21:21 +02:00
parent 4a75b2365c
commit b7d3ed7f18
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
12 changed files with 197 additions and 35 deletions

View file

@ -0,0 +1,10 @@
{
"download-dir": "/downloads/complete",
"incomplete-dir": "/downloads/incomplete",
"rpc-whitelist": "*",
"rpc-host-whitelist-enabled": "false",
"port-forwarding-enabled": true,
"peer-port": 51413,
"peer-port-random-on-start": false,
"peer-socket-tos": "default"
}

View file

@ -0,0 +1,56 @@
---
- name: Ensure data directory is present
ansible.builtin.file:
path: '/mnt/data1/nefarious'
state: directory
mode: '0755'
owner: 'root'
group: 'root'
- name: Ensure data subvolumes are present
community.general.btrfs_subvolume:
name: '/nefarious/{{ item }}'
with_items:
- 'jackett'
- 'nefarious'
- name: Ensure subvolume permissions are correct
ansible.builtin.file:
path: "/mnt/data1/nefarious/{{ item.dir }}"
state: directory
mode: '0755'
owner: "{{ item.owner }}"
group: "{{ item.group }}"
loop:
- dir: 'nefarious'
owner: 1000
group: 1000
- name: Ensure configuration directory is present
ansible.builtin.file:
path: '/etc/nefarious'
state: directory
mode: '0755'
- name: Ensure Transmission config file is present
ansible.builtin.copy:
src: 'transmission-settings.json'
dest: '/etc/nefarious/transmission-settings.json'
owner: 'root'
group: 'root'
mode: '0644'
- name: Ensure compose file is present
ansible.builtin.template:
src: 'compose.yml.j2'
dest: '/etc/nefarious/compose.yml'
mode: '0644'
owner: 'root'
group: 'root'
register: res
- name: Ensure stack is deployed
ansible.builtin.shell:
chdir: '/etc/nefarious'
cmd: 'docker compose up -d --remove-orphans'
when: 'res.changed'

View file

@ -0,0 +1,60 @@
# vim: set ft=yaml
services:
app:
image: 'lardbit/nefarious:latest'
restart: 'always'
environment:
- 'DATABASE_URL=sqlite:////config/db.sqlite3'
- 'REDIS_HOST=redis'
- 'HOST_DOWNLOAD_PATH=/mnt/data1/media'
- 'NEFARIOUS_USER={{ nefarious_admin_user }}'
- 'NEFARIOUS_PASS={{ nefarious_admin_pass }}'
- 'CONFIG_PATH=/config'
ports:
- '8006:80'
volumes:
- '/mnt/data1/nefarious/nefarious:/config'
celery:
image: 'lardbit/nefarious:latest'
restart: 'always'
entrypoint: '/app/entrypoint-celery.sh'
environment:
- 'DATABASE_URL=sqlite:////config/db.sqlite3'
- 'REDIS_HOST=redis'
- 'CONFIG_PATH=/config'
- 'NUM_CELERY_WORKERS=1'
volumes:
- '/mnt/data1/nefarious/nefarious:/config'
redis:
image: 'redis:6-alpine'
restart: always
jackett:
image: 'linuxserver/jackett:latest'
restart: always
ports:
- '8007:9117'
volumes:
- '/mnt/data1/nefarious/jackett:/config'
transmission:
image: 'linuxserver/transmission:4.0.5'
restart: 'always'
environment:
- 'PUID=1000'
- 'PGID=1000'
- 'TZ=Europe/Brussels'
- 'USER='
- 'PASS='
ports:
- '8008:9091'
- '51413:51413'
volumes:
- '/etc/nefarious/transmission-settings.json:/config/settings.json:ro'
- '/mnt/data1/media:/downloads'