mirror of
https://github.com/Crocmagnon/ansible.git
synced 2025-04-17 22:26:02 +02:00
Compare commits
4 commits
2306858a77
...
5a0292419d
Author | SHA1 | Date | |
---|---|---|---|
5a0292419d | |||
45744e5bc0 | |||
47949d3bba | |||
b890643337 |
19 changed files with 2 additions and 299 deletions
playbooks
apps
all.yamlcheckout.yamldisplay.yaml
files
ollama.yamltemplates
ynab.yamlsystem
|
@ -2,9 +2,7 @@
|
||||||
- import_playbook: bin.yaml # noqa: name[play]
|
- import_playbook: bin.yaml # noqa: name[play]
|
||||||
- import_playbook: caddy.yaml # noqa: name[play]
|
- import_playbook: caddy.yaml # noqa: name[play]
|
||||||
- import_playbook: charasheet.yaml # noqa: name[play]
|
- import_playbook: charasheet.yaml # noqa: name[play]
|
||||||
- import_playbook: checkout.yaml # noqa: name[play]
|
|
||||||
- import_playbook: code.yaml # noqa: name[play]
|
- import_playbook: code.yaml # noqa: name[play]
|
||||||
- import_playbook: display.yaml # noqa: name[play]
|
|
||||||
- import_playbook: ghost.yaml # noqa: name[play]
|
- import_playbook: ghost.yaml # noqa: name[play]
|
||||||
- import_playbook: git.yaml # noqa: name[play]
|
- import_playbook: git.yaml # noqa: name[play]
|
||||||
- import_playbook: goatcounter.yaml # noqa: name[play]
|
- import_playbook: goatcounter.yaml # noqa: name[play]
|
||||||
|
@ -13,7 +11,6 @@
|
||||||
- import_playbook: media.yaml # noqa: name[play]
|
- import_playbook: media.yaml # noqa: name[play]
|
||||||
- import_playbook: miniflux.yaml # noqa: name[play]
|
- import_playbook: miniflux.yaml # noqa: name[play]
|
||||||
- import_playbook: nextcloud-aio.yaml # noqa: name[play]
|
- import_playbook: nextcloud-aio.yaml # noqa: name[play]
|
||||||
- import_playbook: ollama.yaml # noqa: name[play]
|
|
||||||
- import_playbook: paperless-ngx.yaml # noqa: name[play]
|
- import_playbook: paperless-ngx.yaml # noqa: name[play]
|
||||||
- import_playbook: portainer.yaml # noqa: name[play]
|
- import_playbook: portainer.yaml # noqa: name[play]
|
||||||
- import_playbook: privatebin.yaml # noqa: name[play]
|
- import_playbook: privatebin.yaml # noqa: name[play]
|
||||||
|
@ -23,4 +20,3 @@
|
||||||
- import_playbook: voice-pipeline.yaml # noqa: name[play]
|
- import_playbook: voice-pipeline.yaml # noqa: name[play]
|
||||||
- import_playbook: wallabag.yaml # noqa: name[play]
|
- import_playbook: wallabag.yaml # noqa: name[play]
|
||||||
- import_playbook: watchtower.yaml # noqa: name[play]
|
- import_playbook: watchtower.yaml # noqa: name[play]
|
||||||
- import_playbook: ynab.yaml # noqa: name[play]
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
---
|
|
||||||
- name: Checkout
|
|
||||||
hosts: servers
|
|
||||||
gather_facts: false
|
|
||||||
tasks:
|
|
||||||
- name: Docker
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: docker
|
|
||||||
|
|
||||||
vars:
|
|
||||||
docker_app_name: checkout
|
|
||||||
secret_key: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
33393761643061393863616663323863663033313865383135663939636433393730643831616231
|
|
||||||
6661313965396164373665663063653461336230313762640a643763346132663238613362336563
|
|
||||||
35643862643139306333346163646161323031376237623661333434326639303233666135616635
|
|
||||||
3135333138336164380a396666363830316237643432366237626431616565376261336534346366
|
|
||||||
64656461343037323137643235373836633766366465373335653162623564653235623362303732
|
|
||||||
34313332316165643437613737663461656231326530356334353237643633303133306561303762
|
|
||||||
643439313139613931313630636333626532
|
|
||||||
mailgun_api_key: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
34656232613133373865613436623261656331663632666334626664366238636564633931613534
|
|
||||||
3137313234343739333738386664333532613066383533610a613337383462393432303235366132
|
|
||||||
30333433353362653765343638346639333735356631633633633633663863396139646431393463
|
|
||||||
3031346139393432390a336235363635653461303762393731313034393566333031356434386362
|
|
||||||
37333861343838623338663062303539616331323262643031613130363766626261653130373631
|
|
||||||
3063393236333239363366333338303665363930303031373965
|
|
|
@ -1,24 +0,0 @@
|
||||||
---
|
|
||||||
- name: Display
|
|
||||||
hosts: servers
|
|
||||||
gather_facts: false
|
|
||||||
tasks:
|
|
||||||
- name: Fix git config
|
|
||||||
community.general.git_config:
|
|
||||||
scope: global
|
|
||||||
name: merge.conflictstyle
|
|
||||||
value: diff3
|
|
||||||
- name: Pull git repo
|
|
||||||
ansible.builtin.git:
|
|
||||||
executable: /usr/bin/git
|
|
||||||
repo: https://git.augendre.info/gaugendre/display.git
|
|
||||||
dest: "{{ dir }}/sources"
|
|
||||||
version: HEAD # noqa: latest[git] # we want the latest revision
|
|
||||||
- name: Docker
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: docker
|
|
||||||
|
|
||||||
vars:
|
|
||||||
docker_app_name: display
|
|
||||||
docker_build: always
|
|
||||||
dir: /mnt/data/{{ docker_app_name }}
|
|
|
@ -59,15 +59,7 @@ charasheet.augendre.info {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
checkout.augendre.info {
|
# Port 8002 is available
|
||||||
import common_headers
|
|
||||||
route {
|
|
||||||
file_server /media/* {
|
|
||||||
root /mnt/data/checkout
|
|
||||||
}
|
|
||||||
reverse_proxy localhost:8002
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cloud.augendre.info {
|
cloud.augendre.info {
|
||||||
import common_headers
|
import common_headers
|
||||||
|
@ -258,12 +250,7 @@ nextcloud-kibana.augendre.info {
|
||||||
reverse_proxy localhost:9009
|
reverse_proxy localhost:9009
|
||||||
}
|
}
|
||||||
|
|
||||||
display.augendre.info {
|
# port 9010 is available
|
||||||
import common_headers
|
|
||||||
import internal
|
|
||||||
header Content-Security-Policy "default-src 'self' https://*.augendre.info; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; frame-ancestors https://*.augendre.info; connect-src 'self' https://*.augendre.info https://download.data.grandlyon.com"
|
|
||||||
reverse_proxy localhost:9010
|
|
||||||
}
|
|
||||||
|
|
||||||
aio.augendre.info {
|
aio.augendre.info {
|
||||||
import common_headers
|
import common_headers
|
||||||
|
|
|
@ -30,4 +30,3 @@ versions
|
||||||
backups/hass
|
backups/hass
|
||||||
paperless-ngx/data
|
paperless-ngx/data
|
||||||
paperless-ngx/media
|
paperless-ngx/media
|
||||||
ollama_data
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
services:
|
|
||||||
django:
|
|
||||||
image: crocmagnon/checkout:latest
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
volumes:
|
|
||||||
- ./db:/app/db
|
|
||||||
- ./media:/app/media
|
|
||||||
ports:
|
|
||||||
- "127.0.0.1:8002:8000"
|
|
||||||
restart: always
|
|
||||||
init: true
|
|
||||||
tty: true
|
|
||||||
mem_limit: 512m
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -euxo pipefail
|
|
||||||
pushd /mnt/data/checkout
|
|
||||||
docker compose exec django python manage.py clear_all_data
|
|
||||||
docker compose exec django python manage.py generate_dummy_baskets
|
|
||||||
popd
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -euxo pipefail
|
|
||||||
pushd /mnt/data/checkout
|
|
||||||
docker compose --ansi never pull --quiet
|
|
||||||
docker compose --ansi never up -d
|
|
||||||
docker compose exec django python manage.py migrate
|
|
||||||
docker compose exec django python manage.py refresh_cache
|
|
||||||
popd
|
|
||||||
docker image prune -f
|
|
|
@ -1,9 +0,0 @@
|
||||||
services:
|
|
||||||
app:
|
|
||||||
build:
|
|
||||||
context: sources
|
|
||||||
restart: always
|
|
||||||
labels:
|
|
||||||
- "com.centurylinklabs.watchtower.enable=false"
|
|
||||||
ports:
|
|
||||||
- "127.0.0.1:9010:80"
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
git -C ./sources pull
|
|
||||||
docker compose --ansi never up -d --build
|
|
|
@ -1,10 +0,0 @@
|
||||||
services:
|
|
||||||
ollama:
|
|
||||||
image: ollama/ollama
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- "11434:11434"
|
|
||||||
volumes:
|
|
||||||
- ./ollama_data:/root/.ollama
|
|
||||||
# init: true
|
|
||||||
# tty: true
|
|
|
@ -1,40 +0,0 @@
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
66323866373338366231613833303263636662663837326164633563646438353662333337356333
|
|
||||||
3735363465313435306635303265633632343930366236650a373465346239393762666439333134
|
|
||||||
39376535366433376535376530613261316563373730373664613033363662393463346235653361
|
|
||||||
6131306264396333330a343665343131653366663761343637616136346165373133653931656132
|
|
||||||
31373566336531363035666261316565366531626331613034356230663063343937316236373632
|
|
||||||
65326639343439336466643430346530653065333564336338346434346466323861616334636234
|
|
||||||
39323162343664663939656333353033656237366332653532343239373332663238376631393135
|
|
||||||
33653936646362373231656635316133303365333931343665326538636334313236373432366537
|
|
||||||
32366664653431616332616135373230666538643536383932326336643565373061353730393430
|
|
||||||
63653037643364653936393334323865303162306239326663313565363031643639396130646239
|
|
||||||
31613934373864616437646532623431383137643332333763623538633666306236616633666664
|
|
||||||
38343162666331653739313764343461396461633233323030663663356364333563366234333533
|
|
||||||
34313138336462313732366362383932396535643562633530326362336237616161323963666461
|
|
||||||
35663930633166613131316438626234356331613164313566643463326263663339356539633137
|
|
||||||
37626330646266663933623236333539363262326561313062303635373434653239653566633862
|
|
||||||
66643164663032323861386431376261303163653338386334393334396532353933336631656166
|
|
||||||
65376565626633333037393330373665383539666537626166646330353634653034393130343563
|
|
||||||
30643363303439376334643965663666663164643666323032633036623738316365396666653564
|
|
||||||
35653231353632303032346139656637383935323561343432333730306637663338316466373436
|
|
||||||
30393031373263393263636361323930303738316438653562333737626163666364346135303661
|
|
||||||
32366435653463636135386266373036393631643033303732393563336164646664616536346631
|
|
||||||
34653563393638643765373232616530313933666665623637333965663662313532323334303636
|
|
||||||
34653330393230613032333336353866393962613735343066363962333433343864616466343466
|
|
||||||
62636663613037336437323539316535626630643137613734626137363536333863323336363261
|
|
||||||
34646162623237666134356466316361663035333361663737616135333365373166343066306438
|
|
||||||
63656634363338636434393538303965616435663033366334333265303933336139613931613438
|
|
||||||
38636235346462653361373234643231376237366137363238306665396135616534633965393763
|
|
||||||
35326533313933656431616238346263613433623931376233643234633737366361363830373431
|
|
||||||
38373639666362383530323865326265323038353061363861363336373035666565376136363862
|
|
||||||
31343030396237626534373263633131393964333563633434623131396638303138643466346538
|
|
||||||
66356165396363643435646533663964353939646262626562303939326437316539373862343765
|
|
||||||
35313865363232393865376235663762303939613238326530326332653437373436303030366165
|
|
||||||
39386239336139653832353265313935363539626133333962313061333863646632366363333539
|
|
||||||
66663463366339383033343830376334346165373264613964366638313966616331323662356561
|
|
||||||
63346231663131663635363434313534306532316632373434303133656331633533666533626433
|
|
||||||
62356333346539663161336237346236313732663966306563613832643632653433613735623261
|
|
||||||
37346335373138623932383832616436346262643032363734313433663064623534613130343933
|
|
||||||
35663237383536356332626231646135636334303037656631306235616137636639316561366531
|
|
||||||
656337653332313532393239326431323831
|
|
|
@ -1,14 +0,0 @@
|
||||||
services:
|
|
||||||
ynab:
|
|
||||||
image: crocmagnon/ynab:latest
|
|
||||||
command:
|
|
||||||
- ynab
|
|
||||||
- lcl
|
|
||||||
- --download
|
|
||||||
- --send=home_assistant
|
|
||||||
restart: "no"
|
|
||||||
environment:
|
|
||||||
- PYTHONWARNINGS=ignore:The localize method is no longer necessary
|
|
||||||
volumes:
|
|
||||||
- ./config.ini:/root/.config/ofx_processor/config.ini:ro
|
|
||||||
- ./data:/data
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -uxo pipefail
|
|
||||||
|
|
||||||
pushd /mnt/data/ynab
|
|
||||||
docker compose --ansi never pull --quiet
|
|
||||||
docker compose --ansi never down
|
|
||||||
COMPOSE_HTTP_TIMEOUT=120 docker compose --ansi never up --abort-on-container-exit --exit-code-from ynab
|
|
||||||
status=$?
|
|
||||||
popd
|
|
||||||
exit $status
|
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
- name: Ollama
|
|
||||||
hosts: servers
|
|
||||||
gather_facts: false
|
|
||||||
tasks:
|
|
||||||
- name: Docker
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: docker
|
|
||||||
|
|
||||||
vars:
|
|
||||||
docker_app_name: ollama
|
|
|
@ -1,7 +0,0 @@
|
||||||
SECRET_KEY='{{ secret_key }}'
|
|
||||||
DEBUG=false
|
|
||||||
HOSTS=checkout.augendre.info
|
|
||||||
ADMINS=Gabriel Augendre|gabriel@augendre.info
|
|
||||||
MAILGUN_API_KEY={{ mailgun_api_key }}
|
|
||||||
MAILGUN_SENDER_DOMAIN=mg.augendre.info
|
|
||||||
MPLCONFIGDIR=/app/.matplotlib
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -euo pipefail
|
|
||||||
pushd /mnt/data/ynab
|
|
||||||
./download -i {{lcl_identifier}} -p {{lcl_password}} -o out.csv -headless
|
|
||||||
./push -t {{ynab_token}} -b {{ynab_budget_id}} -a {{ynab_account_id}} -w {{webhook_url}} -f out.csv
|
|
|
@ -1,81 +0,0 @@
|
||||||
---
|
|
||||||
- name: YNAB
|
|
||||||
hosts: servers
|
|
||||||
gather_facts: false
|
|
||||||
tasks:
|
|
||||||
- name: Create dir
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: "{{ dir }}"
|
|
||||||
state: directory
|
|
||||||
mode: "0775"
|
|
||||||
- name: Write files
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "{{ dir }}/"
|
|
||||||
mode: preserve
|
|
||||||
with_fileglob:
|
|
||||||
- files/{{ app_name }}/*
|
|
||||||
- files/{{ app_name }}/.*
|
|
||||||
- name: Template ynab files
|
|
||||||
ansible.builtin.template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: /mnt/data/ynab/{{ item | basename | regex_replace('\.j2$', '') }}
|
|
||||||
mode: preserve
|
|
||||||
with_fileglob:
|
|
||||||
- templates/ynab/*.j2
|
|
||||||
loop_control:
|
|
||||||
label: "{{ item | basename }}"
|
|
||||||
|
|
||||||
vars:
|
|
||||||
app_name: ynab
|
|
||||||
dir: /mnt/data/{{ app_name }}
|
|
||||||
lcl_identifier: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
61656566333163306638626338653665326238363861363166636434386237646332376466356239
|
|
||||||
3232316637313266303438376563633363323838613035360a343032643239636539636264306536
|
|
||||||
65323734393563643065383663313033643733666365653539346239396461643136343835333334
|
|
||||||
3564346563386337610a353538393862353438613233373661353631326139663065366463626132
|
|
||||||
6537
|
|
||||||
lcl_password: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
62363534396534663536316461666565356462666564643162643364663835356230323233386165
|
|
||||||
3639393736303662346135353236623363306264636561650a393063346239363030363130636137
|
|
||||||
33343039643932613834376131626665643737306433316562373238663332326231643830396539
|
|
||||||
6465613462623065370a376439336338306333613038353865323537303439333831373062626537
|
|
||||||
6563
|
|
||||||
ynab_token: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
38663565353834633363303766613132663963353863373837616634643430653732383139316432
|
|
||||||
3862616565373734363330353464383064333235316534330a303638383062336165613030666231
|
|
||||||
36376331623231663466323065623030666133616130376639363430623065303663633361353764
|
|
||||||
3366373866343638630a383466396662383632396238626466616239333632633362393366626365
|
|
||||||
31393332613134363037363931306465646230356634353539366438643336643363333133626434
|
|
||||||
35333932663865316438393932373332623434653431356264336566613834376139616662616434
|
|
||||||
61656639333036333539316361353032313239613331386266353764343363656438306462323338
|
|
||||||
38386238343131383338
|
|
||||||
ynab_account_id: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
63646338376535393861353732333262336630363935646239303232313337386134393632626431
|
|
||||||
3433623138613366616662643764353266643061393739370a663839616265356462656166636137
|
|
||||||
31653534613565323336653161613361396635326361313562313764353262636333306263613232
|
|
||||||
3831643861666536340a393861363032616663383062333535633636363538303332666563346363
|
|
||||||
61666135613264356335326364366631646165323661656530393166383165353562646564306432
|
|
||||||
3162663936653930306361343465383331633436653431653765
|
|
||||||
ynab_budget_id: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
30616437653535643734303064636436313330653430326137616533616634643762613636613737
|
|
||||||
3035626137636434303236353261623939386364383739610a363536633230343564386333363465
|
|
||||||
35373963376238363837383165626366363739356337353039343662626438343336353533636537
|
|
||||||
6634393231313632350a366432666137396264393933363062613430633133393835663765663861
|
|
||||||
36373833656562393830323535653337383135613538356262323033643930343564396461666462
|
|
||||||
6331393437306161383537626462393239313363346163343765
|
|
||||||
webhook_url: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
33373335313163346635663038613063366439326665643164313132626664373066313966333762
|
|
||||||
3662616230353165386235323938373430636131633565320a353366616463363435363637656633
|
|
||||||
32636336613635353935396435633631396463303563333166666566373238376332626262663163
|
|
||||||
6232363435393337630a373034383165366333316436386131646336633331636434663463363866
|
|
||||||
39343635393139613638303439393133663566336566376266303761326666306432306262336563
|
|
||||||
32656461353530353230366436623233626364316536383939646238323630346261306264656264
|
|
||||||
34376162633764376637613136363731643162393864643565326235363838626231363936316462
|
|
||||||
65616534633964613864
|
|
|
@ -16,14 +16,6 @@
|
||||||
minute: 55
|
minute: 55
|
||||||
hour: 4
|
hour: 4
|
||||||
job: /mnt/data/bin/healthcheck clean-old-backups /mnt/data/bin/clean-old-backups
|
job: /mnt/data/bin/healthcheck clean-old-backups /mnt/data/bin/clean-old-backups
|
||||||
- name: Cron - YNAB
|
|
||||||
ansible.builtin.cron:
|
|
||||||
name: YNAB
|
|
||||||
minute: 50
|
|
||||||
hour: 6
|
|
||||||
weekday: TUE-SAT
|
|
||||||
job: /mnt/data/bin/healthcheck ynab /mnt/data/ynab/run-go
|
|
||||||
disabled: true
|
|
||||||
- name: Cron - Nextcloud cron
|
- name: Cron - Nextcloud cron
|
||||||
ansible.builtin.cron:
|
ansible.builtin.cron:
|
||||||
name: Nextcloud cron
|
name: Nextcloud cron
|
||||||
|
|
Loading…
Add table
Reference in a new issue