From 01b73909f6690e7b08cc24e64feb069c1cd17193 Mon Sep 17 00:00:00 2001 From: Soubinan Date: Fri, 24 Jan 2025 22:29:04 -0500 Subject: [PATCH 1/3] add homepage template --- templates/homepage.yml | 99 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 templates/homepage.yml diff --git a/templates/homepage.yml b/templates/homepage.yml new file mode 100644 index 0000000..4b62102 --- /dev/null +++ b/templates/homepage.yml @@ -0,0 +1,99 @@ +metadata: + name: Homepage + get_version_command: curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | jq -r '.tag_name' + description: A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations. + categories: Homepage + project_source: https://github.com/gethomepage/homepage + distribution: debian + release: bookworm + architectures: + - amd64 +instructions: + files: + - path: /opt/homepage/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/homepage.service + generator: dump + mode: "0440" + content: |- + [Unit] + Description=homepage Dashboard + After=network.target + ConditionPathExists=/app/.installed__ + + [Service] + Type=simple + WorkingDirectory=/app + EnvironmentFile=/opt/homepage/settings.env + PIDFile=homepage.pid + ExecStart=/usr/bin/pnpm start + 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/gethomepage/homepage -b v{{ image.serial }} --depth 1 /app + + cd /app + npm install -g pnpm + pnpm install + NODE_ENV=production pnpm build + + touch .installed__ + + systemctl enable homepage.service From 3d6b1fbf029e688c87c4a936566207c644ed350c Mon Sep 17 00:00:00 2001 From: Soubinan Date: Fri, 24 Jan 2025 22:30:15 -0500 Subject: [PATCH 2/3] fix wrong envfile entries --- templates/mafl.yml | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/templates/mafl.yml b/templates/mafl.yml index b3fa44b..35a7b9f 100644 --- a/templates/mafl.yml +++ b/templates/mafl.yml @@ -17,8 +17,6 @@ instructions: 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 @@ -28,14 +26,14 @@ instructions: [Unit] Description=mafl Dashboard After=network.target - ConditionPathExists=/opt/mafl/.installed__ + ConditionPathExists=/app/.installed__ [Service] Type=simple - WorkingDirectory=/opt/mafl + WorkingDirectory=/app/.output EnvironmentFile=/opt/mafl/settings.env PIDFile=/opt/mafl/mafl.pid - ExecStart=/usr/bin/node /opt/mafl/server/index.mjs + ExecStart=/usr/bin/node ./server/index.mjs Restart=always [Install] @@ -87,21 +85,17 @@ instructions: #!/bin/bash set -eux - git clone https://github.com/hywax/mafl -b v{{ image.serial }} --depth 1 /tmp/mafl + git clone https://github.com/hywax/mafl -b v{{ image.serial }} --depth 1 /app - cd /tmp/mafl + cd /app rm yarn.lock npm install -g yarn npx @nuxt/telemetry disable yarn install --non-interactive - yarn run build + NODE_ENV=production yarn run build + mkdir -p data + cp .example/config.yml data/config.yml - mkdir -p /opt/mafl/extra /opt/mafl/data /app/data - cp -r .output/* /opt/mafl/ - cp .example/config.yml /opt/mafl/data/config.yml - cp .example/config.yml /app/data/config.yml - cp extra/healthcheck.mjs /opt/mafl/extra/healthcheck.mjs - - touch /opt/mafl/.installed__ + touch .installed__ systemctl enable mafl.service From 7677ba330d2247e66257bb2656b421c0f37f47d9 Mon Sep 17 00:00:00 2001 From: Soubinan Date: Fri, 24 Jan 2025 22:31:01 -0500 Subject: [PATCH 3/3] improve welcome message table --- __layout.k | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/__layout.k b/__layout.k index 5016e08..417d200 100644 --- a/__layout.k +++ b/__layout.k @@ -1039,7 +1039,7 @@ _welcome_msg_cron = """\ _welcome_msg_script = """\ #!/bin/bash -ports=$(ss -ptln "sport > :1023 or sport = :80 or sport = :443" | grep -vE 'systemd|127.0.0.|%lo|::1|Netid|Local|next-router' | awk '{print $4}' | awk -F: '{print $NF}' | sort -u) +ports=$(ss -ptln "sport > :1023 or sport = :80 or sport = :443" | grep -vE 'systemd|sshd|127.0.0.|%lo|::1|Netid|Local|next-router' | awk '{print $4}' | awk -F: '{print $NF}' | sort -u) ips=$(ip a|grep 'inet '|grep -v '127.0.0'|awk '{print $2}') printf '\\n' @@ -1055,7 +1055,7 @@ printf '| %-10s | %-20s |\\n' 'Ports' 'Process' printf '+------------+----------------------+\\n' while read -r port; do - application=$(ss -lptn "sport == :$port" | grep -vE 'Netid|Local' | awk '{print $6}' | cut -d'"' -f2) + application=$(ss -lptn "sport == :$port" | grep -vE 'systemd|sshd|Netid|Local' | awk '{print $6}' | cut -d'"' -f2) printf '| %-10s | %-20s |\\n' $port $application done <<< $ports