Jade Ambrose 7e688c9094 feat: support UDP proxy of port 2022 and 2023 for P2Panda apps (#70)
# Support P2P communication between P2Panda Apps

Apps built with the set of [P2Panda](https://p2panda.org/) libraries perform P2P communication over two UDP ports. The default ports for these are 2022 and 2023.

There aren't really a lot (any?) P2Panda web apps out there, most are desktop or mobile apps.

So, this change is being specifically request by the [LoRes Tech](https://lores.tech/) project in order to support our [LoRes Node](https://github.com/local-resilience-tech/lores-node/) app. We have a recipe drafted for this [here](https://codeberg.org/lores/lores-node-coop-cloud-recipe) and we will push that to the catalogue once this change is in.

It seems better to make this kiwix change as general as possible, which is why we called the flag `P2PANDA_ENABLED` rather than `LORES_NODE_ENABLED`. In practice if there was a larger ecosystem of such apps, we'd probably need to make the actual port numbers configurable.

Reviewed-on: coop-cloud/traefik#70
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
Co-authored-by: Jade Ambrose <jade@noreply.git.coopcloud.tech>
Co-committed-by: Jade Ambrose <jade@noreply.git.coopcloud.tech>
2025-12-22 12:37:50 +00:00
2020-06-17 08:23:01 +02:00
2025-08-13 19:05:05 +00:00
2022-03-26 23:49:10 +02:00
2021-12-13 13:56:36 +01:00
2022-01-06 09:50:35 +01:00
2021-08-07 14:24:39 +02:00
2021-06-10 12:36:54 +02:00
2021-06-05 14:23:58 +02:00
2021-06-05 14:23:58 +02:00
2020-06-17 08:30:44 +02:00
2025-11-06 09:54:08 +00:00
2025-11-20 17:50:32 +00:00

Traefik

Build Status

https://docs.traefik.io

  • Maintainer: @p4u1
  • Status: stable
  • Category: Utilities
  • Features: ?
  • Image: traefik, 4, upstream
  • Healthcheck: Yes
  • Backups: No
  • Email: N/A
  • Tests: 2
  • SSO: ? (Keycloak)

Basic usage

  1. Set up Docker Swarm and abra
  2. abra app new traefik
  3. abra app config YOURAPPDOMAIN - be sure to change DOMAIN to something that resolves to your Docker swarm box
  4. abra app deploy YOURAPPDOMAIN

Configuring basic auth

  1. Create the usersfile locally: htpasswd -c usersfile <username>
  2. Uncomment the Basic Auth section in your .env file
  3. Insert the secret: `abra app secret insert usersfile v1 -f usersfile
  4. Redploy your app: abra app deploy -f <domain>

Configuring wildcard SSL using DNS

Automatic certificate generation will Just Work™ for most recipes which use a fixed number of subdomains. For some recipes which need to work across arbitrary subdomains, like federatedwiki and go-ssb-room, you'll need to give Traefik access to your DNS provider so that it can carry out Letsencrypt DNS challenges.

  1. Use Gandi or OVH for DNS 🤡 (support for other providers can be easily added, see the lego docs.
  2. Run abra app config YOURAPPDOMAIN
  3. Uncomment e.g. ENABLE_GANDI and the related SECRET_.._VERSION line, e.g. SECRET_GANDIV5_API_KEY_VERSION
  4. Generate an API key for your provider
  5. Run abra app secret insert YOURAPPDOMAIN SECRETNAME v1 SECRETVALUE, where SECRETNAME is from the compose file (e.g. compose.gandi-api-key.yml) e.g. gandiv5_api_key and SECRETVALUE is the API key.
    • For Gandi, you can use either the deprecated API Key or a GandiV5 Personal Access Token, in which case use compose.gandi-personal-access-token.yml.
  6. Redeploy Traefik, using e.g. abra app deploy YOURAPPDOMAIN -f
Description
Edge router that makes publishing your services a fun and easy experience
Readme 388 KiB
Languages
Shell 100%