All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 2m31s
- Sjablonen kunnen nu secret_format ("hex" of "laravel") en secret_bytes
opgeven. De generator maakte altijd url-veilige base64, en dat is precies wat
Laravel, Homarr en LibreChat weigeren
- Daarmee kwamen twee fouten uit v0.8.00 aan het licht: Homarr en LibreChat
kregen sleutels die hun containers niet accepteren. Rechtgezet
- Snipe-IT en Invoice Ninja alsnog toegevoegd; die vielen vorige ronde af omdat
hun APP_KEY niet te genereren was
- 19 vervangers voor big tech erbij, van 197 naar 218 apps:
Baikal en Radicale (Google Agenda/Contacten), LibreTranslate (Translate),
CryptPad, Collabora en ONLYOFFICE (Google Docs), Formbricks (Forms),
Jitsi Meet (Meet/Zoom), PeerTube, Invidious en Tube Archivist (YouTube),
Owncast (Twitch), Mastodon (X), Pixelfed (Instagram), Lemmy (Reddit),
Cal.com (Calendly), Rallly (Doodle), DocuSeal (DocuSign), Penpot (Figma)
- Communicatie van 12 naar 16 apps, productiviteit van 21 naar 31
- Nieuwe JS-test voor de sleutelformaten; alle 242 images in de catalogus
opnieuw tegen hun registry gecontroleerd
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q9eqpADJSRs49SoGGr4NAy
132 lines
3.3 KiB
JSON
132 lines
3.3 KiB
JSON
{
|
|
"kind": "compose",
|
|
"metadata": {
|
|
"name": "Tube Archivist",
|
|
"description": "Bewaart YouTube-kanalen en afspeellijsten op je eigen schijf, met eigen zoekfunctie en kijkgeschiedenis. Vervangt YouTube-abonnementen.",
|
|
"tags": [
|
|
"video",
|
|
"youtube",
|
|
"archief"
|
|
],
|
|
"icon": {
|
|
"provider": "selfhst",
|
|
"id": "tubearchivist"
|
|
},
|
|
"version": {
|
|
"name": "latest"
|
|
},
|
|
"categories": [
|
|
"media",
|
|
"downloaden"
|
|
]
|
|
},
|
|
"variables": [
|
|
{
|
|
"title": "Algemeen",
|
|
"items": [
|
|
{
|
|
"name": "service_name",
|
|
"type": "str",
|
|
"title": "Servicenaam",
|
|
"default": "tubearchivist",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "port",
|
|
"type": "int",
|
|
"title": "Webinterface",
|
|
"default": 8199,
|
|
"required": true,
|
|
"description": "Standaard 8000; hier verplaatst omdat die poort al bezet is"
|
|
},
|
|
{
|
|
"name": "appdata_dir",
|
|
"type": "str",
|
|
"title": "Appdata-map",
|
|
"default": "/opt/serverup/appdata",
|
|
"required": true,
|
|
"description": "Basismap voor de gegevens van deze app"
|
|
},
|
|
{
|
|
"name": "data_root",
|
|
"type": "str",
|
|
"title": "Gedeelde datamap",
|
|
"default": "/mnt/data",
|
|
"required": true,
|
|
"description": "Eén map met je media, gekoppeld als /data",
|
|
"help": "Media en downloads horen onder één map te staan, die als /data in elke container komt. Alleen dan kan een voltooide download met een hardlink naar je bibliotheek: geen kopie, geen dubbele opslag. Eronder: media/films, media/series, torrents/ en usenet/."
|
|
},
|
|
{
|
|
"name": "timezone",
|
|
"type": "str",
|
|
"title": "Tijdzone",
|
|
"default": "Europe/Amsterdam",
|
|
"required": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Gebruiker",
|
|
"items": [
|
|
{
|
|
"name": "puid",
|
|
"type": "int",
|
|
"title": "Gebruikers-ID (PUID)",
|
|
"default": 1000,
|
|
"required": true,
|
|
"description": "`id -u` op je server"
|
|
},
|
|
{
|
|
"name": "pgid",
|
|
"type": "int",
|
|
"title": "Groeps-ID (PGID)",
|
|
"default": 1000,
|
|
"required": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Instellingen",
|
|
"items": [
|
|
{
|
|
"name": "app_url",
|
|
"type": "str",
|
|
"title": "Publiek adres",
|
|
"default": "http://localhost:8199",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "admin_user",
|
|
"type": "str",
|
|
"title": "Beheerdersnaam",
|
|
"default": "admin",
|
|
"required": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Toegang",
|
|
"items": [
|
|
{
|
|
"name": "db_password",
|
|
"type": "str",
|
|
"title": "Databasewachtwoord",
|
|
"default": "",
|
|
"required": true,
|
|
"secret": true,
|
|
"generate": "auto",
|
|
"description": "Wordt automatisch ingevuld en in .env bewaard"
|
|
},
|
|
{
|
|
"name": "admin_password",
|
|
"type": "str",
|
|
"title": "Beheerderswachtwoord",
|
|
"default": "",
|
|
"required": true,
|
|
"secret": true,
|
|
"eigen_invoer": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|