Readeck: Install Custom App + Logo via YAML

While the current App catalogue has a lot to offer but you may end up with a deprecated project ( think booklore ) or an app wich has been requested but not yet implemented ( eg. readeck )

Note: You can raise a new [APP Requests] yourself on the official TrueNas github

Quick Guide

1.) Create the corrsesponding Dataset(s)

2.) Create the docker compose file within the dataset

cat /mnt/ssd-pool/readeck/compose.yaml
---
volumes:
  readeck:

services:
  app:
    image: codeberg.org/readeck/readeck:latest
    container_name: readeck
    ports:
      - 8000:8000
    environment:
      # Defines the application log level. Can be error, warn, info, debug.
      READECK_LOG_LEVEL: info
      # The IP address on which Readeck listens.
      READECK_SERVER_HOST: "0.0.0.0"
      # The TCP port on which Readeck listens. Update container port above to match (right of colon).
      READECK_SERVER_PORT: 8000
      # Easier to read log format
      READECK_LOG_FORMAT: text
      # Optional, the URL prefix of Readeck.
      # READECK_SERVER_PREFIX: "/"
    volumes:
      - readeck:/readeck
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "/bin/readeck", "healthcheck", "-config", "config.toml"]
      interval: 30s
      timeout: 2s
      retries: 3

3.) UI -> Apps -> Discover -> Custom Apps -> Install via YAML

4.) Deploy: Use include and point to your docker compose file + add the WebUI setting if known

Bash
include:
  - /mnt/ssd-pool/readeck/compose.yaml
services: {}

#### optional WebUI ####

x-portals:
  - host: 0.0.0.0
    name: Web UI
    path: /
    port: 8000
    scheme: http

The custom app will be installed as per docker compose config but usually wont have loads of information to showcase within TrueNas

5.) Update the metadata information

/mnt/.ix-apps/metadata.yaml
readeck:
  custom_app: true
  human_version: 0.22.2_custom
  metadata:
    app_version: 0.22.2
    capabilities: []
    description: Readeck is a simple web application that lets you save the precious
      readable content of web pages you like and want to keep forever.
    home: https://readeck.org/
    host_mounts: []
    icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/readeck.svg
    maintainers:
    - email: readeck@noreply.codeberg.org
      name: readeck
      url: https://codeberg.org/readeck
    name: readeck
    run_as_context: []
    sources:
    - https://codeberg.org/readeck/readeck
    title: Readeck
    train: stable
    version: 0.22.2
  migrated: false
  notes: '# Some Notes'
  portals:
    Web UI: http://0.0.0.0:8000/
  version: 1.0.0

So now we’ve added a WebUI Buttons via “portals” and icon via “icon” description in the YAML file

A few good resources:

ICON’s: Self-Hosted Dashboard Icons


Community Guide’s: https://www.truenas.com/docs/scale/25.10/scaleuireference/apps/installcustomappscreens/
Installing Custom Apps | TrueNAS Apps Market