Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
services:homepage [2024/11/25 08:02] – created willy | services:homepage [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Homepage ====== | ||
- | |||
- | [[https:// | ||
- | |||
- | ==== Installation ==== | ||
- | |||
- | As usual, create the dedicated user and the required folders. In addition, you need to create folders for custom icons, images and configuration. Also, since homepage will create quite some logs, better create a dedicated log folder and process it with logrotate: | ||
- | <code bash> | ||
- | useradd -d / | ||
- | mkdir / | ||
- | chown homepage: | ||
- | su - homepage | ||
- | mkdir -p config | ||
- | mkdir -p images | ||
- | mkdir -p icons | ||
- | </ | ||
- | (don't forget to add the / | ||
- | |||
- | the config, icons and images folders needs to be mapped in the container, see the docker compose: | ||
- | <file - docker-compose.yml> | ||
- | services: | ||
- | homepage: | ||
- | image: ghcr.io/ | ||
- | container_name: | ||
- | ports: | ||
- | - 3000:3000 | ||
- | volumes: | ||
- | - / | ||
- | - / | ||
- | - / | ||
- | - / | ||
- | </ | ||
- | Of course, adapt the port 3000 to whatever you need on your setup. | ||
- | |||
- | Then pull the images: | ||
- | <code bash> | ||
- | su - homepage | ||
- | podman compose pull | ||
- | podman compose up | ||
- | </ | ||
- | |||
- | Home page does not provide any kind of authentication, | ||
- | |||
- | For logrotate, create the following file: | ||
- | <file - / | ||
- | / | ||
- | missingok | ||
- | notifempty | ||
- | } | ||
- | </ | ||
- | |||
- | ==== Configuration ==== | ||
- | |||
- | You should read the quite detailed [[https:// | ||
- | |||
- | For specifics on initial configuration check out the great documentation [[https:// | ||
- | |||
- | Homepage is divided in: | ||
- | * Services, or links to your services, they can include widgets | ||
- | * Widgets, which are run-time display of data from services, and are always associated to services | ||
- | * Information Widgets, which are confined to the top-level header of the page to show small amount of data | ||
- | * Bookmarks, which are links to other web pages | ||
- | |||
- | Widgets are cool to show //on the flight// data about a service, but they can pose an issue when your Homepage is behind SSO. | ||
- | |||
- | Sometimes new images or icons are not picked up, in this case restarting the container fix the issue. | ||
- | |||
- | I choose not to monitor directly resources in Homepage, first because the build-in // | ||
- | |||
- | As a suggestion, don't apply image modifications for your backgrounds in homepage but directly modify the image with GIMP / Krita or whatever tools you like. In fact, applying resizes or blurs or brightness or other corrections, | ||
- | |||
- | ==== Reverse Proxy configuration ==== | ||
- | |||
- | Follow the [[selfhost: | ||
- | <file - homepage.conf> | ||
- | |||
- | location / { | ||
- | proxy_pass | ||
- | } | ||
- | </ | ||
- | |||
- | and restart your NGINX. | ||
- | |||
- | I assume you have already protected your subdomain with your SSO, but there is a current caveat with Homepage... Since it will not detect when an authentication token has expired, it will not force a reload of the homepage itself to trigger the SSO login page. This means that if you leave your homepage open, after authentication expires, all your widgets will stop working and lots of errors will propagate in your logs. Due to this issue, i prefer **not** to use widgets in my Homepage setup. | ||
- | |||
- | |||
- | ==== Autostart ==== | ||
- | |||
- | If you follow the approach defined in [[gentoo: | ||
- | <file - / | ||
- | USER=homepage | ||
- | DESCRIPTION=" | ||
- | </ | ||
- | |||
- | and the link (as root): | ||
- | <code bash> | ||
- | ln -s / | ||
- | rc-update add user-containers.homepage default | ||
- | / | ||
- | </ | ||