Deploy ntfy
This commit is contained in:
parent
c0c7f393e3
commit
f4b96afcfa
7 changed files with 88 additions and 0 deletions
|
@ -68,6 +68,7 @@
|
||||||
- vikunja
|
- vikunja
|
||||||
- authentik
|
- authentik
|
||||||
- minio
|
- minio
|
||||||
|
- ntfy
|
||||||
|
|
||||||
- hosts: ingress
|
- hosts: ingress
|
||||||
roles:
|
roles:
|
||||||
|
|
|
@ -62,6 +62,7 @@ scrape_configs:
|
||||||
- https://media.jakehoward.tech
|
- https://media.jakehoward.tech
|
||||||
- https://minio.jakehoward.tech/minio/health/live
|
- https://minio.jakehoward.tech/minio/health/live
|
||||||
- https://notes.theorangeone.net
|
- https://notes.theorangeone.net
|
||||||
|
- https://ntfy.jakehoward.tech/v1/health
|
||||||
- https://plausible.theorangeone.net
|
- https://plausible.theorangeone.net
|
||||||
- https://recipes.jakehoward.tech
|
- https://recipes.jakehoward.tech
|
||||||
- https://s3.jakehoward.tech/minio/health/live
|
- https://s3.jakehoward.tech/minio/health/live
|
||||||
|
|
36
ansible/roles/ntfy/files/docker-compose.yml
Normal file
36
ansible/roles/ntfy/files/docker-compose.yml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
version: "2.3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ntfy:
|
||||||
|
image: binwiederhier/ntfy:latest
|
||||||
|
command: serve
|
||||||
|
user: "{{ docker_user.id }}"
|
||||||
|
environment:
|
||||||
|
- TZ={{ timezone }}
|
||||||
|
- NTFY_BASE_URL=https://ntfy.jakehoward.tech
|
||||||
|
- NTFY_AUTH_FILE=/etc/ntfy/auth.db
|
||||||
|
- NTFY_CACHE_FILE=/etc/ntfy/cache.db
|
||||||
|
- NTFY_AUTH_DEFAULT_ACCESS=deny-all
|
||||||
|
- NTFY_CACHE_DURATION=24h
|
||||||
|
- NTFY_ATTACHMENT_CACHE_DIR=/etc/ntfy/attachments
|
||||||
|
- NTFY_ATTACHMENT_EXPIRY_DURATION=24h
|
||||||
|
- NTFY_WEB_PUSH_PUBLIC_KEY={{ vault_ntfy_web_push_public_key }}
|
||||||
|
- NTFY_WEB_PUSH_PRIVATE_KEY={{ vault_ntfy_web_push_private_key }}
|
||||||
|
- NTFY_WEB_PUSH_FILE=/etc/ntfy/webpush.db
|
||||||
|
- NTFY_WEB_PUSH_EMAIL_ADDRESS={{ vault_ntfy_web_push_email }}
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- "{{ app_data_dir }}/ntfy:/etc/ntfy"
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.ntfy.rule=Host(`ntfy.jakehoward.tech`)
|
||||||
|
tmpfs:
|
||||||
|
- /var/cache/ntfy
|
||||||
|
- /tmp
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- traefik
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
4
ansible/roles/ntfy/handlers/main.yml
Normal file
4
ansible/roles/ntfy/handlers/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: restart ntfy
|
||||||
|
shell:
|
||||||
|
chdir: /opt/ntfy
|
||||||
|
cmd: "{{ docker_update_command }}"
|
20
ansible/roles/ntfy/tasks/main.yml
Normal file
20
ansible/roles/ntfy/tasks/main.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
- name: Include vault
|
||||||
|
include_vars: vault.yml
|
||||||
|
|
||||||
|
- name: Create install directory
|
||||||
|
file:
|
||||||
|
path: /opt/ntfy
|
||||||
|
state: directory
|
||||||
|
owner: "{{ docker_user.name }}"
|
||||||
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Install compose file
|
||||||
|
template:
|
||||||
|
src: files/docker-compose.yml
|
||||||
|
dest: /opt/ntfy/docker-compose.yml
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
owner: "{{ docker_user.name }}"
|
||||||
|
validate: docker-compose -f %s config
|
||||||
|
notify: restart ntfy
|
||||||
|
become: true
|
18
ansible/roles/ntfy/vars/vault.yml
generated
Normal file
18
ansible/roles/ntfy/vars/vault.yml
generated
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
34623831653665313137333830663439373661363232373363363061346561393963643165313037
|
||||||
|
6561363436623761363564336564646266363062306135660a663235333338646430663263363732
|
||||||
|
61343565366365353435623032383933383162623037343833313539363666333666313338376635
|
||||||
|
6661363766613734610a666233396533353464666439346237326237316633633862323365336335
|
||||||
|
37633263386336623236396362663438663930636132313561353639343035643731633037363062
|
||||||
|
31323962633562616636326338353639306131343366343339666131373632616266313435313131
|
||||||
|
61663438656363633064653738393765633436313365633766376266626438353535303336616235
|
||||||
|
62333430316661393830646166383839383431313761613633366536336564363266623433336631
|
||||||
|
61376263663234333530333339333930396361326466653639393930633962316362643031656666
|
||||||
|
33633633366461323861333434316466623736343030396163323166313233373339336463383362
|
||||||
|
35613962393965636332343763313534366339646133636238626265393334643233346537376564
|
||||||
|
30393934323566383232333066633839316434306430323063323336346633346261313032646336
|
||||||
|
66373233356465646338313966386631376466323834353235663034656335373730373463333431
|
||||||
|
63366438393736343233623837383963663664303332396438373462633330323664656464363037
|
||||||
|
65333331616366316330313330643765383437666164376435383737346437656433643366383835
|
||||||
|
65346531346639623936643936373933306664656231626432343733393434303630363232333730
|
||||||
|
3530
|
|
@ -237,6 +237,14 @@ resource "cloudflare_record" "jakehowardtech_s3" {
|
||||||
ttl = 1
|
ttl = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resource "cloudflare_record" "jakehowardtech_ntfy" {
|
||||||
|
zone_id = cloudflare_zone.jakehowardtech.id
|
||||||
|
name = "ntfy"
|
||||||
|
value = linode_instance.casey.ip_address
|
||||||
|
type = "A"
|
||||||
|
ttl = 1
|
||||||
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "jakehowardtech_caa" {
|
resource "cloudflare_record" "jakehowardtech_caa" {
|
||||||
zone_id = cloudflare_zone.jakehowardtech.id
|
zone_id = cloudflare_zone.jakehowardtech.id
|
||||||
name = "@"
|
name = "@"
|
||||||
|
|
Loading…
Reference in a new issue