Add tinytinyrss to ansible
This commit is contained in:
parent
0c6ef34cf6
commit
2b8aef7f9f
14 changed files with 95 additions and 78 deletions
_ansible
|
@ -15,6 +15,11 @@ compose_file_main:
|
|||
apps:
|
||||
external: true
|
||||
|
||||
compose_file_depends_on:
|
||||
services:
|
||||
app:
|
||||
depends_on: "{{ compose.depends_on }}"
|
||||
|
||||
compose_file_env:
|
||||
services:
|
||||
app:
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
- jellyfin
|
||||
- tandoor
|
||||
- telegraf
|
||||
- tinytinyrss
|
||||
- umami
|
||||
- uptime-kuma
|
||||
- watchtower
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
- jellyfin
|
||||
- tandoor
|
||||
- telegraf
|
||||
- tinytinyrss
|
||||
- umami
|
||||
- uptime-kuma
|
||||
- watchtower
|
||||
|
|
61
_ansible/roles/tinytinyrss/files/nginx.conf
Normal file
61
_ansible/roles/tinytinyrss/files/nginx.conf
Normal file
|
@ -0,0 +1,61 @@
|
|||
worker_processes auto;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
access_log /dev/stdout;
|
||||
error_log /dev/stderr warn;
|
||||
|
||||
sendfile on;
|
||||
|
||||
index index.php;
|
||||
|
||||
upstream app {
|
||||
server tt-rss:9000;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
root /var/www/html;
|
||||
|
||||
location /tt-rss/cache {
|
||||
aio threads;
|
||||
internal;
|
||||
}
|
||||
|
||||
location /tt-rss/backups {
|
||||
internal;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
|
||||
# Check that the PHP script exists before passing it
|
||||
try_files $fastcgi_script_name =404;
|
||||
|
||||
# Bypass the fact that try_files resets $fastcgi_path_info
|
||||
# see: http://trac.nginx.org/nginx/ticket/321
|
||||
set $path_info $fastcgi_path_info;
|
||||
fastcgi_param PATH_INFO $path_info;
|
||||
|
||||
fastcgi_index index.php;
|
||||
include fastcgi.conf;
|
||||
|
||||
fastcgi_pass app;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
16
_ansible/roles/tinytinyrss/tasks/main.yml
Normal file
16
_ansible/roles/tinytinyrss/tasks/main.yml
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
- name: Deploy {{ svc.name }}
|
||||
tags:
|
||||
- tinytinyrss
|
||||
- tt-rss
|
||||
- news
|
||||
block:
|
||||
- import_tasks: prepare-common-service.yml
|
||||
|
||||
- name: Copy the nginx-config
|
||||
ansible.builtin.copy:
|
||||
src: nginx.conf
|
||||
dest: "{{ (service_path, 'nginx.conf') | path_join }}"
|
||||
mode: '0644'
|
||||
|
||||
- import_tasks: start-common-service.yml
|
56
_ansible/roles/tinytinyrss/vars/main.yml
Normal file
56
_ansible/roles/tinytinyrss/vars/main.yml
Normal file
|
@ -0,0 +1,56 @@
|
|||
svc:
|
||||
domain: "rss.serguzim.me"
|
||||
name: tinytinyrss
|
||||
port: 80
|
||||
db:
|
||||
host: "{{ postgres.host }}"
|
||||
port: "{{ postgres.port }}"
|
||||
database: tinytinyrss
|
||||
user: "{{ vault_tinytinyrss.db.user }}"
|
||||
pass: "{{ vault_tinytinyrss.db.pass }}"
|
||||
|
||||
svc_env:
|
||||
TTRSS_DB_TYPE: pgsql
|
||||
TTRSS_DB_HOST: "{{ svc.db.host }}"
|
||||
TTRSS_DB_NAME: "{{ svc.db.database }}"
|
||||
TTRSS_DB_USER: "{{ svc.db.user }}"
|
||||
TTRSS_DB_PASS: "{{ svc.db.pass }}"
|
||||
|
||||
TTRSS_SELF_URL_PATH: https://{{ svc.domain }}/tt-rss/
|
||||
|
||||
compose:
|
||||
watchtower: false
|
||||
image: cthulhoo/ttrss-web-nginx
|
||||
depends_on:
|
||||
- tt-rss
|
||||
env: true
|
||||
volumes:
|
||||
- app:/var/www/html:ro
|
||||
- ./nginx.conf:/etc/nginx/nginx.conf
|
||||
file:
|
||||
services:
|
||||
tt-rss:
|
||||
image: cthulhoo/ttrss-fpm-pgsql-static
|
||||
restart: always
|
||||
env_file:
|
||||
- service.env
|
||||
volumes:
|
||||
- app:/var/www/html
|
||||
networks:
|
||||
local-net:
|
||||
|
||||
updater:
|
||||
image: cthulhoo/ttrss-fpm-pgsql-static
|
||||
restart: always
|
||||
env_file:
|
||||
- service.env
|
||||
volumes:
|
||||
- app:/var/www/html
|
||||
depends_on:
|
||||
- tt-rss
|
||||
command: /opt/tt-rss/updater.sh
|
||||
networks:
|
||||
local-net:
|
||||
volumes:
|
||||
app:
|
||||
|
|
@ -1,7 +1,2 @@
|
|||
- import_tasks: steps/create-service-directory.yml
|
||||
- import_tasks: steps/template-docker-compose.yml
|
||||
- import_tasks: steps/template-service-env.yml
|
||||
when: compose.env|default(False) == True
|
||||
- include_tasks: steps/template-site-config.yml
|
||||
when: svc.domain is defined
|
||||
- import_tasks: steps/start-service.yml
|
||||
- import_tasks: prepare-common-service.yml
|
||||
- import_tasks: start-common-service.yml
|
||||
|
|
4
_ansible/tasks/prepare-common-service.yml
Normal file
4
_ansible/tasks/prepare-common-service.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- import_tasks: steps/create-service-directory.yml
|
||||
- import_tasks: steps/template-docker-compose.yml
|
||||
- import_tasks: steps/template-service-env.yml
|
||||
when: compose.env|default(False) == True
|
3
_ansible/tasks/start-common-service.yml
Normal file
3
_ansible/tasks/start-common-service.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
- include_tasks: steps/template-site-config.yml
|
||||
when: svc.domain is defined
|
||||
- import_tasks: steps/start-service.yml
|
|
@ -1,6 +1,10 @@
|
|||
{%- set compose_file = compose.file | default({}) -%}
|
||||
{%- set compose_file = compose_file_main | combine(compose_file, recursive=True) -%}
|
||||
|
||||
{%- if compose.depends_on | default(False) -%}
|
||||
{%- set compose_file = compose_file | combine(compose_file_depends_on, recursive=True) -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- if compose.env | default(False) -%}
|
||||
{%- set compose_file = compose_file | combine(compose_file_env, recursive=True) -%}
|
||||
{%- endif -%}
|
||||
|
|
Reference in a new issue