Link-Based Docker Containers

I use the following three link-based docker containers: 
  • Homepage 
  • Heimdall 
  • Linkding 
I really love all three of these containers. Homepage and Heimdall are especially useful to set up links to your docker container web sites. Linkding is very useful for searching through web site links that you save and for setting up tags. I describe the docker-compose.yml files and other configuration files that I use in the following sections. 

Homepage 


Hompage lets you set links to services and websites that you use frequently. It uses configuration files for setting the links, backgrounds, and icons. 

 Here is the docker-compose.yml file that I use.

services:
  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    ports:
      - 3001:3000 # Map host port 3000 to container port 3000
    volumes:
      - ./config:/app/config # Mount a local directory for configuration files
        #- /var/run/docker.sock:/var/run/docker.sock:ro # Optional: for Docker integrations (read-only)
    environment:
      #PUID: 1000 # Optional: your user ID
      #PGID: 1000 # Optional: your group ID
      HOMEPAGE_ALLOWED_HOSTS: localhost:3001
    restart: no

Update the settings.yaml file to change the background graphic.

---
# For configuration options and examples, please see:
# https://gethomepage.dev/configs/settings/
#
#
title: My Homepage

background: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80 # <----- add this line

providers:
  openweathermap: openweathermapapikey
  weatherapi: weatherapiapikey

Use services.yaml file to set up your service web sites.

--
# For configuration options and examples, please see:
# https://gethomepage.dev/configs/services/
#
# icons found here https://github.com/walkxcode/dashboard-icons

- My First Group:
    - Portainer Service:
        icon: portainer-alt.png
        href: https://localhost:9443
        description: Portainer
    - Drupal Service:
        href: http://localhost:8080
        description: Drupal 11 (Docker Container)
    - My Wordpress:
        icon: wordpress.png
        href: http://localhost:8888
        description: Wordpress
- My Second Group:
    - My Github Page:
        icon: github.png
        href: https://github.com/edstraus23/
        description: This is my Github page
- My Third Group:
    -  FreshRSS Service:
        icon: freshrss.png
        href: http://localhost:8083
        description: FreshRSS service
    -  DockuWiki Service:
        icon: dokuwiki.png
        href: http://localhost:8889
        description: DokuWiki service

Use the following Icon Search Website to set the icons:

https://dashboardicons.com/

You can also include web site links with the bookmarks.yaml file.

---
# For configuration options and examples, please see:
# https://gethomepage.dev/configs/bookmarks

- Developer:
    - Github:
        - abbr: GH
          href: https://github.com/
    - Dashboard Icons:
        - abbr: DI
          href: https://dashboardicons.com

- Social:
    - Reddit:
        - abbr: RE
          href: https://reddit.com/
    - Yahoo:
        - abbr: YH
          href: https://mail.yahoo.com/

- Entertainment:
    - YouTube:
        - abbr: YT
          href: https://youtube.com/

Heimdall

Heimdall is similar to homepage but configuration files are not needed. I prefer this over Homepage because it is less work to set up, but Home page allows more customization. Below is my docker-compose.yml file for it.

  heimdall:
    image: lscr.io/linuxserver/heimdall:latest
    container_name: heimdall
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    volumes:
      - ./config:/config
    ports:
      - 8085:80
      - 447:443
    networks:
      - my-bridge-network
    restart: no

networks:
    my-bridge-network:
      driver: bridge

Linkding

Linkding is a bookmark manager that you host on your home server. It has an excellent search feature, and you can also set up custom tagging. Below is my docker-compose.yml file for it.

services:
  linkding:
    container_name: "${LD_CONTAINER_NAME:-linkding}"
    image: sissbruecker/linkding:latest
    ports:
      - "${LD_HOST_PORT:-9090}:9090"
    volumes:
      - "${LD_HOST_DATA_DIR:-./data}:/etc/linkding/data"
    env_file:
      - .env
    restart: no

Comments

Popular posts from this blog

Using Drupal and DITA OT to Create a PDF File

DokuWiki Docker Container

Favorite Docker Containers