mirror of
https://github.com/Crocmagnon/ansible.git
synced 2025-04-05 16:46:23 +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: caddy.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: display.yaml # noqa: name[play]
|
||||
- import_playbook: ghost.yaml # noqa: name[play]
|
||||
- import_playbook: git.yaml # noqa: name[play]
|
||||
- import_playbook: goatcounter.yaml # noqa: name[play]
|
||||
|
@ -13,7 +11,6 @@
|
|||
- import_playbook: media.yaml # noqa: name[play]
|
||||
- import_playbook: miniflux.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: portainer.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: wallabag.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 {
|
||||
import common_headers
|
||||
route {
|
||||
file_server /media/* {
|
||||
root /mnt/data/checkout
|
||||
}
|
||||
reverse_proxy localhost:8002
|
||||
}
|
||||
}
|
||||
# Port 8002 is available
|
||||
|
||||
cloud.augendre.info {
|
||||
import common_headers
|
||||
|
@ -258,12 +250,7 @@ nextcloud-kibana.augendre.info {
|
|||
reverse_proxy localhost:9009
|
||||
}
|
||||
|
||||
display.augendre.info {
|
||||
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
|
||||
}
|
||||
# port 9010 is available
|
||||
|
||||
aio.augendre.info {
|
||||
import common_headers
|
||||
|
|
|
@ -30,4 +30,3 @@ versions
|
|||
backups/hass
|
||||
paperless-ngx/data
|
||||
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
|
||||
hour: 4
|
||||
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
|
||||
ansible.builtin.cron:
|
||||
name: Nextcloud cron
|
||||
|
|
Loading…
Add table
Reference in a new issue