From 6bae2f707bf8a23a72664244f31a3527be1f5e66 Mon Sep 17 00:00:00 2001 From: Jordan Roher Date: Wed, 13 Dec 2023 15:52:04 -0800 Subject: [PATCH] Moved bind mount for config file to its own folder --- compose.yml | 2 +- readme.md | 20 +++++++++++++------- src/config.json | 27 +-------------------------- src/config/config.json | 26 ++++++++++++++++++++++++++ src/pages/index.tsx | 6 ++++-- version | 2 +- 6 files changed, 46 insertions(+), 37 deletions(-) create mode 100644 src/config/config.json diff --git a/compose.yml b/compose.yml index b286616..a999ac5 100644 --- a/compose.yml +++ b/compose.yml @@ -4,5 +4,5 @@ services: ports: - 4173:4173 volumes: - - ./config.json:/app/src/config.json + - ./config.json:/app/src/config/config.json - ./icons:/app/public/icons # or wherever, JSON icon paths are relative to /app/public diff --git a/readme.md b/readme.md index 43a0b01..1286eea 100644 --- a/readme.md +++ b/readme.md @@ -30,6 +30,12 @@ Inspired by [Ben Phelps' Homepage](https://gethomepage.dev/) and [Umbrel](https: Dark mode +# Change history + +## 1.2.0 + +- Moved `config.json` bind mount destination to `/app/src/config/config.json` for improved Portainer and volume support. The previous bind mount location will continue to work, but we recommend updating your bind mounts. + # Docker ## Sample Docker compose @@ -44,7 +50,7 @@ services: - TITLE=Starbase 80 - LOGO=/starbase80.jpg volumes: - - ./config.json:/app/src/config.json + - ./config.json:/app/src/config/config.json - ./public/favicon.ico:/app/public/favicon.ico - ./public/logo.png:/app/public/logo.png - ./public/icons:/app/public/icons @@ -65,12 +71,12 @@ services: ## Volumes (bind mounts) -| Path | Required | Notes | -| ----------------------- | -------- | ----------------------------------------------------------------------------- | -| /app/src/config.json | true | Configuration with list of sites and links | -| /app/public/favicon.ico | false | Website favicon | -| /app/public/logo.png | false | Logo in the header | -| /app/public/icons | false | Or wherever you want to put them, JSON icon paths are relative to /app/public | +| Path | Required | Notes | +| --------------------------- | -------- | ----------------------------------------------------------------------------- | +| /app/src/config/config.json | true | Configuration with list of sites and links | +| /app/public/favicon.ico | false | Website favicon | +| /app/public/logo.png | false | Logo in the header | +| /app/public/icons | false | Or wherever you want to put them, JSON icon paths are relative to /app/public | # Configuration diff --git a/src/config.json b/src/config.json index 2bb665d..fe51488 100644 --- a/src/config.json +++ b/src/config.json @@ -1,26 +1 @@ -[ - { - "category": "Example category", - "services": [ - { - "name": "Check the readme", - "uri": "https://github.com/notclickable-jordan/starbase-80", - "description": "Use your own icons", - "icon": "github" - }, - { - "name": "Bind mount", - "uri": "https://github.com/notclickable-jordan/docker-symphony", - "description": "to /app/src/config.json", - "icon": "docker" - }, - { - "name": "Watch Lower Decks", - "uri": "https://www.paramountplus.com/", - "description": "On Paramount+", - "icon": "mdi-image-filter-hdr", - "iconColor": "blue-500" - } - ] - } -] +[] diff --git a/src/config/config.json b/src/config/config.json new file mode 100644 index 0000000..ed4bc77 --- /dev/null +++ b/src/config/config.json @@ -0,0 +1,26 @@ +[ + { + "category": "Example category", + "services": [ + { + "name": "Check the readme", + "uri": "https://github.com/notclickable-jordan/starbase-80", + "description": "Use your own icons", + "icon": "github" + }, + { + "name": "Bind mount", + "uri": "https://github.com/notclickable-jordan/docker-symphony", + "description": "to /app/src/config/config.json", + "icon": "docker" + }, + { + "name": "Watch Lower Decks", + "uri": "https://www.paramountplus.com/", + "description": "On Paramount+", + "icon": "mdi-image-filter-hdr", + "iconColor": "blue-500" + } + ] + } +] diff --git a/src/pages/index.tsx b/src/pages/index.tsx index d1e82c9..f9863d6 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,7 +1,9 @@ import React from "react"; import { Header } from "../components/header"; import { ServiceCatalogList } from "../components/service-catalogs"; -import userServices from "../config.json"; +import userServicesOld from "../config.json"; +import userServices from "../config/config.json"; +import { is } from "../shared/is"; import { IServiceCatalog } from "../shared/types"; import { SHOWHEADER, SHOWHEADERLINE, SHOWHEADERTOP } from "../variables"; @@ -11,7 +13,7 @@ interface IProps { } export const IndexPage: React.FunctionComponent = ({ icon, title }) => { - const mySerices = userServices as IServiceCatalog[]; + const mySerices = (is.null(userServicesOld) ? userServices : userServicesOld) as IServiceCatalog[]; let headerClassName = "p-4"; diff --git a/version b/version index ab67981..867e524 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.1.6 \ No newline at end of file +1.2.0 \ No newline at end of file