Homepage is a modern (fully static, fast), secure (fully proxied), highly customizable application dashboard with integrations for more than 25 services and translations for over 15 languages.
make config
This will ask you to enter the main domain name to use for homepage, as well as a secondary domain name to use for webhooks.
It automatically saves your responses into the configuration file
.env_{INSTANCE}
.
By default (when HOMEPAGE_AUTO_CONFIG=true), Homepage will automatically be
configured for all your d.rymcg.tech apps running on the current Docker
context. To update the Homepage configuration whenever your running
d.rymcg.tech apps change, you will need to run make config
and
make install
in the homepage
directory.
When HOMEPAGE_AUTO_CONFIG=false, Homepage will be configured an external
template repository configurable by setting HOMEPAGE_TEMPLATE_REPO
in your
.env_{INSTANCE}
file. A template repo can be forked from
github.com/EnigmaCurry/d.rymcg.tech_homepage-template
to create your own custom Homepage configuration, and this container can be
configured to automatically pull from your fork, and to trigger an automatic
rebuild/redeploy on git push via webhook. Your fork can be a public or
private repository. (Tested on forgejo and github).
Homepage has support for loading information from the docker socket,
but this has been turned off by default for security reasons, if you
wish to enable this support, answer the question posed by make config
and/or set HOMEPAGE_ENABLE_DOCKER=true
in your .env_{INSTANCE}
file.
See AUTH.md for information on adding external authentication on top of your app.
Before you install, if HOMEPAGE_AUTO_CONFIG=false
and you have customized
HOMEPAGE_TEMPLATE_REPO
and have set it to a private git repository, you will
need to create an SSH deploy key in order to be able to clone it automatically:
make git-deploy-key
This will generate and save a new SSH key in the config volume
(/app/config/ssh/id_rsa
). It will print out the public key, which
you need to copy and paste into your Forgejo, Github, or Gitlab
repository settings (Search for Deploy Key in the settings, and add
this public key to allow cloning from the private repository.)
make install
make open
This will automatically open the page in your web browser, and will
prefill the password if you enabled it (and chose to store it in
passwords.json
). You may bookmark the link it prints out and that
way you can store the username and password in your browser or to share
it with someone else.
make destroy
This completely removes the container and all of the data, including the Git deploy key.
You can optionally enable automatic reloading of your config whenever you make pushes to your template git repository. Your git host can send a webhook request back to your homepage instance, to tell it to restart and reload the config.
First you must enable HOMEPAGE_TEMPLATE_REPO_SYNC_ON_START=true
in
your .env_{INSTANCE}
file. Note that this will delete your
existing config, and redownload the template repository on each
restart of the container.
Second you must configure your Forgejo, Github, or Gitlab repository to add the webhook.
- Webhook URL is of the format:
https://homepage.example.com/reloader/restart
- Choose the data type:
application/json
- Webhook Secret is found in your
.env_{INSTANCE}
asHOMEPAGE_RELOADER_HMAC_SECRET
. This secret is used to validate that the request is actually coming from your git host. - No extra authorization header is required.