server-up/apps/pangolin/template.json
Ramon 0500e8945b
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 15m31s
v0.8.60-beta - Backups bevatten nu je gegevens, Pangolin en Newt erbij
- Een backup bevatte alleen de stackmap: compose, .env en metadata.
  LIBRARY_DIR en de appdata-map staan naast elkaar, geen genestelde mappen, dus
  je maakte een backup, kreeg een groen vinkje en hield bij terugzetten een lege
  app over. Een archief heeft nu drie takken: de stackmap, de appdata van die
  stack, en een dump per database
- De dump is geen dubbelop: een tar van een draaiende PostgreSQL is een
  momentopname van bestanden die tijdens het inpakken veranderden. Bij
  terugzetten komt de dump erin nadat de container draait, met een wachtlus.
  Stond de container tijdens de backup uit, dan is dat een waarschuwing in het
  log en geen stille overslag
- Nieuwe instelling BACKUP_APPDATA (standaard aan), uit te zetten bij een
  mediabibliotheek waar dit in de honderden gigabytes loopt
- apps/newt en apps/pangolin. Server Up had al een Pangolin-integratie met een
  publiceerknop per stack, maar je moest Pangolin zelf elders vandaan halen
- Nieuwe stap in de setup-wizard na git: koppelen aan een bestaande Pangolin,
  hier installeren, of overslaan. De wizard hing zijn afhandeling aan
  stapnummers, dus met een stap ertussen ging de git-stap mis; dat gaat nu op de
  naam van de stap
- depends_on waarschuwt nu ook op de stackpagina. Haal je Mosquitto later weg,
  dan viel Zigbee2MQTT stil zonder dat iets zei waarom

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q9eqpADJSRs49SoGGr4NAy
2026-08-01 23:20:24 +02:00

130 lines
3.4 KiB
JSON

{
"kind": "compose",
"metadata": {
"name": "Pangolin",
"description": "Reverse proxy met tunnels: je apps blijven thuis draaien en krijgen toch een adres op internet, zonder poorten open te zetten in je router. Server Up kan er zelf publieke URL's in aanmaken zodra je hem koppelt onder Instellingen. Let op: hiervoor heb je een domein nodig dat naar deze server wijst, en poort 80 en 443 moeten vrij zijn.",
"tags": [
"proxy",
"tunnel",
"https",
"netwerk"
],
"icon": {
"provider": "selfhst",
"id": "pangolin"
},
"version": {
"name": "latest"
},
"categories": [
"netwerk",
"beveiliging"
]
},
"variables": [
{
"title": "Algemeen",
"items": [
{
"name": "service_name",
"type": "str",
"title": "Servicenaam",
"default": "pangolin",
"required": true
},
{
"name": "timezone",
"type": "str",
"title": "Tijdzone",
"default": "Europe/Amsterdam",
"required": true
}
]
},
{
"title": "Domein",
"items": [
{
"name": "basis_domein",
"type": "str",
"title": "Basisdomein",
"default": "example.com",
"required": true,
"description": "Het domein waaronder je apps komen te staan",
"help": "Hier hangen straks de adressen van je apps onder, bijvoorbeeld foto.example.com. Dit domein moet met een A-record naar het IP-adres van deze server wijzen, anders komt er geen certificaat."
},
{
"name": "dashboard_domein",
"type": "str",
"title": "Dashboarddomein",
"default": "pangolin.example.com",
"required": true,
"description": "Waar je de Pangolin-interface zelf opent"
},
{
"name": "admin_email",
"type": "str",
"title": "E-mailadres beheerder",
"default": "admin@example.com",
"required": true,
"description": "Voor het eerste account en voor Let's Encrypt"
}
]
},
{
"title": "Poorten",
"items": [
{
"name": "port_http",
"type": "int",
"title": "HTTP",
"default": 80,
"required": true,
"advanced": true
},
{
"name": "port_https",
"type": "int",
"title": "HTTPS",
"default": 443,
"required": true,
"advanced": true
},
{
"name": "port_wireguard",
"type": "int",
"title": "WireGuard",
"default": 51820,
"required": true,
"advanced": true,
"description": "Hierop komen de tunnels van Newt binnen"
},
{
"name": "port_gerbil",
"type": "int",
"title": "Gerbil",
"default": 21820,
"required": true,
"advanced": true
}
]
},
{
"title": "Toegang",
"items": [
{
"name": "server_secret",
"type": "str",
"title": "Serversleutel",
"default": "",
"required": true,
"secret": true,
"generate": "auto",
"secret_format": "hex",
"secret_bytes": 32,
"description": "64 tekens; ondertekent de sessies van je gebruikers"
}
]
}
]
}