From 4216c14e0fa0e0cd6fe84c4a599e7feaf76aa802 Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Sat, 12 Oct 2024 13:11:19 +0200 Subject: [PATCH] add ynab --- playbooks/apps/all.yaml | 1 + playbooks/apps/files/ynab/Dockerfile | 12 ++++++ playbooks/apps/files/ynab/config.ini | 40 +++++++++++++++++++ playbooks/apps/files/ynab/docker-compose.yaml | 14 +++++++ playbooks/apps/files/ynab/run | 10 +++++ playbooks/apps/ynab.yaml | 11 +++++ 6 files changed, 88 insertions(+) create mode 100644 playbooks/apps/files/ynab/Dockerfile create mode 100644 playbooks/apps/files/ynab/config.ini create mode 100644 playbooks/apps/files/ynab/docker-compose.yaml create mode 100755 playbooks/apps/files/ynab/run create mode 100644 playbooks/apps/ynab.yaml diff --git a/playbooks/apps/all.yaml b/playbooks/apps/all.yaml index e3302fd..81aded8 100644 --- a/playbooks/apps/all.yaml +++ b/playbooks/apps/all.yaml @@ -20,3 +20,4 @@ - import_playbook: test_headers.yaml # noqa: name[play] - import_playbook: voice-pipeline.yaml # noqa: name[play] - import_playbook: wallabag.yaml # noqa: name[play] +- import_playbook: ynab.yaml # noqa: name[play] diff --git a/playbooks/apps/files/ynab/Dockerfile b/playbooks/apps/files/ynab/Dockerfile new file mode 100644 index 0000000..d6fb762 --- /dev/null +++ b/playbooks/apps/files/ynab/Dockerfile @@ -0,0 +1,12 @@ +FROM debian:bullseye AS downloader +WORKDIR /app +RUN apt-get update && apt-get install -y wget +ARG GECKODRIVER_VERSION="v0.30.0" +ARG GECKODRIVER_FILENAME="geckodriver-$GECKODRIVER_VERSION-linux64" +RUN wget -q https://github.com/mozilla/geckodriver/releases/download/v0.30.0/$GECKODRIVER_FILENAME.tar.gz && tar xvf $GECKODRIVER_FILENAME.tar.gz && rm $GECKODRIVER_FILENAME.tar.gz + +FROM python:3.10-slim-bullseye as final +RUN apt-get update && apt-get install -y firefox-esr +COPY --from=downloader /app/geckodriver /usr/local/bin/geckodriver +RUN pip install ofx-processor==3.2.1 +CMD ["ynab", "lcl", "--download"] diff --git a/playbooks/apps/files/ynab/config.ini b/playbooks/apps/files/ynab/config.ini new file mode 100644 index 0000000..bfa6914 --- /dev/null +++ b/playbooks/apps/files/ynab/config.ini @@ -0,0 +1,40 @@ +$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 diff --git a/playbooks/apps/files/ynab/docker-compose.yaml b/playbooks/apps/files/ynab/docker-compose.yaml new file mode 100644 index 0000000..78ca6f9 --- /dev/null +++ b/playbooks/apps/files/ynab/docker-compose.yaml @@ -0,0 +1,14 @@ +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 diff --git a/playbooks/apps/files/ynab/run b/playbooks/apps/files/ynab/run new file mode 100755 index 0000000..c867797 --- /dev/null +++ b/playbooks/apps/files/ynab/run @@ -0,0 +1,10 @@ +#!/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 diff --git a/playbooks/apps/ynab.yaml b/playbooks/apps/ynab.yaml new file mode 100644 index 0000000..ce311ca --- /dev/null +++ b/playbooks/apps/ynab.yaml @@ -0,0 +1,11 @@ +--- +- name: YNAB + hosts: servers + gather_facts: false + tasks: + - name: Docker + ansible.builtin.include_role: + name: docker + + vars: + docker_app_name: ynab