Skip to content
Ethan Sholly edited this page Nov 25, 2025 · 12 revisions

The documentation covered on this page outlines the process for deploying a container to reference and colorize selfh.st/icons via HEX color codes.

Note: The documentation below is only applicable for v2.0.0 and later.

Tags

Name Tag
Latest latest
Release 2.2.0, 2.2, 2

Supported Architectures

The following architectures are supported by this image. Docker will automatically detect the appropriate value for your machine - no special tags are required.

Architecture
x86-64
arm64
arm/v7

Volumes

The image is configured to reference remote icons file by default. Users who prefer to host the assets locally should consider one of the following options (not covered in detail in this documentation):

  • rsync
  • Cloning the repository to a local folder
  • External tools like git-sync

When hosted locally, users will need to un-comment the volume mount in the docker-compose template below to grant the container access to the icon files.

docker-compose

services:
  selfhst-icons:
    image: ghcr.io/selfhst/icons:latest
    container_name: selfhst-icons
    restart: unless-stopped
    ports:
      - 4050:4050
    environment:
      PORT: 4050
      # Set to 'remote' to use remote assets from this repo
      # Set to 'local' to use local icon files (requires volume mount)
      ICON_SOURCE: remote
      # This variable determines which icon format to use when a custom color is not specified
      # By default, this is set to 'webp' as not all icons have SVG versions
      STANDARD_ICON_FORMAT: webp
    # Volumes are only required if ICON_SOURCE is set to 'local'
    #volumes:
    #  - /local/path/to/selfhst/icons/svg:/app/icons/svg:ro  # Always required if ICON_SOURCE is 'local'
    #  - /local/path/to/selfhst/icons/png:/app/icons/png:ro  # Only required if ICON_SOURCE is 'local' and STANDARD_ICON_FORMAT is 'png'
    #  - /local/path/to/selfhst/icons/webp:/app/icons/webp:ro  # Only required if ICON_SOURCE is 'local' and STANDARD_ICON_FORMAT is 'webp'
    #  - /local/path/to/custom/icons:/app/icons/custom:ro  # Optional mount for custom local icons

Environment Variables

Variable Default Description
PORT 4050 Internal port for communicating with the container
ICON_SOURCE remote Set local to leverage local icon files
STANDARD_ICON_FORMAT webp Icon format used when a color code is not specified (svg, png, webp)

Reverse Proxy

While out of the scope of this guide, many applications will require users to leverage HTTPS when linking to icons served from the container.

The process to proxy the container and icons is straightforward. A sample Caddyfile configuration has been provided for reference:

icons.selfh.st { reverse_proxy selfhst-icons:4050 }

Building Links

After deployment (docker compose up), icons be referenced with the following URL conventions:

Icon Link Comments
Standard https://example.com/bookstack Server will automatically select file format based on variables
Custom Color https://example.com/bookstack/8803fc Do not include the '#' portion of the HEX color code
Custom Icon https://example.com/custom/bookstack.png File format must be specified for custom icons

Clone this wiki locally