diff --git a/.github/workflows/frontend-cicd.yml b/.github/workflows/frontend-cicd.yml index dd242f6ef..139720c3f 100644 --- a/.github/workflows/frontend-cicd.yml +++ b/.github/workflows/frontend-cicd.yml @@ -1,5 +1,3 @@ -# Based on https://github.com/actions/starter-workflows/blob/main/pages/nextjs.yml - name: Frontend CI/CD on: @@ -35,6 +33,31 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Install jq + run: sudo apt-get update && sudo apt-get install -y jq + + - name: Update JSON statuses + run: | + JSON_DIR=public/json + STATUS_FILE="$JSON_DIR/statuses.json" + + for file in "$JSON_DIR"/*.json; do + filename=$(basename "$file") + # skip the generated statuses.json itself + if [[ "$filename" == "statuses.json" ]]; then + continue + fi + + # pull status from statuses.json; skip if null or empty + status=$(jq -r --arg key "$filename" '.[$key] // empty' "$STATUS_FILE") + if [[ -n "$status" ]]; then + # inject/update top-level "status" field + jq --arg st "$status" '.status = $st' "$file" > "$file.tmp" + mv "$file.tmp" "$file" + echo "โ†’ Updated $filename with status: $status" + fi + done + - name: Setup Node uses: actions/setup-node@v4 with: diff --git a/frontend/public/json/reactive-resume.json b/frontend/public/json/reactive-resume.json index 0d86c3159..378b58bfc 100644 --- a/frontend/public/json/reactive-resume.json +++ b/frontend/public/json/reactive-resume.json @@ -12,7 +12,7 @@ "documentation": "https://docs.rxresu.me/", "website": "https://rxresu.me", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/reactive-resume-light.png", - "config_path": "/opt/reactive-resume/.env", + "config_path": "/opt/reactive-resume/.env", "description": "A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever.", "install_methods": [ { @@ -31,6 +31,6 @@ "username": null, "password": null }, - "notes": [] -} - + "notes": [], + "status": "๐Ÿšง" +} \ No newline at end of file diff --git a/frontend/public/statuses.json b/frontend/public/statuses.json new file mode 100644 index 000000000..6b04c50bd --- /dev/null +++ b/frontend/public/statuses.json @@ -0,0 +1,328 @@ +{ + "2fauth.json": "โœ…", + "add-beszel-agent-lxc.json": "โœ…", + "add-lxc-iptag.json": "โœ…", + "add-netbird-lxc.json": "โœ…", + "add-tailscale-lxc.json": "โœ…", + "adguard.json": "โœ…", + "adventurelog.json": "โœ…", + "agentdvr.json": "โœ…", + "all-templates.json": "โœ…", + "alpine-it-tools.json": "โœ…", + "alpine.json": "โœ…", + "apache-cassandra.json": "โœ…", + "apache-couchdb.json": "โœ…", + "apache-guacamole.json": "โœ…", + "apache-tika.json": "โœ…", + "apache-tomcat.json": "โœ…", + "apt-cacher-ng.json": "โœ…", + "archivebox.json": "โœ…", + "archlinux-vm.json": "๐Ÿšง", + "aria2.json": "โœ…", + "audiobookshelf.json": "โœ…", + "authelia.json": "โœ…", + "authentik.json": "๐Ÿšง", + "autobrr.json": "โœ…", + "baikal.json": "โœ…", + "barcode-buddy.json": "โœ…", + "bazarr.json": "โœ…", + "beszel.json": "โœ…", + "blocky.json": "โœ…", + "boltdiy.json": "โœ…", + "bookstack.json": "โœ…", + "bunkerweb.json": "โœ…", + "bytestash.json": "โœ…", + "caddy.json": "โœ…", + "calibre-web.json": "โœ…", + "casaos.json": "โœ…", + "changedetection.json": "โœ…", + "channels.json": "โœ…", + "checkmk.json": "โŒ", + "clean-lxcs.json": "โœ…", + "clean-orphaned-lvm.json": "๐Ÿšง", + "cloudflared.json": "โœ…", + "cockpit.json": "โœ…", + "code-server.json": "โœ…", + "commafeed.json": "โœ…", + "cosmos.json": "โœ…", + "crafty-controller.json": "โœ…", + "cron-update-lxcs.json": "โœ…", + "cronicle.json": "โœ…", + "cross-seed.json": "โœ…", + "crowdsec.json": "๐Ÿšง", + "cryptpad.json": "โœ…", + "daemonsync.json": "โŒ", + "dashy.json": "โœ…", + "debian-vm.json": "โœ…", + "debian.json": "โœ…", + "deconz.json": "โœ…", + "deluge.json": "โœ…", + "docker-vm.json": "๐Ÿšง", + "docker.json": "โœ…", + "dockge.json": "โœ…", + "docmost.json": "๐Ÿšง", + "dolibarr.json": "โœ…", + "dotnetaspwebapi.json": "๐Ÿšง", + "duplicati.json": "โœ…", + "elementsynapse.json": "โŒ", + "emby.json": "โœ…", + "emqx.json": "โœ…", + "ersatztv.json": "โœ…", + "esphome.json": "โœ…", + "evcc.json": "โœ…", + "excalidraw.json": "๐Ÿšง", + "fenrus.json": "โœ…", + "fhem.json": "โœ…", + "filebrowser.json": "โœ…", + "fileflows.json": "๐Ÿšง", + "firefly.json": "โœ…", + "flaresolverr.json": "โœ…", + "flowiseai.json": "๐Ÿšง", + "fluid-calendar.json": "๐Ÿšง", + "forgejo.json": "โœ…", + "freshrss.json": "โœ…", + "frigate.json": "โœ…", + "fstrim.json": "โœ…", + "ghost.json": "โœ…", + "gitea.json": "โœ…", + "glance.json": "โœ…", + "glances.json": "๐Ÿšง", + "glpi.json": "โœ…", + "go2rtc.json": "โœ…", + "gokapi.json": "โœ…", + "gomft.json": "โœ…", + "gotify.json": "โœ…", + "grafana.json": "โœ…", + "graylog.json": "๐Ÿšง", + "grist.json": "โœ…", + "grocy.json": "โœ…", + "habitica.json": "โœ…", + "haos-vm.json": "โŒ", + "headscale.json": "โœ…", + "heimdall-dashboard.json": "โœ…", + "hev-socks5-server.json": "โœ…", + "hivemq.json": "โœ…", + "homarr.json": "โœ…", + "homeassistant-core.json": "โœ…", + "homeassistant.json": "โœ…", + "homebox.json": "โœ…", + "homebridge.json": "โœ…", + "homepage.json": "โœ…", + "homer.json": "โœ…", + "host-backup.json": "๐Ÿงช", + "hyperhdr.json": "โœ…", + "hyperion.json": "โœ…", + "influxdb.json": "โœ…", + "inspircd.json": "โŒ", + "inventree.json": "โŒ", + "iobroker.json": "โœ…", + "iventoy.json": "โœ…", + "jackett.json": "โœ…", + "jellyfin.json": "โœ…", + "jellyseerr.json": "โœ…", + "jenkins.json": "๐Ÿšง", + "jupyternotebook.json": "๐Ÿšง", + "karakeep.json": "๐Ÿšง", + "kavita.json": "โœ…", + "kernel-clean.json": "โœ…", + "kernel-pin.json": "๐Ÿšง", + "keycloak.json": "โœ…", + "kimai.json": "๐Ÿšง", + "koillection.json": "๐Ÿšง", + "kometa.json": "๐Ÿšง", + "komga.json": "๐Ÿšง", + "komodo.json": "๐Ÿšง", + "kubo.json": "โœ…", + "lazylibrarian.json": "โœ…", + "lidarr.json": "โœ…", + "linkwarden.json": "โœ…", + "listmonk.json": "๐Ÿšง", + "lldap.json": "โŒ", + "lubelogger.json": "๐Ÿšง", + "lxc-delete.json": "๐Ÿšง", + "mafl.json": "โœ…", + "magicmirror.json": "โœ…", + "mariadb.json": "โœ…", + "matterbridge.json": "โœ…", + "mattermost.json": "๐Ÿšง", + "mediamtx.json": "โœ…", + "medusa.json": "โœ…", + "meilisearch.json": "๐Ÿšง", + "memos.json": "๐Ÿšง", + "meshcentral.json": "โœ…", + "metube.json": "โœ…", + "microcode.json": "โŒ", + "mikrotik-routeros.json": "โŒ", + "minio.json": "๐Ÿšง", + "mongodb.json": "โœ…", + "monica.json": "๐Ÿšง", + "monitor-all.json": "๐Ÿงช", + "motioneye.json": "โœ…", + "mqtt.json": "โœ…", + "mylar3.json": "๐Ÿšง", + "myspeed.json": "โœ…", + "mysql.json": "โŒ", + "n8n.json": "โœ…", + "navidrome.json": "โœ…", + "neo4j.json": "โœ…", + "netbox.json": "๐Ÿšง", + "netdata.json": "๐Ÿšง", + "nextcloud-vm.json": "โœ…", + "nextcloudpi.json": "๐Ÿšง", + "nextpvr.json": "๐Ÿšง", + "nginxproxymanager.json": "โœ…", + "nocodb.json": "โœ…", + "node-red.json": "โœ…", + "nodebb.json": "๐Ÿšง", + "notifiarr.json": "โœ…", + "npmplus.json": "โœ…", + "ntfy.json": "โœ…", + "nxwitness.json": "๐Ÿšง", + "nzbget.json": "๐Ÿšง", + "octoprint.json": "โœ…", + "olivetin.json": "โœ…", + "omada.json": "โœ…", + "ombi.json": "โœ…", + "omv.json": "โœ…", + "onedev.json": "๐Ÿšง", + "opengist.json": "๐Ÿšง", + "openhab.json": "โœ…", + "openobserve.json": "โœ…", + "openproject.json": "๐Ÿšง", + "openwebui.json": "๐Ÿšง", + "openwrt.json": "๐Ÿงช", + "openziti-controller.json": "๐Ÿšง", + "openziti-tunnel.json": "๐Ÿšง", + "opnsense-vm.json": "๐Ÿšง", + "outline.json": "๐Ÿšง", + "overseerr.json": "โœ…", + "owncast.json": "โœ…", + "owncloud-vm.json": "โŒ", + "pairdrop.json": "โœ…", + "paperless-ai.json": "๐Ÿšง", + "paperless-gpt.json": "๐Ÿšง", + "paperless-ngx.json": "โœ…", + "part-db.json": "๐Ÿšง", + "paymenter.json": "๐Ÿšง", + "pbs-microcode.json": "๐Ÿšง", + "peanut.json": "โœ…", + "pelican-panel.json": "๐Ÿšง", + "pelican-wings.json": "๐Ÿšง", + "petio.json": "โœ…", + "pf2etools.json": "๐Ÿšง", + "photoprism.json": "โœ…", + "phpipam.json": "๐Ÿšง", + "pialert.json": "โœ…", + "pihole.json": "โœ…", + "pimox-haos-vm.json": "โœ…", + "pingvin.json": "โœ…", + "plant-it.json": "๐Ÿšง", + "plex.json": "โœ…", + "pocketbase.json": "โœ…", + "pocketid.json": "๐Ÿšง", + "podman-homeassistant.json": "โœ…", + "podman.json": "โœ…", + "post-pbs-install.json": "๐Ÿšง", + "post-pmg-install.json": "๐Ÿšง", + "post-pve-install.json": "โœ…", + "postgresql.json": "โœ…", + "privatebin.json": "๐Ÿšง", + "projectsend.json": "๐Ÿšง", + "prometheus-alertmanager.json": "๐Ÿšง", + "prometheus-paperless-ngx-exporter.json": "๐Ÿšง", + "prometheus-pve-exporter.json": "๐Ÿšง", + "prometheus.json": "โœ…", + "prowlarr.json": "โœ…", + "proxmox-backup-server.json": "โœ…", + "proxmox-datacenter-manager.json": "โŒ", + "proxmox-mail-gateway.json": "โŒ", + "ps5-mqtt.json": "๐Ÿšง", + "pterodactyl-panel.json": "๐Ÿšง", + "pterodactyl-wings.json": "๐Ÿšง", + "qbittorrent.json": "โœ…", + "rabbitmq.json": "โœ…", + "radarr.json": "โœ…", + "radicale.json": "๐Ÿšง", + "rdtclient.json": "โœ…", + "reactive-resume.json": "๐Ÿšง", + "readarr.json": "โœ…", + "readeck.json": "โœ…", + "recyclarr.json": "๐Ÿšง", + "redis.json": "๐Ÿšง", + "revealjs.json": "๐Ÿšง", + "rtsptoweb.json": "โœ…", + "runtipi.json": "โœ…", + "rustdeskserver.json": "โœ…", + "sabnzbd.json": "โœ…", + "scaling-governor.json": "๐Ÿงช", + "seafile.json": "๐Ÿšง", + "searxng.json": "๐Ÿšง", + "seelf.json": "๐Ÿšง", + "semaphore.json": "๐Ÿšง", + "sftpgo.json": "โœ…", + "shinobi.json": "โœ…", + "silverbullet.json": "๐Ÿšง", + "slskd.json": "๐Ÿšง", + "smokeping.json": "โœ…", + "snipeit.json": "๐Ÿšง", + "sonarr.json": "โœ…", + "spoolman.json": "โœ…", + "sqlserver2022.json": "๐Ÿšง", + "stirling-pdf.json": "โœ…", + "suwayomi-server.json": "๐Ÿšง", + "syncthing.json": "โœ…", + "tandoor.json": "โœ…", + "tasmoadmin.json": "โœ…", + "tasmocompiler.json": "๐Ÿšง", + "tautulli.json": "โœ…", + "tdarr.json": "โœ…", + "technitiumdns.json": "โœ…", + "teddycloud.json": "โŒ", + "the-lounge.json": "๐Ÿšง", + "threadfin.json": "โœ…", + "tianji.json": "๐Ÿงช", + "traccar.json": "โœ…", + "traefik.json": "โœ…", + "transmission.json": "โœ…", + "trilium.json": "โœ…", + "turnkey.json": "๐Ÿšง", + "typesense.json": "๐Ÿšง", + "ubuntu.json": "โœ…", + "ubuntu2204-vm.json": "๐Ÿงช", + "ubuntu2404-vm.json": "๐Ÿงช", + "ubuntu2410-vm.json": "๐Ÿงช", + "umami.json": "โœ…", + "unbound.json": "โœ…", + "unifi.json": "โœ…", + "unmanic.json": "โœ…", + "update-lxcs.json": "โœ…", + "update-repo.json": "โŒ", + "uptimekuma.json": "โœ…", + "urbackupserver.json": "๐Ÿšง", + "vaultwarden.json": "โœ…", + "victoriametrics.json": "๐Ÿšง", + "vikunja.json": "โŒ", + "wallos.json": "๐Ÿšง", + "wastebin.json": "โœ…", + "watcharr.json": "๐Ÿšง", + "watchyourlan.json": "โœ…", + "wavelog.json": "๐Ÿšง", + "wazuh.json": "โŒ", + "web-check.json": "๐Ÿšง", + "webmin.json": "๐Ÿšง", + "wger.json": "๐Ÿšง", + "whisparr.json": "โœ…", + "wikijs.json": "โœ…", + "wireguard.json": "โœ…", + "wordpress.json": "๐Ÿšง", + "yt-dlp-webui.json": "๐Ÿšง", + "yunohost.json": "โœ…", + "zabbix.json": "โœ…", + "zammad.json": "๐Ÿšง", + "zerotier-one.json": "โŒ", + "zigbee2mqtt.json": "โœ…", + "zipline.json": "โœ…", + "zitadel.json": "๐Ÿšง", + "zoraxy.json": "โœ…", + "zwave-js-ui.json": "โœ…" +} \ No newline at end of file