68 lines
1.5 KiB
Markdown
68 lines
1.5 KiB
Markdown
FritzBox Self-Hosting
|
|
=====================
|
|
|
|
This setup runs the parser behind Caddy. Caddy receives public HTTP/HTTPS
|
|
traffic, obtains TLS certificates, and proxies requests to the app container.
|
|
|
|
Requirements
|
|
------------
|
|
|
|
* A machine on your home network with Docker and Docker Compose.
|
|
* A DNS name that points to your home connection.
|
|
* FritzBox port sharing from the internet to the Docker host:
|
|
|
|
* TCP 80 -> Docker host TCP 80
|
|
* TCP 443 -> Docker host TCP 443
|
|
* UDP 443 -> Docker host UDP 443
|
|
|
|
If your internet provider uses CGNAT and you do not have a reachable public IP,
|
|
plain FritzBox port forwarding will not work. Use IPv6 with an AAAA record, a
|
|
provider option for public IPv4, or a tunnel/VPN.
|
|
|
|
Configure
|
|
---------
|
|
|
|
Create a local environment file:
|
|
|
|
.. code-block:: shell
|
|
|
|
cp .env.local.example .env.local
|
|
|
|
Edit ``.env.local``:
|
|
|
|
.. code-block:: dotenv
|
|
|
|
PUBLIC_HOST=menus.example.org
|
|
BASE_URL=https://menus.example.org
|
|
|
|
``PUBLIC_HOST`` is the domain Caddy serves. ``BASE_URL`` is used by the Flask
|
|
app when it generates absolute OpenMensa feed URLs.
|
|
|
|
Run
|
|
---
|
|
|
|
Start or update the local deployment:
|
|
|
|
.. code-block:: shell
|
|
|
|
docker compose --env-file .env.local -f compose.local.yml up -d --build
|
|
|
|
Check logs:
|
|
|
|
.. code-block:: shell
|
|
|
|
docker compose --env-file .env.local -f compose.local.yml logs -f
|
|
|
|
Check health locally:
|
|
|
|
.. code-block:: shell
|
|
|
|
curl http://127.0.0.1/health_check
|
|
|
|
Stop
|
|
----
|
|
|
|
.. code-block:: shell
|
|
|
|
docker compose --env-file .env.local -f compose.local.yml down
|