Compare commits

..
Author SHA1 Message Date
shamoon 84c61af74d Enhancement: support disable release checking 2024-06-07 16:49:14 -07:00
shamoon e6f2ff970b Documentation: clarify deployment recs 2024-06-06 12:38:27 -07:00
6 changed files with 27 additions and 5 deletions

No files matched your search

+4
View File
@@ -66,6 +66,10 @@ Homepage is highly customizable, with support for custom themes, custom CSS & JS
For configuration options, examples and more, [please check out the homepage documentation](http://gethomepage.dev).
## Security Notice 🔒
Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN.
## With Docker
Using docker compose:
+7 -1
View File
@@ -402,7 +402,7 @@ quicklaunch:
suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q=
```
## Homepage Version
## Homepage Version & Update Checking
By default the release version is displayed at the bottom of the page. To hide this, use the `hideVersion` setting, like so:
@@ -410,6 +410,12 @@ By default the release version is displayed at the bottom of the page. To hide t
hideVersion: true
```
You can disable checking for new versions from GitHub (enabled by default) with:
```yaml
disableUpdateCheck: true
```
## Log Path
By default the homepage logfile is written to the a `logs` subdirectory of the `config` folder. In order to customize this path, you can set the `logpath` setting. A `logs` folder will be created in that location where the logfile will be written.
+4
View File
@@ -7,6 +7,10 @@ description: Docs intro
You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm.
</p>
!!! danger
Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN.
<br>
<div class="grid cards" style="margin: 0 auto;" markdown>
+2 -2
View File
@@ -3,7 +3,7 @@ import useSWR from "swr";
import { compareVersions } from "compare-versions";
import { MdNewReleases } from "react-icons/md";
export default function Version() {
export default function Version({ disableUpdateCheck = false }) {
const { t, i18n } = useTranslation();
const buildTime = process.env.NEXT_PUBLIC_BUILDTIME?.length
@@ -12,7 +12,7 @@ export default function Version() {
const revision = process.env.NEXT_PUBLIC_REVISION?.length ? process.env.NEXT_PUBLIC_REVISION : "dev";
const version = process.env.NEXT_PUBLIC_VERSION?.length ? process.env.NEXT_PUBLIC_VERSION : "dev";
const { data: releaseData } = useSWR("/api/releases");
const { data: releaseData } = useSWR(disableUpdateCheck ? null : "/api/releases");
// use Intl.DateTimeFormat to format the date
const formatDate = (date) => {
+9 -1
View File
@@ -1,6 +1,14 @@
import cachedFetch from "utils/proxy/cached-fetch";
import createLogger from "utils/logger";
const logger = createLogger("releases");
export default async function handler(req, res) {
const releasesURL = "https://api.github.com/repos/gethomepage/homepage/releases";
return res.send(await cachedFetch(releasesURL, 5));
try {
return res.send(await cachedFetch(releasesURL, 5));
} catch (e) {
logger.error(`Error checking GitHub releases: ${e}`);
return res.send([]);
}
}
+1 -1
View File
@@ -445,7 +445,7 @@ function Home({ initialSettings }) {
</div>
<div id="version" className="flex mt-4 w-full justify-end">
{!settings.hideVersion && <Version />}
{!settings.hideVersion && <Version disableUpdateCheck={settings.disableUpdateCheck} />}
</div>
</div>
</div>