From d31cc1cc11c2d1c4deb404609d072ea24784d585 Mon Sep 17 00:00:00 2001 From: Soubinan Date: Fri, 24 Jan 2025 08:32:04 -0500 Subject: [PATCH] add template for mafl --- templates/mafl.yml | 106 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 templates/mafl.yml diff --git a/templates/mafl.yml b/templates/mafl.yml new file mode 100644 index 0000000..17a84b9 --- /dev/null +++ b/templates/mafl.yml @@ -0,0 +1,106 @@ +metadata: + name: Mafl + get_version_command: curl -s https://api.github.com/repos/hywax/mafl/releases/latest | jq -r '.tag_name' + description: Minimalistic flexible homepage. + categories: Homepage + project_source: https://github.com/hywax/mafl + distribution: debian + release: bookworm + architectures: + - amd64 +instructions: + files: + - path: /opt/mafl/settings.env + generator: dump + mode: "0440" + content: |- + PORT=3000 + NEXT_TELEMETRY_DISABLED=1 + NODE_ENV="production" + NODE_OPTIONS="--no-experimental-fetch" + HOSTNAME="127.0.0.1" + DEFAULT_COLOR_SCHEME="dark" + + - path: /etc/systemd/system/mafl.service + generator: dump + mode: "0440" + content: |- + [Unit] + Description=mafl Dashboard + After=network.target + ConditionPathExists=/opt/mafl/.installed__ + + [Service] + Type=simple + WorkingDirectory=/opt/mafl + EnvironmentFile=/opt/mafl/settings.env + PIDFile=/opt/mafl/mafl.pid + ExecStart=/usr/bin/node /opt/mafl/server/index.mjs + Restart=always + + [Install] + WantedBy=multi-user.target + + packages: + - git + - nodejs + + repositories: + - name: nodejs + url: |- + deb http://deb.nodesource.com/node_20.x nodistro main + key: |- + -----BEGIN PGP PUBLIC KEY BLOCK----- + + mQENBFdDN1ABCADaNd/I3j3tn40deQNgz7hB2NvT+syXe6k4ZmdiEcOfBvFrkS8B + hNS67t93etHsxEy7E0qwsZH32bKazMqe9zDwoa3aVImryjh6SHC9lMtW27JPHFeM + Srkt9YmH1WMwWcRO6eSY9B3PpazquhnvbammLuUojXRIxkDroy6Fw4UKmUNSRr32 + 9Ej87jRoR1B2/57Kfp2Y4+vFGGzSvh3AFQpBHq51qsNHALU6+8PjLfIt+5TPvaWR + TB+kAZnQZkaIQM2nr1n3oj6ak2RATY/+kjLizgFWzgEfbCrbsyq68UoY5FPBnu4Z + E3iDZpaIqwKr0seUC7iA1xM5eHi5kty1oB7HABEBAAG0Ik5Tb2xpZCA8bnNvbGlk + LWdwZ0Bub2Rlc291cmNlLmNvbT6JATgEEwECACIFAldDN1ACGwMGCwkIBwMCBhUI + AgkKCwQWAgMBAh4BAheAAAoJEC9ZtfmbG+C0y7wH/i4xnab36dtrYW7RZwL8i6Sc + NjMx4j9+U1kr/F6YtqWd+JwCbBdar5zRghxPcYEq/qf7MbgAYcs1eSOuTOb7n7+o + xUwdH2iCtHhKh3Jr2mRw1ks7BbFZPB5KmkxHaEBfLT4d+I91ZuUdPXJ+0SXs9gzk + Dbz65Uhoz3W03aiF8HeL5JNARZFMbHHNVL05U1sTGTCOtu+1c/33f3TulQ/XZ3Y4 + hwGCpLe0Tv7g7Lp3iLMZMWYPEa0a7S4u8he5IEJQLd8bE8jltcQvrdr3Fm8kI2Jg + BJmUmX4PSfhuTCFaR/yeCt3UoW883bs9LfbTzIx9DJGpRIu8Y0IL3b4sj/GoZVq5 + AQ0EV0M3UAEIAKrTaC62ayzqOIPa7nS90BHHck4Z33a2tZF/uof38xNOiyWGhT8u + JeFoTTHn5SQq5Ftyu4K3K2fbbpuu/APQF05AaljzVkDGNMW4pSkgOasdysj831cu + ssrHX2RYS22wg80k6C/Hwmh5F45faEuNxsV+bPx7oPUrt5n6GMx84vEP3i1+FDBi + 0pt/B/QnDFBXki1BGvJ35f5NwDefK8VaInxXP3ZN/WIbtn5dqxppkV/YkO7GiJlp + Jlju9rf3kKUIQzKQWxFsbCAPIHoWv7rH9RSxgDithXtG6Yg5R1aeBbJaPNXL9wpJ + YBJbiMjkAFaz4B95FOqZm3r7oHugiCGsHX0AEQEAAYkBHwQYAQIACQUCV0M3UAIb + DAAKCRAvWbX5mxvgtE/OB/0VN88DR3Y3fuqy7lq/dthkn7Dqm9YXdorZl3L152eE + IF882aG8FE3qZdaLGjQO4oShAyNWmRfSGuoH0XERXAI9n0r8m4mDMxE6rtP7tHet + y/5M8x3CTyuMgx5GLDaEUvBusnTD+/v/fBMwRK/cZ9du5PSG4R50rtst+oYyC2ao + x4I2SgjtF/cY7bECsZDplzatN3gv34PkcdIg8SLHAVlL4N5tzumDeizRspcSyoy2 + K2+hwKU4C4+dekLLTg8rjnRROvplV2KtaEk6rxKtIRFDCoQng8wfJuIMrDNKvqZw + FRGt7cbvW5MCnuH8MhItOl9Uxp1wHp6gtav/h8Gp6MBa + =MARt + -----END PGP PUBLIC KEY BLOCK----- + + actions: + - trigger: post-files + pongo: true + action: |- + #!/bin/bash + set -eux + + git clone https://github.com/hywax/mafl -b v{{ image.serial }} --depth 1 /app + + cd /app + rm yarn.lock + npm install -g yarn + npx @nuxt/telemetry disable + yarn install --non-interactive + yarn run build + + mkdir -p /opt/mafl/extra + cp -r /app/.output/* /opt/mafl/ + cp /app/extra/healthcheck.mjs /opt/mafl/extra/healthcheck.mjs + + rm -rf /app + touch /opt/mafl/.installed__ + + systemctl enable mafl.service