diff --git a/app/src/components/Navigation.tsx b/app/src/components/Navigation.tsx index 47639224..adba7dd7 100644 --- a/app/src/components/Navigation.tsx +++ b/app/src/components/Navigation.tsx @@ -13,7 +13,9 @@ const Navigation = () => { "https://api.github.com/repos/dokploy/dokploy" ); const data = await response.json(); - setGithubStars(data.stargazers_count); + setGithubStars( + Number.isFinite(data.stargazers_count) ? data.stargazers_count : 0 + ); } catch (error) { console.error("Error fetching GitHub stars:", error); } diff --git a/blueprints/miniflux/docker-compose.yml b/blueprints/miniflux/docker-compose.yml new file mode 100644 index 00000000..874021ac --- /dev/null +++ b/blueprints/miniflux/docker-compose.yml @@ -0,0 +1,45 @@ +version: "3.8" + +services: + miniflux: + image: miniflux/miniflux:2.2.19 + restart: unless-stopped + depends_on: + db: + condition: service_healthy + environment: + DATABASE_URL: user=miniflux password=${POSTGRES_PASSWORD} dbname=miniflux host=db sslmode=disable + RUN_MIGRATIONS: "1" + CREATE_ADMIN: "1" + ADMIN_USERNAME: ${ADMIN_USERNAME} + ADMIN_PASSWORD: ${ADMIN_PASSWORD} + BASE_URL: https://${MINIFLUX_DOMAIN} + expose: + - "8080" + healthcheck: + test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + + db: + image: postgres:18-alpine + restart: unless-stopped + environment: + POSTGRES_USER: miniflux + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: miniflux + expose: + - "5432" + volumes: + - miniflux-db:/var/lib/postgresql + healthcheck: + test: ["CMD-SHELL", "pg_isready -U miniflux -d miniflux"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + +volumes: + miniflux-db: diff --git a/blueprints/miniflux/miniflux.svg b/blueprints/miniflux/miniflux.svg new file mode 100644 index 00000000..3537ce7e --- /dev/null +++ b/blueprints/miniflux/miniflux.svg @@ -0,0 +1 @@ + diff --git a/blueprints/miniflux/template.toml b/blueprints/miniflux/template.toml new file mode 100644 index 00000000..d6f553f7 --- /dev/null +++ b/blueprints/miniflux/template.toml @@ -0,0 +1,17 @@ +[variables] +main_domain = "${domain}" +postgres_password = "${password:32}" +admin_username = "admin" +admin_password = "${password:32}" + +[config] +[[config.domains]] +serviceName = "miniflux" +port = 8080 +host = "${main_domain}" + +[config.env] +MINIFLUX_DOMAIN = "${main_domain}" +POSTGRES_PASSWORD = "${postgres_password}" +ADMIN_USERNAME = "${admin_username}" +ADMIN_PASSWORD = "${admin_password}" diff --git a/meta.json b/meta.json index 55a16f71..6584865f 100644 --- a/meta.json +++ b/meta.json @@ -4345,6 +4345,23 @@ "docker" ] }, + { + "id": "miniflux", + "name": "Miniflux", + "version": "2.2.19", + "description": "Miniflux is a minimalist and opinionated feed reader for self-hosted RSS and Atom subscriptions.", + "logo": "miniflux.svg", + "links": { + "github": "https://github.com/miniflux/v2", + "website": "https://miniflux.app/", + "docs": "https://miniflux.app/docs/" + }, + "tags": [ + "rss", + "feed-reader", + "news" + ] + }, { "id": "minio", "name": "Minio",