Files
truenas-apps/trains/community/briefkasten/app_versions.json
2025-11-28 12:09:04 +00:00

1237 lines
74 KiB
JSON

{
"1.3.20": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/briefkasten/1.3.20",
"last_update": "2025-11-28 12:07:39",
"required_features": [],
"human_version": "latest_1.3.20",
"version": "1.3.20",
"app_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "latest",
"capabilities": [],
"categories": [
"productivity"
],
"date_added": "2024-08-02",
"description": "Briefkasten is a self hosted bookmarking app",
"home": "https://github.com/ndom91/briefkasten",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/briefkasten/icons/icon.svg",
"keywords": [
"bookmark"
],
"lib_version": "2.1.64",
"lib_version_hash": "920ca771628a09b7f9a11cd950795d5fcfc7a4e3a3f90e3da49c6ffe3f6c6e1e",
"maintainers": [
{
"email": "dev@truenas.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "briefkasten",
"run_as_context": [
{
"description": "Briefkasten runs as non-root user.",
"gid": 1001,
"group_name": "briefkasten",
"uid": 1001,
"user_name": "briefkasten"
},
{
"description": "Postgres runs as non-root user.",
"gid": 999,
"group_name": "postgres",
"uid": 999,
"user_name": "postgres"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/briefkasten/screenshots/screenshot1.png",
"https://media.sys.truenas.net/apps/briefkasten/screenshots/screenshot2.png",
"https://media.sys.truenas.net/apps/briefkasten/screenshots/screenshot3.png",
"https://media.sys.truenas.net/apps/briefkasten/screenshots/screenshot4.png"
],
"sources": [
"https://github.com/ndom91/briefkasten",
"https://docs.briefkastenhq.com/"
],
"title": "Briefkasten",
"train": "community",
"version": "1.3.20"
},
"schema": {
"groups": [
{
"name": "Briefkasten Configuration",
"description": "Configure Briefkasten"
},
{
"name": "User and Group Configuration",
"description": "Configure User and Group for Briefkasten"
},
{
"name": "Network Configuration",
"description": "Configure Network for Briefkasten"
},
{
"name": "Storage Configuration",
"description": "Configure Storage for Briefkasten"
},
{
"name": "Labels Configuration",
"description": "Configure Labels for Briefkasten"
},
{
"name": "Resources Configuration",
"description": "Configure Resources for Briefkasten"
}
],
"questions": [
{
"variable": "TZ",
"group": "Briefkasten Configuration",
"label": "Timezone",
"schema": {
"type": "string",
"default": "Etc/UTC",
"required": true,
"$ref": [
"definitions/timezone"
]
}
},
{
"variable": "briefkasten",
"label": "",
"group": "Briefkasten Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "postgres_image_selector",
"label": "Postgres Image (CAUTION)",
"description": "If you are changing this after the postgres directory has been initialized,</br>\nSTOP! and make sure you have a backup of your data.</br>\nChanging this will trigger an one way database upgrade.</br>\nYou can only select newer versions of postgres.</br>\nSelecting an older version will refuse to start.</br>\nIf something goes wrong, you will have to restore from backup.\n",
"schema": {
"type": "string",
"default": "postgres_17_image",
"required": true,
"enum": [
{
"value": "postgres_15_image",
"description": "Postgres 15"
},
{
"value": "postgres_17_image",
"description": "Postgres 17"
}
]
}
},
{
"variable": "nextauth_secret",
"label": "NextAuth Secret",
"description": "The secret used to encrypt the JWT token.",
"schema": {
"type": "string",
"default": "",
"required": true,
"private": true
}
},
{
"variable": "postgres_password",
"label": "Postgres Password",
"description": "The password for Postgres.",
"schema": {
"type": "string",
"default": "",
"required": true,
"private": true
}
},
{
"variable": "nextauth_url",
"label": "NextAuth URL",
"description": "The URL that Briefkasten will be accessible from.</br>\nExample: </br>\nhttp://server.ip:30080</br>\nhttps://Briefkasten.example.com\n",
"schema": {
"type": "uri",
"default": "",
"required": true
}
},
{
"variable": "smtp",
"label": "SMTP Auth Provider",
"description": "Configure SMTP for Briefkasten.",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "enabled",
"label": "Enabled",
"description": "Enable SMTP for auth.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "server",
"label": "SMTP Server",
"description": "The SMTP server to use.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
},
{
"variable": "from",
"label": "SMTP From",
"description": "The SMTP from address to use.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
}
]
}
},
{
"variable": "github",
"label": "GitHub Auth Provider",
"description": "Configure GitHub for Briefkasten.",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "enabled",
"label": "Enabled",
"description": "Enable GitHub for auth.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "id",
"label": "GitHub Client ID",
"description": "The GitHub Client ID.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
},
{
"variable": "secret",
"label": "GitHub Client Secret",
"description": "The GitHub Client Secret.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"private": true,
"required": true
}
}
]
}
},
{
"variable": "google",
"label": "Google Auth Provider",
"description": "Configure Google for Briefkasten.",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "enabled",
"label": "Enabled",
"description": "Enable Google for auth.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "id",
"label": "Google Client ID",
"description": "The Google Client ID.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
},
{
"variable": "secret",
"label": "Google Client Secret",
"description": "The Google Client Secret.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"private": true,
"required": true
}
}
]
}
},
{
"variable": "keycloak",
"label": "Keycloak Auth Provider",
"description": "Configure Keycloak for Briefkasten.",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "enabled",
"label": "Enabled",
"description": "Enable Keycloak for auth.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "name",
"label": "Keycloak Name",
"description": "The Keycloak Name.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
},
{
"variable": "id",
"label": "Keycloak Client ID",
"description": "The Keycloak Client ID.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
},
{
"variable": "secret",
"label": "Keycloak Client Secret",
"description": "The Keycloak Client Secret.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"private": true,
"required": true
}
},
{
"variable": "issuer",
"label": "Keycloak Issuer",
"description": "The Keycloak Issuer.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
}
]
}
},
{
"variable": "authentik",
"label": "Authentik Auth Provider",
"description": "Configure Authentik for Briefkasten.",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "enabled",
"label": "Enabled",
"description": "Enable Authentik for auth.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "name",
"label": "Authentik Name",
"description": "The Authentik Name.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
},
{
"variable": "id",
"label": "Authentik Client ID",
"description": "The Authentik Client ID.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
},
{
"variable": "secret",
"label": "Authentik Client Secret",
"description": "The Authentik Client Secret.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"private": true,
"required": true
}
},
{
"variable": "issuer",
"label": "Authentik Issuer",
"description": "The Authentik Issuer.",
"schema": {
"type": "string",
"show_if": [
[
"enabled",
"=",
true
]
],
"default": "",
"required": true
}
}
]
}
},
{
"variable": "additional_envs",
"label": "Additional Environment Variables",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "env",
"label": "Environment Variable",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "name",
"label": "Name",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "value",
"label": "Value",
"schema": {
"type": "string"
}
}
]
}
}
]
}
}
]
}
},
{
"variable": "network",
"label": "",
"group": "Network Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "web_port",
"label": "WebUI Port",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "bind_mode",
"label": "Port Bind Mode",
"description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
"schema": {
"type": "string",
"default": "published",
"enum": [
{
"value": "published",
"description": "Publish port on the host for external access"
},
{
"value": "exposed",
"description": "Expose port for inter-container communication"
},
{
"value": "",
"description": "None"
}
]
}
},
{
"variable": "port_number",
"label": "Port Number",
"schema": {
"type": "int",
"default": 30080,
"min": 1,
"max": 65535,
"required": true
}
},
{
"variable": "host_ips",
"label": "Host IPs",
"description": "IPs on the host to bind this port",
"schema": {
"type": "list",
"show_if": [
[
"bind_mode",
"=",
"published"
]
],
"default": [],
"items": [
{
"variable": "host_ip",
"label": "Host IP",
"schema": {
"type": "string",
"required": true,
"$ref": [
"definitions/node_bind_ip"
]
}
}
]
}
}
]
}
}
]
}
},
{
"variable": "storage",
"label": "",
"group": "Storage Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "postgres_data",
"label": "Postgres Data Storage",
"description": "The path to store Postgres Data.",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "type",
"label": "Type",
"description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
"schema": {
"type": "string",
"required": true,
"default": "ix_volume",
"enum": [
{
"value": "host_path",
"description": "Host Path (Path that already exists on the system)"
},
{
"value": "ix_volume",
"description": "ixVolume (Dataset created automatically by the system)"
}
]
}
},
{
"variable": "ix_volume_config",
"label": "ixVolume Configuration",
"description": "The configuration for the ixVolume dataset.",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"ix_volume"
]
],
"$ref": [
"normalize/ix_volume"
],
"attrs": [
{
"variable": "acl_enable",
"label": "Enable ACL",
"description": "Enable ACL for the storage.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "dataset_name",
"label": "Dataset Name",
"description": "The name of the dataset to use for storage.",
"schema": {
"type": "string",
"required": true,
"hidden": true,
"default": "pg_data"
}
},
{
"variable": "acl_entries",
"label": "ACL Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"acl_enable",
"=",
true
]
],
"attrs": []
}
}
]
}
},
{
"variable": "host_path_config",
"label": "Host Path Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"host_path"
]
],
"attrs": [
{
"variable": "acl_enable",
"label": "Enable ACL",
"description": "Enable ACL for the storage.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "acl",
"label": "ACL Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"acl_enable",
"=",
true
]
],
"attrs": [],
"$ref": [
"normalize/acl"
]
}
},
{
"variable": "path",
"label": "Host Path",
"description": "The host path to use for storage.",
"schema": {
"type": "hostpath",
"show_if": [
[
"acl_enable",
"=",
false
]
],
"required": true
}
},
{
"variable": "auto_permissions",
"label": "Automatic Permissions",
"description": "Automatically set permissions for the host path.\nEnabling this, will check the top level directory,</br>\nIf it finds incorrect permissions, it will `chown` the\nhost path to the user and group required for the\npostgres container.\n",
"schema": {
"type": "boolean",
"default": false,
"show_if": [
[
"acl_enable",
"=",
false
]
]
}
}
]
}
}
]
}
},
{
"variable": "additional_storage",
"label": "Additional Storage",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "storageEntry",
"label": "Storage Entry",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "type",
"label": "Type",
"description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.</br>\nNFS Share: Is a NFS share that is mounted to as a volume.\n",
"schema": {
"type": "string",
"required": true,
"default": "ix_volume",
"enum": [
{
"value": "host_path",
"description": "Host Path (Path that already exists on the system)"
},
{
"value": "ix_volume",
"description": "ixVolume (Dataset created automatically by the system)"
},
{
"value": "cifs",
"description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
},
{
"value": "nfs",
"description": "NFS Share (Mounts a volume to a NFS share)"
}
]
}
},
{
"variable": "read_only",
"label": "Read Only",
"description": "Mount the volume as read only.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "mount_path",
"label": "Mount Path",
"description": "The path inside the container to mount the storage.",
"schema": {
"type": "path",
"required": true
}
},
{
"variable": "host_path_config",
"label": "Host Path Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"host_path"
]
],
"attrs": [
{
"variable": "acl_enable",
"label": "Enable ACL",
"description": "Enable ACL for the storage.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "acl",
"label": "ACL Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"acl_enable",
"=",
true
]
],
"attrs": [],
"$ref": [
"normalize/acl"
]
}
},
{
"variable": "path",
"label": "Host Path",
"description": "The host path to use for storage.",
"schema": {
"type": "hostpath",
"show_if": [
[
"acl_enable",
"=",
false
]
],
"required": true
}
}
]
}
},
{
"variable": "ix_volume_config",
"label": "ixVolume Configuration",
"description": "The configuration for the ixVolume dataset.",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"ix_volume"
]
],
"$ref": [
"normalize/ix_volume"
],
"attrs": [
{
"variable": "acl_enable",
"label": "Enable ACL",
"description": "Enable ACL for the storage.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "dataset_name",
"label": "Dataset Name",
"description": "The name of the dataset to use for storage.",
"schema": {
"type": "string",
"required": true,
"default": "storage_entry"
}
},
{
"variable": "acl_entries",
"label": "ACL Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"acl_enable",
"=",
true
]
],
"attrs": [],
"$ref": [
"normalize/acl"
]
}
}
]
}
},
{
"variable": "cifs_config",
"label": "SMB Configuration",
"description": "The configuration for the SMB dataset.",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"cifs"
]
],
"attrs": [
{
"variable": "server",
"label": "Server",
"description": "The server to mount the SMB share.",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "path",
"label": "Path",
"description": "The path to mount the SMB share.",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "username",
"label": "Username",
"description": "The username to use for the SMB share.",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "password",
"label": "Password",
"description": "The password to use for the SMB share.",
"schema": {
"type": "string",
"required": true,
"private": true
}
},
{
"variable": "domain",
"label": "Domain",
"description": "The domain to use for the SMB share.",
"schema": {
"type": "string"
}
}
]
}
},
{
"variable": "nfs_config",
"label": "NFS Configuration",
"description": "The configuration for the NFS dataset.",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"nfs"
]
],
"attrs": [
{
"variable": "server",
"label": "Server",
"description": "The server to mount the NFS share.",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "path",
"label": "Path",
"description": "The path to mount the NFS share.",
"schema": {
"type": "string",
"required": true
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"variable": "labels",
"label": "",
"group": "Labels Configuration",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "label",
"label": "Label",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "key",
"label": "Key",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "value",
"label": "Value",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "containers",
"label": "Containers",
"description": "Containers where the label should be applied",
"schema": {
"type": "list",
"items": [
{
"variable": "container",
"label": "Container",
"schema": {
"type": "string",
"required": true,
"enum": [
{
"value": "briefkasten",
"description": "briefkasten"
},
{
"value": "postgres",
"description": "postgres"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"variable": "resources",
"label": "",
"group": "Resources Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "limits",
"label": "Limits",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "cpus",
"label": "CPUs",
"description": "CPUs limit for Briefkasten.",
"schema": {
"type": "int",
"default": 2,
"required": true
}
},
{
"variable": "memory",
"label": "Memory (in MB)",
"description": "Memory limit for Briefkasten.",
"schema": {
"type": "int",
"default": 4096,
"required": true
}
}
]
}
}
]
}
}
]
},
"readme": "<h1>Briefkasten</h1> <p><a href=\"https://github.com/ndom91/briefkasten\">Briefkasten</a> is a self hosted bookmarking app</p>",
"changelog": null,
"chart_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "latest",
"capabilities": [],
"categories": [
"productivity"
],
"date_added": "2024-08-02",
"description": "Briefkasten is a self hosted bookmarking app",
"home": "https://github.com/ndom91/briefkasten",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/briefkasten/icons/icon.svg",
"keywords": [
"bookmark"
],
"lib_version": "2.1.64",
"lib_version_hash": "920ca771628a09b7f9a11cd950795d5fcfc7a4e3a3f90e3da49c6ffe3f6c6e1e",
"maintainers": [
{
"email": "dev@truenas.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "briefkasten",
"run_as_context": [
{
"description": "Briefkasten runs as non-root user.",
"gid": 1001,
"group_name": "briefkasten",
"uid": 1001,
"user_name": "briefkasten"
},
{
"description": "Postgres runs as non-root user.",
"gid": 999,
"group_name": "postgres",
"uid": 999,
"user_name": "postgres"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/briefkasten/screenshots/screenshot1.png",
"https://media.sys.truenas.net/apps/briefkasten/screenshots/screenshot2.png",
"https://media.sys.truenas.net/apps/briefkasten/screenshots/screenshot3.png",
"https://media.sys.truenas.net/apps/briefkasten/screenshots/screenshot4.png"
],
"sources": [
"https://github.com/ndom91/briefkasten",
"https://docs.briefkastenhq.com/"
],
"title": "Briefkasten",
"train": "community",
"version": "1.3.20"
}
}
}