Compare commits

..

58 Commits

Author SHA1 Message Date
Ben Phelps
0eab49a449 New translations common.json (Yue) (#2132) 2023-10-05 23:56:05 +00:00
shamoon
24121cd5f0 run ci on merge_group 2023-10-05 15:17:05 -07:00
Lavender Shannon
8aeded4774 Update gluetun.md (#2137)
Fixed link to control server documentation
2023-10-05 22:14:37 +00:00
Denis Papec
40522fbb96 Fix: Quicklaunch shows also services without a url (#2136)
* Fix: Quicklaunch show only services with a link

Signed-off-by: Denis Papec <denis.papec@gmail.com>

* Revert "Fix: Quicklaunch show only services with a link"

This reverts commit 30ee825611.

* Filter only bookmarks and services with href

---------

Signed-off-by: Denis Papec <denis.papec@gmail.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-10-05 22:14:25 +00:00
Ben Phelps
76cbb6e2ed Revert "New Crowdin updates (#2124)" (#2131)
This reverts commit b29c0f809c.
2023-10-05 10:02:01 -07:00
Ben Phelps
b29c0f809c New Crowdin updates (#2124) 2023-10-05 09:49:10 -07:00
shamoon
4f41be512c Include tailwind bg-black/white, greedy ping regex, adjust position 2023-10-05 09:28:43 -07:00
shamoon
b765330b4a Fix: dot visibility in some cases, translation strings (#2129) 2023-10-05 07:19:20 -07:00
Ben Phelps
ed3055ae1b Update Crowdin configuration file 2023-10-05 11:19:02 +03:00
Ben Phelps
5460f89cc9 Update Crowdin configuration file 2023-10-05 11:07:44 +03:00
Ben Phelps
29018873f5 Update Crowdin configuration file 2023-10-05 10:37:26 +03:00
Anonymous
11cacfb823 Translated using Weblate (Basque)
Currently translated at 6.2% (34 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-10-05 09:29:21 +02:00
Anonymous
eddec4adc2 Translated using Weblate (Indonesian)
Currently translated at 4.4% (24 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-10-05 09:29:21 +02:00
Anonymous
2faf51b4c0 Translated using Weblate (Slovenian)
Currently translated at 95.9% (521 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-10-05 09:29:21 +02:00
Anonymous
891c387062 Translated using Weblate (Greek)
Currently translated at 33.3% (181 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-10-05 09:29:21 +02:00
Anonymous
3b2b6cc064 Translated using Weblate (Korean)
Currently translated at 31.8% (173 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-10-05 09:29:20 +02:00
Anonymous
83a5d1b17a Translated using Weblate (Slovak)
Currently translated at 23.7% (129 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-10-05 09:29:20 +02:00
Anonymous
29b0240abd Translated using Weblate (Thai)
Currently translated at 8.8% (48 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-10-05 09:29:20 +02:00
Anonymous
8ad1f9f422 Translated using Weblate (Latvian)
Currently translated at 21.7% (118 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-10-05 09:29:20 +02:00
Anonymous
ea15a1b9e5 Translated using Weblate (Japanese)
Currently translated at 93.1% (506 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-10-05 09:29:20 +02:00
Anonymous
691ed78e75 Translated using Weblate (Ukrainian)
Currently translated at 93.1% (506 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-10-05 09:29:20 +02:00
Anonymous
5f58cb285d Translated using Weblate (Esperanto)
Currently translated at 26.7% (145 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-10-05 09:29:20 +02:00
Anonymous
a6696700b7 Translated using Weblate (Hindi)
Currently translated at 1.8% (10 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-10-05 09:29:19 +02:00
Anonymous
985ca4ae84 Translated using Weblate (Malay)
Currently translated at 46.4% (252 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-10-05 09:29:19 +02:00
Anonymous
ebda0f7b70 Translated using Weblate (Danish)
Currently translated at 95.9% (521 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-10-05 09:29:19 +02:00
Anonymous
8e7723b51d Translated using Weblate (Czech)
Currently translated at 81.7% (444 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-10-05 09:29:19 +02:00
Anonymous
24635268a0 Translated using Weblate (Arabic)
Currently translated at 48.2% (262 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-10-05 09:29:19 +02:00
Anonymous
729c161271 Translated using Weblate (Serbian)
Currently translated at 1.8% (10 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-10-05 09:29:19 +02:00
Anonymous
69af86eebe Translated using Weblate (Turkish)
Currently translated at 72.3% (393 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-10-05 09:29:18 +02:00
Anonymous
369a996f1f Translated using Weblate (Bulgarian)
Currently translated at 14.9% (81 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-10-05 09:29:18 +02:00
Anonymous
b7b63abee0 Translated using Weblate (Telugu)
Currently translated at 39.7% (216 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-10-05 09:29:18 +02:00
Anonymous
4ba47c426a Translated using Weblate (Finnish)
Currently translated at 32.5% (177 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-10-05 09:29:17 +02:00
Anonymous
29d54b032c Translated using Weblate (Yue (Traditional))
Currently translated at 21.7% (118 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-10-05 09:29:17 +02:00
Anonymous
8791aa8d0d Translated using Weblate (Portuguese (Brazil))
Currently translated at 84.8% (461 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-10-05 09:29:17 +02:00
Anonymous
337ada148c Translated using Weblate (Romanian)
Currently translated at 28.7% (156 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-10-05 09:29:17 +02:00
Anonymous
2c8348f5b5 Translated using Weblate (Hebrew)
Currently translated at 18.6% (101 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-10-05 09:29:17 +02:00
Anonymous
0eeaa99fe3 Translated using Weblate (Hungarian)
Currently translated at 86.7% (471 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-10-05 09:29:16 +02:00
Anonymous
38d2cc7bd7 Translated using Weblate (Croatian)
Currently translated at 86.5% (470 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-10-05 09:29:16 +02:00
Anonymous
759dc9f3d2 Translated using Weblate (Swedish)
Currently translated at 24.3% (132 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-10-05 09:29:16 +02:00
Anonymous
72d9a614fd Translated using Weblate (Polish)
Currently translated at 68.8% (374 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-10-05 09:29:16 +02:00
Anonymous
3d209bf572 Translated using Weblate (Catalan)
Currently translated at 48.0% (261 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-10-05 09:29:16 +02:00
Anonymous
3268db1298 Translated using Weblate (Chinese (Traditional))
Currently translated at 98.3% (534 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-10-05 09:29:16 +02:00
Anonymous
ab4a28d04a Translated using Weblate (Dutch)
Currently translated at 98.3% (534 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-10-05 09:29:15 +02:00
Anonymous
3c1644e18f Translated using Weblate (Vietnamese)
Currently translated at 8.2% (45 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-10-05 09:29:15 +02:00
Anonymous
e1f6ddaeab Translated using Weblate (Norwegian Bokmål)
Currently translated at 14.9% (81 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-10-05 09:29:15 +02:00
Anonymous
826bad8ff4 Translated using Weblate (Italian)
Currently translated at 99.4% (540 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-10-05 09:29:15 +02:00
Anonymous
8aa2bbcdd3 Translated using Weblate (Chinese (Simplified))
Currently translated at 82.8% (450 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-10-05 09:29:15 +02:00
Anonymous
aece2954df Translated using Weblate (Russian)
Currently translated at 79.1% (430 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-10-05 09:29:15 +02:00
Anonymous
5fbdbce79c Translated using Weblate (Portuguese)
Currently translated at 76.4% (415 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-10-05 09:29:14 +02:00
Anonymous
ce2bfd9d21 Translated using Weblate (French)
Currently translated at 99.6% (541 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-10-05 09:29:14 +02:00
Anonymous
df4cc6086c Translated using Weblate (Spanish)
Currently translated at 99.6% (541 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-10-05 09:29:14 +02:00
Anonymous
2c632e2b3e Translated using Weblate (German)
Currently translated at 99.0% (538 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-10-05 09:29:14 +02:00
shamoon
6de20f0ab6 Update homepage-move.md 2023-10-05 00:26:41 -07:00
shamoon
7434d597c9 Update migration docs 2023-10-05 00:22:51 -07:00
shamoon
59dbc79656 Remove deprecated notification 2023-10-04 23:55:03 -07:00
shamoon
b475f89d85 Migrate more URLs 2023-10-04 23:24:59 -07:00
shamoon
7f9ae3d01b Updating more repo URLs 2023-10-04 23:15:59 -07:00
shamoon
b12d27551a Update repo in docs 2023-10-04 23:12:53 -07:00
71 changed files with 726 additions and 657 deletions

View File

@@ -11,13 +11,13 @@ body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Have a question? 👉 [Start a new discussion](https://github.com/benphelps/homepage/discussions/new) or [ask in chat](https://discord.gg/SaPGSzrEZC). Have a question? 👉 [Start a new discussion](https://github.com/gethomepage/homepage/discussions/new) or [ask in chat](https://discord.gg/SaPGSzrEZC).
Before opening an issue, please double check: Before opening an issue, please double check:
- [The troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/). - [The troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/).
- [The homepage documentation](https://gethomepage.dev/) - [The homepage documentation](https://gethomepage.dev/)
- [Existing issues](https://github.com/benphelps/homepage/search?q=&type=issues) and [discussions](https://github.com/benphelps/homepage/search?q=&type=discussions). - [Existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions).
- type: textarea - type: textarea
id: description id: description
attributes: attributes:
@@ -95,5 +95,5 @@ body:
required: true required: true
- label: Follow [the troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/) (please include output above if applicable). - label: Follow [the troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/) (please include output above if applicable).
required: true required: true
- label: Search [existing issues](https://github.com/benphelps/homepage/search?q=&type=issues) and [discussions](https://github.com/benphelps/homepage/search?q=&type=discussions). - label: Search [existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions).
required: true required: true

View File

@@ -1,11 +1,11 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: 🤔 Questions and Help - name: 🤔 Questions and Help
url: https://github.com/benphelps/homepage/discussions url: https://github.com/gethomepage/homepage/discussions
about: This issue tracker is for bugs only, not general support questions. Please refer to our Discussions. about: This issue tracker is for bugs only, not general support questions. Please refer to our Discussions.
- name: 💬 Chat - name: 💬 Chat
url: https://discord.gg/k4ruYNrudu url: https://discord.gg/k4ruYNrudu
about: Want to discuss homepage with others? Check out our chat. about: Want to discuss homepage with others? Check out our chat.
- name: 🚀 Feature Request - name: 🚀 Feature Request
url: https://github.com/benphelps/homepage/discussions/new?category=feature-requests url: https://github.com/gethomepage/homepage/discussions/new?category=feature-requests
about: Remember to search for existing feature requests and "up-vote" any you like about: Remember to search for existing feature requests and "up-vote" any you like

View File

@@ -20,6 +20,7 @@ on:
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- 'mkdocs.yml' - 'mkdocs.yml'
merge_group:
env: env:
# Use docker.io for Docker Hub if empty # Use docker.io for Docker Hub if empty
@@ -31,7 +32,7 @@ env:
jobs: jobs:
build: build:
name: Docker Build & Push name: Docker Build & Push
if: github.repository == 'benphelps/homepage' if: github.repository == 'gethomepage/homepage'
runs-on: self-hosted runs-on: self-hosted
permissions: permissions:
contents: read contents: read
@@ -105,7 +106,6 @@ jobs:
BUILDTIME=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }} BUILDTIME=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
DEPRECATED_REPO=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.source'] == 'https://github.com/benphelps/homepage' }}
# https://github.com/docker/setup-qemu-action#about # https://github.com/docker/setup-qemu-action#about
# platforms: linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6 # platforms: linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6

View File

@@ -11,6 +11,7 @@ on:
paths: paths:
- 'docs/**' - 'docs/**'
- 'mkdocs.yml' - 'mkdocs.yml'
merge_group:
workflow_dispatch: workflow_dispatch:
permissions: permissions:
@@ -19,7 +20,7 @@ permissions:
jobs: jobs:
test: test:
name: Test Build name: Test Build
if: github.repository == 'benphelps/homepage' && github.event_name == 'pull_request' if: github.repository == 'gethomepage/homepage' && github.event_name == 'pull_request'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -40,7 +41,7 @@ jobs:
run: MKINSIDERS=false mkdocs build run: MKINSIDERS=false mkdocs build
deploy: deploy:
name: Build & Deploy name: Build & Deploy
if: github.repository == 'benphelps/homepage' && github.event_name != 'pull_request' if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4

View File

@@ -13,8 +13,8 @@ We use github to host code, to track issues and feature requests, as well as acc
## Any contributions you make will be under the GNU General Public License v3.0 ## Any contributions you make will be under the GNU General Public License v3.0
In short, when you submit code changes, your submissions are understood to be under the same [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/) that covers the project. Feel free to contact the maintainers if that's a concern. In short, when you submit code changes, your submissions are understood to be under the same [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/) that covers the project. Feel free to contact the maintainers if that's a concern.
## Report bugs using Github's [issues](https://github.com/benphelps/homepage/issues) ## Report bugs using Github's [issues](https://github.com/gethomepage/homepage/issues)
We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/benphelps/homepage/issues/new); it's that easy! We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/gethomepage/homepage/issues/new); it's that easy!
## Write bug reports with detail, background, and sample configurations ## Write bug reports with detail, background, and sample configurations
Homepage includes a lot of configuration options and is often deploying in larger systems. Please include as much information (configurations, deployment method, Docker & API versions, etc) as you can when reporting an issue. Homepage includes a lot of configuration options and is often deploying in larger systems. Please include as much information (configurations, deployment method, Docker & API versions, etc) as you can when reporting an issue.

View File

@@ -23,7 +23,6 @@ WORKDIR /app
ARG BUILDTIME ARG BUILDTIME
ARG VERSION ARG VERSION
ARG REVISION ARG REVISION
ARG DEPRECATED_REPO
COPY --link --from=deps /app/node_modules ./node_modules/ COPY --link --from=deps /app/node_modules ./node_modules/
COPY . . COPY . .
@@ -31,15 +30,15 @@ COPY . .
SHELL ["/bin/ash", "-xeo", "pipefail", "-c"] SHELL ["/bin/ash", "-xeo", "pipefail", "-c"]
RUN npm run telemetry \ RUN npm run telemetry \
&& mkdir config \ && mkdir config \
&& NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION NEXT_PUBLIC_DEPRECATED_REPO=$DEPRECATED_REPO npm run build && NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION npm run build
# Production image, copy all the files and run next # Production image, copy all the files and run next
FROM docker.io/node:18-alpine AS runner FROM docker.io/node:18-alpine AS runner
LABEL org.opencontainers.image.title "Homepage" LABEL org.opencontainers.image.title "Homepage"
LABEL org.opencontainers.image.description "A self-hosted services landing page, with docker and service integrations." LABEL org.opencontainers.image.description "A self-hosted services landing page, with docker and service integrations."
LABEL org.opencontainers.image.url="https://github.com/benphelps/homepage" LABEL org.opencontainers.image.url="https://github.com/gethomepage/homepage"
LABEL org.opencontainers.image.documentation='https://github.com/benphelps/homepage/wiki' LABEL org.opencontainers.image.documentation='https://github.com/gethomepage/homepage/wiki'
LABEL org.opencontainers.image.source='https://github.com/benphelps/homepage' LABEL org.opencontainers.image.source='https://github.com/gethomepage/homepage'
LABEL org.opencontainers.image.licenses='Apache-2.0' LABEL org.opencontainers.image.licenses='Apache-2.0'
ENV NODE_ENV production ENV NODE_ENV production

View File

@@ -14,7 +14,7 @@
</p> </p>
<p align="center"> <p align="center">
<a href="https://github.com/benphelps/homepage/actions/workflows/docker-publish.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/benphelps/homepage/docker-publish.yml"></a> <a href="https://github.com/gethomepage/homepage/actions/workflows/docker-publish.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/gethomepage/homepage/docker-publish.yml"></a>
&nbsp; &nbsp;
<a href="https://hosted.weblate.org/engage/homepage/"><img src="https://hosted.weblate.org/widgets/homepage/-/homepage/svg-badge.svg" alt="Weblate"></a> <a href="https://hosted.weblate.org/engage/homepage/"><img src="https://hosted.weblate.org/widgets/homepage/-/homepage/svg-badge.svg" alt="Weblate"></a>
&nbsp; &nbsp;
@@ -65,7 +65,7 @@ Using docker compose:
version: "3.3" version: "3.3"
services: services:
homepage: homepage:
image: ghcr.io/benphelps/homepage:latest image: ghcr.io/gethomepage/homepage:latest
container_name: homepage container_name: homepage
environment: environment:
PUID: 1000 -- optional, your user id PUID: 1000 -- optional, your user id
@@ -88,7 +88,7 @@ docker run --name homepage \
-v /path/to/config:/app/config \ -v /path/to/config:/app/config \
-v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /var/run/docker.sock:/var/run/docker.sock:ro \
--restart unless-stopped \ --restart unless-stopped \
ghcr.io/benphelps/homepage:latest ghcr.io/gethomepage/homepage:latest
``` ```
## With Node ## With Node
@@ -96,7 +96,7 @@ docker run --name homepage \
First, clone the repository: First, clone the repository:
```bash ```bash
git clone https://github.com/benphelps/homepage.git git clone https://github.com/gethomepage/homepage.git
``` ```
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like): Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):
@@ -158,9 +158,9 @@ mkdocs serve # or build, to build the static site
# Support & Suggestions # Support & Suggestions
If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/benphelps/homepage/discussions) page. If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/gethomepage/homepage/discussions) page.
For bug reports, please open an issue on the [Issues](https://github.com/benphelps/homepage/issues) page. For bug reports, please open an issue on the [Issues](https://github.com/gethomepage/homepage/issues) page.
## Contributing & Contributers ## Contributing & Contributers

3
crowdin.yml Normal file
View File

@@ -0,0 +1,3 @@
files:
- source: /public/locales/en/*.json
translation: /public/locales/%osx_locale%/%original_file_name%

View File

@@ -49,7 +49,7 @@ dockerproxy:
restart: unless-stopped restart: unless-stopped
homepage: homepage:
image: ghcr.io/benphelps/homepage:latest image: ghcr.io/gethomepage/homepage:latest
container_name: homepage container_name: homepage
volumes: volumes:
- /path/to/config:/app/config - /path/to/config:/app/config
@@ -76,7 +76,7 @@ If you'd rather use the socket directly, first make sure that you're passing the
```yaml ```yaml
homepage: homepage:
image: ghcr.io/benphelps/homepage:latest image: ghcr.io/gethomepage/homepage:latest
container_name: homepage container_name: homepage
volumes: volumes:
- /path/to/config:/app/config - /path/to/config:/app/config

View File

@@ -121,7 +121,7 @@ Services may have an optional `ping` property that allows you to monitor the ava
ping: http://some.other.host/ ping: http://some.other.host/
``` ```
<img width="1038" alt="Ping" src="https://github.com/benphelps/homepage/assets/88257202/7bc13bd3-0d0b-44e3-888c-a20e069a3233"> <img width="1038" alt="Ping" src="https://github.com/gethomepage/homepage/assets/88257202/7bc13bd3-0d0b-44e3-888c-a20e069a3233">
You can also apply different styles to the ping indicator by using the `statusStyle` property, see [settings](settings.md#status-style). You can also apply different styles to the ping indicator by using the `statusStyle` property, see [settings](settings.md#status-style).
@@ -145,7 +145,7 @@ Services may be connected to a Docker container, either running on the local mac
container: other-container container: other-container
``` ```
<img width="1038" alt="Service Containers" src="https://github.com/benphelps/homepage/assets/88257202/4c685783-52c6-4e55-afb3-affe9baac09b"> <img width="1038" alt="Service Containers" src="https://github.com/gethomepage/homepage/assets/88257202/4c685783-52c6-4e55-afb3-affe9baac09b">
**Clicking on the status label of a service with Docker integration enabled will expand the container stats, where you can see CPU, Memory, and Network activity.** **Clicking on the status label of a service with Docker integration enabled will expand the container stats, where you can see CPU, Memory, and Network activity.**
@@ -153,7 +153,7 @@ Services may be connected to a Docker container, either running on the local mac
This can also be controlled with `showStats`. See [show docker stats](docker.md#show-docker-stats) for more information This can also be controlled with `showStats`. See [show docker stats](docker.md#show-docker-stats) for more information
<img width="1038" alt="Docker Stats Expanded" src="https://github.com/benphelps/homepage/assets/88257202/f95fd595-449e-48ae-af67-fd89618904ec"> <img width="1038" alt="Docker Stats Expanded" src="https://github.com/gethomepage/homepage/assets/88257202/f95fd595-449e-48ae-af67-fd89618904ec">
## Service Integrations ## Service Integrations

View File

@@ -9,7 +9,7 @@ Using docker compose:
version: "3.3" version: "3.3"
services: services:
homepage: homepage:
image: ghcr.io/benphelps/homepage:latest image: ghcr.io/gethomepage/homepage:latest
container_name: homepage container_name: homepage
ports: ports:
- 3000:3000 - 3000:3000
@@ -30,7 +30,7 @@ In the docker compose example below, the environment variables `$PUID` and `$PGI
version: "3.3" version: "3.3"
services: services:
homepage: homepage:
image: ghcr.io/benphelps/homepage:latest image: ghcr.io/gethomepage/homepage:latest
container_name: homepage container_name: homepage
ports: ports:
- 3000:3000 - 3000:3000
@@ -45,7 +45,7 @@ services:
### With Docker Run ### With Docker Run
```bash ```bash
docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/benphelps/homepage:latest docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest
``` ```
### Using Environment Secrets ### Using Environment Secrets

View File

@@ -291,7 +291,7 @@ spec:
enableServiceLinks: true enableServiceLinks: true
containers: containers:
- name: homepage - name: homepage
image: "ghcr.io/benphelps/homepage:latest" image: "ghcr.io/gethomepage/homepage:latest"
imagePullPolicy: Always imagePullPolicy: Always
ports: ports:
- name: http - name: http

View File

@@ -6,7 +6,7 @@ description: Install and run homepage from source
First, clone the repository: First, clone the repository:
```bash ```bash
git clone https://github.com/benphelps/homepage.git git clone https://github.com/gethomepage/homepage.git
``` ```
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like): Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):

View File

@@ -3,6 +3,6 @@ title: Homepage Move
description: Homepage Container Deprecation description: Homepage Container Deprecation
--- ---
As of v0.7.1 homepage migrated from benphelps/homepage to an "orgnization" located at gethomepage/homepage. The reason for this is to setup the project for longevity and allow for community maintenance. As of v0.7.2 homepage migrated from benphelps/homepage to an "organization" repository located at [gethomepage/homepage](https://github.com/gethomepage/homepage/). The reason for this was to setup the project for longevity and allow for community maintenance.
Migrating your installation should be as simple as changing `image: ghcr.io/benphelps/homepage:latest` to `image: ghcr.io/gethomepage/homepage:latest`. Migrating your installation should be as simple as changing `image: ghcr.io/benphelps/homepage:latest` to `image: ghcr.io/gethomepage/homepage:latest`.

View File

@@ -3,7 +3,7 @@ title: Glances
description: Glances Widget Configuration description: Glances Widget Configuration
--- ---
<img width="1614" alt="glances" src="https://github.com/benphelps/homepage-docs/assets/82196/25648c97-2c1b-4db0-b5a5-f1509806079c"> <img width="1614" alt="glances" src="https://github.com/gethomepage/homepage-docs/assets/82196/25648c97-2c1b-4db0-b5a5-f1509806079c">
_(Find the Glances information widget [here](../info/glances.md))_ _(Find the Glances information widget [here](../info/glances.md))_
@@ -59,7 +59,7 @@ The metric field in the configuration determines the type of system monitoring d
All widgets offer an alternative to the full or "graph" view, which is the compact, or "graphless" view. All widgets offer an alternative to the full or "graph" view, which is the compact, or "graphless" view.
<img width="970" alt="Screenshot 2023-09-06 at 1 51 48PM" src="https://github.com/benphelps/homepage-docs/assets/82196/cc6b9adc-4218-4274-96ca-36c3e64de5d0"> <img width="970" alt="Screenshot 2023-09-06 at 1 51 48PM" src="https://github.com/gethomepage/homepage-docs/assets/82196/cc6b9adc-4218-4274-96ca-36c3e64de5d0">
To switch to the alternative "graphless" view, simply passs `chart: false` as an option to the widget, like so: To switch to the alternative "graphless" view, simply passs `chart: false` as an option to the widget, like so:

View File

@@ -3,7 +3,7 @@ title: Gluetun
description: Gluetun Widget Configuration description: Gluetun Widget Configuration
--- ---
Requires [HTTP control server options](https://github.com/qdm12/gluetun/wiki/HTTP-control-server-options) to be enabled. Requires [HTTP control server options](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md) to be enabled.
Allowed fields: `["public_ip", "region", "country"]`. Allowed fields: `["public_ip", "region", "country"]`.

View File

@@ -3,7 +3,7 @@ title: MJPEG
description: MJPEG Stream Widget Configuration description: MJPEG Stream Widget Configuration
--- ---
![camera-preview](https://github.com/benphelps/homepage-docs/assets/82196/dc375ae3-0670-489f-8db6-83ff1f423d12) ![camera-preview](https://github.com/gethomepage/homepage-docs/assets/82196/dc375ae3-0670-489f-8db6-83ff1f423d12)
Pass the stream URL from a service like [µStreamer](https://github.com/pikvm/ustreamer) or [camera-streamer](https://github.com/ayufan/camera-streamer). Pass the stream URL from a service like [µStreamer](https://github.com/pikvm/ustreamer) or [camera-streamer](https://github.com/ayufan/camera-streamer).

View File

@@ -3,7 +3,7 @@ title: Syncthing Relay Server
description: Syncthing Relay Server Widget Configuration description: Syncthing Relay Server Widget Configuration
--- ---
Pulls stats from the [relay server](https://docs.syncthing.net/users/strelaysrv.html). [See here](https://github.com/benphelps/homepage/pull/230#issuecomment-1253053472) for more information on configuration. Pulls stats from the [relay server](https://docs.syncthing.net/users/strelaysrv.html). [See here](https://github.com/gethomepage/homepage/pull/230#issuecomment-1253053472) for more information on configuration.
Allowed fields: `["numActiveSessions", "numConnections", "bytesProxied"]`. Allowed fields: `["numActiveSessions", "numConnections", "bytesProxied"]`.

View File

@@ -4,9 +4,9 @@ site_name: homepage
site_url: https://gethomepage.dev/ site_url: https://gethomepage.dev/
# Repository # Repository
repo_name: benphelps/homepage repo_name: gethomepage/homepage
repo_url: https://github.com/benphelps/homepage repo_url: https://github.com/gethomepage/homepage
edit_uri: https://github.com/benphelps/homepage/tree/main/docs/ edit_uri: https://github.com/gethomepage/homepage/tree/main/docs/
nav: nav:
- "Home": - "Home":
@@ -149,6 +149,7 @@ nav:
- more/index.md - more/index.md
- more/development.md - more/development.md
- more/translations.md - more/translations.md
- more/homepage-move.md
theme: theme:
name: material name: material
@@ -196,9 +197,9 @@ extra:
- icon: fontawesome/brands/discord - icon: fontawesome/brands/discord
link: https://discord.gg/k4ruYNrudu link: https://discord.gg/k4ruYNrudu
- icon: fontawesome/regular/message - icon: fontawesome/regular/message
link: https://github.com/benphelps/homepage/discussions link: https://github.com/gethomepage/homepage/discussions
- icon: fontawesome/brands/github - icon: fontawesome/brands/github
link: https://github.com/benphelps/homepage link: https://github.com/gethomepage/homepage
markdown_extensions: markdown_extensions:
- pymdownx.highlight: - pymdownx.highlight:

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "خطأ", "error": "خطأ",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "إجتاز", "passed": "إجتاز",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"ping": "Ping", "ping": "Ping",
"error": "Грешка" "error": "Грешка",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprobat", "passed": "Aprobat",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Chyba", "error": "Chyba",
"ping": "Odezva" "ping": "Odezva",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Úspěšné", "passed": "Úspěšné",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Fejl", "error": "Fejl",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Bestået", "passed": "Bestået",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"ping": "Ping", "ping": "Ping",
"error": "Fehler" "error": "Fehler",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Bestanden", "passed": "Bestanden",

View File

@@ -136,7 +136,9 @@
}, },
"ping": { "ping": {
"error": "Σφάλμα", "error": "Σφάλμα",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "Παίζει", "playing": "Παίζει",

View File

@@ -79,10 +79,12 @@
"partial": "Partial" "partial": "Partial"
}, },
"ping": { "ping": {
"http_status": "HTTP status",
"error": "Error", "error": "Error",
"ping": "Ping", "ping": "Ping",
"down": "Down", "down": "Down",
"up": "Up" "up": "Up",
"not_available": "Not Available"
}, },
"emby": { "emby": {
"playing": "Playing", "playing": "Playing",

View File

@@ -67,7 +67,9 @@
}, },
"ping": { "ping": {
"error": "Eraro", "error": "Eraro",
"ping": "Sondaĵo" "ping": "Sondaĵo",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "Ludante", "playing": "Ludante",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprobado", "passed": "Aprobado",

View File

@@ -140,7 +140,9 @@
}, },
"ping": { "ping": {
"error": "Errorea", "error": "Errorea",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "Playing", "playing": "Playing",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Erreur", "error": "Erreur",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Réussi", "passed": "Réussi",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Greška", "error": "Greška",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Uspjelo", "passed": "Uspjelo",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Hiba", "error": "Hiba",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Megfelelt", "passed": "Megfelelt",

View File

@@ -610,7 +610,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "Playing", "playing": "Playing",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Errore", "error": "Errore",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passati", "passed": "Passati",

View File

@@ -117,7 +117,9 @@
}, },
"ping": { "ping": {
"error": "エラー", "error": "エラー",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "再生中", "playing": "再生中",

View File

@@ -85,7 +85,9 @@
}, },
"ping": { "ping": {
"error": "오류", "error": "오류",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "재생 중", "playing": "재생 중",

View File

@@ -71,7 +71,9 @@
}, },
"ping": { "ping": {
"error": "Kļūda", "error": "Kļūda",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "Atskaņo", "playing": "Atskaņo",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Ralat", "error": "Ralat",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Lulus", "passed": "Lulus",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Fout", "error": "Fout",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Gepasseerd", "passed": "Gepasseerd",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Błąd", "error": "Błąd",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Powodzenie", "passed": "Powodzenie",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Erro", "error": "Erro",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passou", "passed": "Passou",

View File

@@ -395,7 +395,9 @@
}, },
"ping": { "ping": {
"error": "Erro", "error": "Erro",
"ping": "Tempo de resposta" "ping": "Tempo de resposta",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprovado", "passed": "Aprovado",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Ошибка", "error": "Ошибка",
"ping": "Пинг" "ping": "Пинг",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"failed": "Неудачно", "failed": "Неудачно",

View File

@@ -195,7 +195,9 @@
}, },
"ping": { "ping": {
"error": "Chyba", "error": "Chyba",
"ping": "Odozva" "ping": "Odozva",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "Prehrávané", "playing": "Prehrávané",

View File

@@ -152,7 +152,9 @@
}, },
"ping": { "ping": {
"error": "Napaka", "error": "Napaka",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "Predvaja", "playing": "Predvaja",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

View File

@@ -107,7 +107,9 @@
}, },
"ping": { "ping": {
"error": "ข้อผิดพลาด", "error": "ข้อผิดพลาด",
"ping": "ปิง" "ping": "ปิง",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "กำลังเล่น", "playing": "กำลังเล่น",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Hata", "error": "Hata",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Geçti", "passed": "Geçti",

View File

@@ -172,7 +172,9 @@
}, },
"ping": { "ping": {
"error": "Помилка", "error": "Помилка",
"ping": "Пінг" "ping": "Пінг",
"up": "Up",
"down": "Down"
}, },
"emby": { "emby": {
"playing": "Відтворення", "playing": "Відтворення",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",

File diff suppressed because it is too large Load Diff

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "错误", "error": "错误",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "通过", "passed": "通过",

View File

@@ -382,7 +382,9 @@
}, },
"ping": { "ping": {
"error": "錯誤", "error": "錯誤",
"ping": "Ping" "ping": "Ping",
"up": "Up",
"down": "Down"
}, },
"scrutiny": { "scrutiny": {
"passed": "通過", "passed": "通過",

View File

@@ -77,7 +77,7 @@ export default function Item({ service, group }) {
</div> </div>
)} )}
<div className={`absolute top-0 right-0 flex flex-row justify-end ${statusStyle === 'dot' ? 'gap-0' : 'gap-2'} mr-2 z-30 service-tags`}> <div className={`absolute top-0 right-0 flex flex-row justify-end ${statusStyle === 'dot' ? 'gap-0' : 'gap-2 mr-2'} z-30 service-tags`}>
{service.ping && ( {service.ping && (
<div className="flex-shrink-0 flex items-center justify-center service-tag service-ping"> <div className="flex-shrink-0 flex items-center justify-center service-tag service-ping">
<Ping group={group} service={service.name} style={statusStyle} /> <Ping group={group} service={service.name} style={statusStyle} />

View File

@@ -8,7 +8,7 @@ export default function KubernetesStatus({ service, style }) {
let statusLabel = t("docker.unknown"); let statusLabel = t("docker.unknown");
let statusTitle = ""; let statusTitle = "";
let backgroundClass = "px-1.5 py-0.5 bg-theme-500/10 dark:bg-theme-900/50"; let backgroundClass = "px-1.5 py-0.5 bg-theme-500/10 dark:bg-theme-900/50";
let colorClass = "text-black/20 dark:text-white/40 "; let colorClass = "text-black/20 dark:text-white/40 opacity-20";
if (error) { if (error) {
statusTitle = t("docker.error"); statusTitle = t("docker.error");
@@ -29,8 +29,8 @@ export default function KubernetesStatus({ service, style }) {
} }
if (style === 'dot') { if (style === 'dot') {
colorClass = colorClass.replace('text-', 'bg-').replace(/\/\d\d$/, ''); colorClass = colorClass.replace(/text-/g, 'bg-').replace(/\/\d\d/g, '');
backgroundClass = "p-3 hover:bg-theme-500/10 dark:hover:bg-theme-900/20"; backgroundClass = "p-4 hover:bg-theme-500/10 dark:hover:bg-theme-900/20";
} }
return ( return (

View File

@@ -7,44 +7,43 @@ export default function Ping({ group, service, style }) {
refreshInterval: 30000 refreshInterval: 30000
}); });
let colorClass = "" let colorClass = "text-black/20 dark:text-white/40 opacity-20";
let backgroundClass = "bg-theme-500/10 dark:bg-theme-900/50 px-1.5 py-0.5"; let backgroundClass = "bg-theme-500/10 dark:bg-theme-900/50 px-1.5 py-0.5";
let statusTitle = "HTTP status"; let statusTitle = t("ping.http_status");
let statusText; let statusText = "";
if (error) { if (error) {
colorClass = "text-rose-500" colorClass = "text-rose-500";
statusText = t("ping.error") statusText = t("ping.error");
statusTitle += " error" statusTitle += ` ${t("ping.error")}`;
} else if (!data) { } else if (!data) {
colorClass = "text-black/20 dark:text-white/40" statusText = t("ping.ping");
statusText = t("ping.ping") statusTitle += ` ${t("ping.not_available")}`;
statusTitle += " not available"
} else if (data.status > 403) { } else if (data.status > 403) {
colorClass = "text-rose-500/80" colorClass = "text-rose-500/80";
statusTitle += ` ${data.status}` statusTitle += ` ${data.status}`;
if (style === "basic") { if (style === "basic") {
statusText = t("ping.down") statusText = t("ping.down");
} else { } else {
statusText = data.status statusText = data.status;
} }
} else { } else if (data) {
const ping = t("common.ms", { value: data.latency, style: "unit", unit: "millisecond", maximumFractionDigits: 0 }) const ping = t("common.ms", { value: data.latency, style: "unit", unit: "millisecond", maximumFractionDigits: 0 })
statusTitle += ` ${data.status} (${ping})`; statusTitle += ` ${data.status} (${ping})`;
colorClass = "text-emerald-500/80" colorClass = "text-emerald-500/80";
if (style === "basic") { if (style === "basic") {
statusText = t("ping.up") statusText = t("ping.up");
} else { } else {
statusText = ping statusText = ping;
colorClass += " lowercase" colorClass += " lowercase";
} }
} }
if (style === "dot") { if (style === "dot") {
backgroundClass = 'p-3'; backgroundClass = 'p-4';
colorClass = colorClass.replace('text-', 'bg-').replace(/\/\d\d$/, ''); colorClass = colorClass.replace(/text-/g, 'bg-').replace(/\/\d\d/g, '');
} }
return ( return (

View File

@@ -46,7 +46,7 @@ export default function Status({ service, style }) {
if (style === 'dot') { if (style === 'dot') {
colorClass = colorClass.replace('text-', 'bg-').replace(/\/\d\d$/, ''); colorClass = colorClass.replace('text-', 'bg-').replace(/\/\d\d$/, '');
backgroundClass = "p-3 hover:bg-theme-500/10 dark:hover:bg-theme-900/20"; backgroundClass = "p-4 hover:bg-theme-500/10 dark:hover:bg-theme-900/20";
} }
return ( return (

View File

@@ -33,7 +33,7 @@ export default function Version() {
</> </>
) : ( ) : (
<a <a
href={`https://github.com/benphelps/homepage/releases/tag/${version}`} href={`https://github.com/gethomepage/homepage/releases/tag/${version}`}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className="ml-2 text-xs text-theme-500 dark:text-theme-400 flex flex-row items-center" className="ml-2 text-xs text-theme-500 dark:text-theme-400 flex flex-row items-center"

View File

@@ -1,6 +1,6 @@
import cachedFetch from "utils/proxy/cached-fetch"; import cachedFetch from "utils/proxy/cached-fetch";
export default async function handler(req, res) { export default async function handler(req, res) {
const releasesURL = "https://api.github.com/repos/benphelps/homepage/releases"; const releasesURL = "https://api.github.com/repos/gethomepage/homepage/releases";
return res.send(await cachedFetch(releasesURL, 5)); return res.send(await cachedFetch(releasesURL, 5));
} }

View File

@@ -27,7 +27,6 @@ import ErrorBoundary from "components/errorboundry";
import themes from "utils/styles/themes"; import themes from "utils/styles/themes";
import QuickLaunch from "components/quicklaunch"; import QuickLaunch from "components/quicklaunch";
import { getStoredProvider, searchProviders } from "components/widgets/search/search"; import { getStoredProvider, searchProviders } from "components/widgets/search/search";
import ResolvedIcon from "components/resolvedicon";
const ThemeToggle = dynamic(() => import("components/toggles/theme"), { const ThemeToggle = dynamic(() => import("components/toggles/theme"), {
ssr: false, ssr: false,
@@ -168,17 +167,6 @@ const headerStyles = {
boxedWidgets: "m-6 mb-0 sm:m-9 sm:mb-0 sm:mt-1", boxedWidgets: "m-6 mb-0 sm:m-9 sm:mb-0 sm:mt-1",
}; };
const deprecatedNotificationDismissedStorageKey = "deprecated-notification-dismissed";
const getNotificationDismissed = () => {
if (typeof window !== "undefined" && window.localStorage) {
const dismissed = window.localStorage.getItem(deprecatedNotificationDismissedStorageKey);
return dismissed;
}
return false;
};
function Home({ initialSettings }) { function Home({ initialSettings }) {
const { i18n } = useTranslation(); const { i18n } = useTranslation();
const { theme, setTheme } = useContext(ThemeContext); const { theme, setTheme } = useContext(ThemeContext);
@@ -187,9 +175,6 @@ function Home({ initialSettings }) {
const { activeTab, setActiveTab } = useContext(TabContext); const { activeTab, setActiveTab } = useContext(TabContext);
const { asPath } = useRouter(); const { asPath } = useRouter();
const isDeprecatedRepo = process.env.NEXT_PUBLIC_DEPRECATED_REPO;
const [notificationDismissed, setNotificationDismissed] = useState(getNotificationDismissed);
useEffect(() => { useEffect(() => {
setSettings(initialSettings); setSettings(initialSettings);
}, [initialSettings, setSettings]); }, [initialSettings, setSettings]);
@@ -198,7 +183,7 @@ function Home({ initialSettings }) {
const { data: bookmarks } = useSWR("/api/bookmarks"); const { data: bookmarks } = useSWR("/api/bookmarks");
const { data: widgets } = useSWR("/api/widgets"); const { data: widgets } = useSWR("/api/widgets");
const servicesAndBookmarks = [...services.map(sg => sg.services).flat(), ...bookmarks.map(bg => bg.bookmarks).flat()] const servicesAndBookmarks = [...services.map(sg => sg.services).flat(), ...bookmarks.map(bg => bg.bookmarks).flat()].filter(i => i?.href);
useEffect(() => { useEffect(() => {
if (settings.language) { if (settings.language) {
@@ -435,23 +420,6 @@ function Home({ initialSettings }) {
</div> </div>
<div id="version" className="flex mt-4 w-full justify-end"> <div id="version" className="flex mt-4 w-full justify-end">
{isDeprecatedRepo && !notificationDismissed && // outside version in case its hidden
<div className="flex flex-row items-center py-1 pl-2 mr-3 rounded-md text-xs text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-rose-900/80">
<a className="italic flex flex-row items-center" href="https://gethomepage.dev/latest/more/homepage-move/" title="Read more..." target="_blank" rel="noreferrer">
<span className="inline-block flex-shrink-0 mr-1 w-3 h-3">
<ResolvedIcon icon="mdi-alert" />
</span>
Homepage has moved!
</a>
<button type="button" className="ml-2 w-4 h-4 mr-1" title="Hide this notification"
onClick={() => {
setNotificationDismissed(true);
localStorage.setItem(deprecatedNotificationDismissedStorageKey, true);
}}>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"/></svg>
</button>
</div>
}
{!settings.hideVersion && <Version />} {!settings.hideVersion && <Version />}
</div> </div>
</div> </div>

View File

@@ -75,7 +75,7 @@ export function getSettings() {
if (initialSettings.layout) { if (initialSettings.layout) {
// support yaml list but old spec was object so convert to that // support yaml list but old spec was object so convert to that
// see https://github.com/benphelps/homepage/issues/1546 // see https://github.com/gethomepage/homepage/issues/1546
if (Array.isArray(initialSettings.layout)) { if (Array.isArray(initialSettings.layout)) {
const layoutItems = initialSettings.layout const layoutItems = initialSettings.layout
initialSettings.layout = {} initialSettings.layout = {}

View File

@@ -24,7 +24,7 @@ async function fetchFromPyloadAPI(url, sessionId, params, service) {
}, },
}; };
// see https://github.com/benphelps/homepage/issues/517 // see https://github.com/gethomepage/homepage/issues/517
const isNg = cache.get(`${isNgCacheKey}.${service}`); const isNg = cache.get(`${isNgCacheKey}.${service}`);
if (isNg && !params) { if (isNg && !params) {
delete options.body; delete options.body;
@@ -50,7 +50,7 @@ async function login(loginUrl, service, username, password = '') {
if (status !== 200 || sessionId === false) { if (status !== 200 || sessionId === false) {
logger.error(`HTTP ${status} logging into Pyload API, returned: ${JSON.stringify(sessionId)}`); logger.error(`HTTP ${status} logging into Pyload API, returned: ${JSON.stringify(sessionId)}`);
} else if (responseHeaders['set-cookie']?.join().includes('pyload_session')) { } else if (responseHeaders['set-cookie']?.join().includes('pyload_session')) {
// Support pyload-ng, see https://github.com/benphelps/homepage/issues/517 // Support pyload-ng, see https://github.com/gethomepage/homepage/issues/517
cache.put(`${isNgCacheKey}.${service}`, true); cache.put(`${isNgCacheKey}.${service}`, true);
const sessionCookie = responseHeaders['set-cookie'][0]; const sessionCookie = responseHeaders['set-cookie'][0];
cache.put(`${sessionCacheKey}.${service}`, sessionCookie, 60 * 60 * 23 * 1000); // cache for 23h cache.put(`${sessionCacheKey}.${service}`, sessionCookie, 60 * 60 * 23 * 1000); // cache for 23h

View File

@@ -70,5 +70,8 @@ module.exports = {
'lg:grid-cols-6', 'lg:grid-cols-6',
'lg:grid-cols-7', 'lg:grid-cols-7',
'lg:grid-cols-8', 'lg:grid-cols-8',
'bg-white',
'bg-black',
'dark:bg-white',
], ],
} }