2022-09-27 20:37:13 +03:00
< p align = "center" >
2022-09-27 20:38:10 +03:00
< picture >
2022-10-08 16:04:24 +03:00
< source media = "(prefers-color-scheme: dark)" srcset = "images/banner_light @2x .png" >
< img src = "images/banner_dark @2x .png" width = "65%" >
2022-09-27 20:38:10 +03:00
< / picture >
2022-10-01 10:30:54 +03:00
< / p >
< p align = "center" >
2022-10-08 23:02:09 +03:00
A modern < em > (fully static, fast)< / em > , secure < em > (fully proxied)< / em > , highly customizable application dashboard with integrations for more than 25 services and translations for over 15 languages. Easily configured via YAML files (or discovery via docker labels).
2022-10-01 10:30:54 +03:00
< / p >
< p align = "center" >
2022-09-27 20:37:13 +03:00
< img src = "images/1.png" / >
2022-10-01 10:30:54 +03:00
< / p >
< p align = "center" >
2022-09-27 20:38:10 +03:00
< img src = "images/2.png" width = "19%" / >
< img src = "images/3.png" width = "19%" / >
< img src = "images/4.png" width = "19%" / >
< img src = "images/5.png" width = "19%" / >
< img src = "images/6.png" width = "19%" / >
2022-09-27 20:37:13 +03:00
< / p >
2022-08-25 03:36:08 +03:00
2022-09-21 22:53:19 +03:00
< p align = "center" >
< a href = "https://discord.gg/k4ruYNrudu" > < img src = "https://img.shields.io/badge/Discord - Chat-blue?logo=discord&logoColor=white" / > < / a >
< a href = "https://paypal.me/phelpsben" title = "Donate" > < img src = "https://img.shields.io/badge/PayPal - Donate-blue?logo=paypal&logoColor=white" alt = "Linkedin - phelpsben" > < / a >
< / p >
< p align = "center" >
2022-10-01 10:30:54 +03:00
< a href = "https://github.com/benphelps/homepage/actions/workflows/docker-publish.yml" > < img src = "https://github.com/benphelps/homepage/actions/workflows/docker-publish.yml/badge.svg" alt = "Docker" > < / a >
< a href = "https://hosted.weblate.org/engage/homepage/" > < img src = "https://hosted.weblate.org/widgets/homepage/-/homepage/svg-badge.svg" alt = "Weblate" > < / a >
2022-09-21 22:53:19 +03:00
< / p >
2022-08-25 11:17:41 +03:00
## Features
2022-10-01 10:30:54 +03:00
- **Fast!** The entire site is statically generated at build time, so you can expect instant load times
- **Secure!** Every API request to backend services goes through a proxy server, so your API keys are never exposed to the frontend client.
2022-09-15 08:44:52 +03:00
- Images built for AMD64 (x86_64), ARM64, ARMv7 and ARMv6
- Supports all Raspberry Pi's, most SBCs & Apple Silicon
2023-03-21 14:19:18 -07:00
- Full i18n support with translations for Catalan, Chinese, Dutch, Finnish, French, German, Hebrew, Hungarian, Malay, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Spanish, Swedish and Yue
2022-09-15 08:44:52 +03:00
- Want to help translate? [Join the Weblate project ](https://hosted.weblate.org/engage/homepage/ )
- Service & Web Bookmarks
- Docker Integration
- Container status (Running / Stopped) & statistics (CPU, Memory, Network)
- Automatic service discovery (via labels)
- Service Integration
2022-12-26 01:17:54 -08:00
- Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli, Plex and more
- Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission, qBittorrent and more
- Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify, Syncthing Relay Server, Authentik, Proxmox and more
2022-09-15 08:44:52 +03:00
- Information Providers
2022-12-26 01:17:54 -08:00
- Coin Market Cap, Mastodon and more
2022-09-15 08:44:52 +03:00
- Information & Utility Widgets
- System Stats (Disk, CPU, Memory)
2022-12-05 09:41:54 -08:00
- Weather via [OpenWeatherMap ](https://openweathermap.org/ ) or [Open-Meteo ](https://open-meteo.com/ )
2022-12-26 01:17:54 -08:00
- Web Search Bar
- UniFi Console, Glances and more
- Instant "Quick-launch" search
2022-09-15 08:44:52 +03:00
- Customizable
- 21 theme colors with light and dark mode support
- Background image support
2022-10-01 10:30:54 +03:00
- Column and Row layout options
2022-08-25 11:17:41 +03:00
2022-08-27 02:36:47 +03:00
## 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.
2022-12-26 01:17:54 -08:00
For bug reports, please open an issue on the [Issues ](https://github.com/benphelps/homepage/issues ) page.
2022-08-27 02:36:47 +03:00
2022-08-14 12:02:58 +03:00
## Getting Started
2022-10-24 10:10:28 -07:00
For configuration options, examples and more, [please check out the homepage site ](http://gethomepage.dev ).
2022-08-25 14:19:21 +03:00
### With Docker
2022-08-24 11:02:51 +03:00
Using docker compose:
```yaml
2022-09-15 08:44:52 +03:00
version: "3.3"
2022-08-24 11:02:51 +03:00
services:
2022-09-15 08:44:52 +03:00
homepage:
image: ghcr.io/benphelps/homepage:latest
container_name: homepage
ports:
- 3000:3000
volumes:
2022-09-16 14:18:27 +03:00
- /path/to/config:/app/config # Make sure your local config directory exists
2023-01-04 20:10:18 +01:00
- /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations
2022-08-24 11:02:51 +03:00
```
or docker run:
```bash
2022-08-28 00:53:23 +03:00
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
2022-08-24 11:02:51 +03:00
```
2022-08-25 14:19:21 +03:00
### With Node
First, clone the repository:
```bash
git clone https://github.com/benphelps/homepage.git
```
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):
```bash
pnpm install
pnpm build
```
2022-09-12 21:29:19 +03:00
If this is your first time starting, copy the `src/skeleton` directory to `config/` to populate initial example config files.
2022-08-25 14:19:21 +03:00
Finally, run the server:
```bash
pnpm start
```
2022-08-24 11:02:51 +03:00
## Configuration
2022-12-21 12:14:28 +00:00
Configuration files will be generated and placed on the first request.
2022-08-24 11:02:51 +03:00
2022-09-15 08:44:52 +03:00
Configuration is done in the /config directory using .yaml files. Refer to each config for
2022-08-24 11:02:51 +03:00
the specific configuration options.
2022-10-24 10:10:28 -07:00
You may also check [the homepage site ](http://gethomepage.dev ) for detailed configuration instructions, examples and more.
2022-09-08 18:57:27 +03:00
2022-08-24 11:02:51 +03:00
## Development
2022-08-24 10:44:35 +03:00
Install NPM packages, this project uses [pnpm ](https://pnpm.io/ ) (and so should you!):
2022-08-14 12:02:58 +03:00
```bash
2022-08-24 10:44:35 +03:00
pnpm install
2022-08-14 12:02:58 +03:00
```
2022-08-24 10:44:35 +03:00
Start the development server:
2022-08-14 12:02:58 +03:00
2022-08-24 10:44:35 +03:00
```bash
pnpm dev
```
2022-08-14 12:02:58 +03:00
2022-08-24 10:44:35 +03:00
Open [http://localhost:3000 ](http://localhost:3000 ) to start.
2022-08-25 14:19:21 +03:00
2023-07-23 13:58:03 -01:00
This is a [Next.js ](https://nextjs.org/ ) application, see their documentation for more information:
2022-09-12 13:33:55 +03:00
## Contributors
2022-11-04 10:10:41 +02:00
<!-- ALL - CONTRIBUTORS - LIST:START - Do not remove or modify this section -->
<!-- prettier - ignore - start -->
<!-- markdownlint - disable -->
<!-- markdownlint - restore -->
<!-- prettier - ignore - end -->
<!-- ALL - CONTRIBUTORS - LIST:END -->
2022-11-06 21:52:42 +02:00
<!-- ALL - CONTRIBUTORS - BADGE:START - Do not remove or modify this section -->
[](#contributors )
<!-- ALL - CONTRIBUTORS - BADGE:END -->