Useful Self-Hosted Docker Images

Useful self-hosted docker images which can be hosted on a remote server and be visited on the local browser.

List

To use them, install docker and docker compose first and run the corresponding commands.

  • Music: moodist
  • Image processing: image matting
  • Photo gallery: photoview. This is forked from -->here. I only changed the docker-compose.yml file.
  • webssh2: Use ssh on your browser!

How to install

Below are my favourite docker images. To use them, install docker and docker compose first and run the corresponding commands.

  • moodist

    1
    docker run -d --restart=unless-stopped -p 8000:8080 --name moodist  geekyouth/moodist:v1.2.0
  • image matting

    1
    docker run -d --restart=unless-stopped -p 8001:8000 ihmily/image-matting:0.0.3
  • photoview:

    1
    2
    3
    git clone [email protected]:LYK-love/photoview.git
    cd photoview
    docker compose up -d

    According to my docker-compose.yml, this will listen to host's port=8002.

    Note: you need to set env variable IMAGE_HOME first. This will be used by Photoview to store the images.

  • webssh2:

    1
    docker run -d --restart=unless-stopped --name webssh -p 8003:2222 billchurch/webssh2

    The docker image is -->here.

  • Docspell:

    1. Clone the repo:

      1
      2
      git clone https://github.com/eikek/docspell
      cd docspell/docker/docker-compose
    2. Edit docker-compose.yml, change 7880:7880 to 8004:7880.

    3. Run docker compose up:

      1
      docker compose up -d
  • logseq:

    1
    2
    docker pull ghcr.io/logseq/logseq-webapp:latest
    docker run -d --restart=unless-stopped -p 127.0.0.1:8005:80 ghcr.io/logseq/logseq-webapp:latest

    See the Logseq Docker Web App Guide

  • mediacms:

    1. Clone the repo:

      1
      2
      git clone https://github.com/mediacms-io/mediacms
      cd mediacms
    2. Edit docker-compose.yml, change 80:80 to 8006:80, and set your user account. For example:

      1
      2
      3
      ADMIN_USER: 'lyk'
      ADMIN_EMAIL: 'lyk@localhost'
      ADMIN_PASSWORD: 'lyk123'
    3. Run docker compose up:

      1
      docker compose up -d

    See the mediacms Docker Web App Guide

  • BionicGPT:

    1. Install Ollama first and pull a llama image.

How to use

Take myself as an example, I run these containers on my remote server (Ubuntu22.04 x86_64):

  1. moodist, listening to port 8000 on remote server.

  2. image matting, listening to port 8001 on remote server.

  3. image matting, listening to port 8002 on remote server.

  4. webssh2, listening to port 8003 on remote server.

    • Note that webssh2 starts at http://localhost:<port>/ssh/host/<hostname>. So I use

      1
      http://localhost:8003/ssh/host/x.x.x.x

      to visit it.

  5. dockspell, listening to port 8004 on remote server.

  6. logseq, listening to port 8005 on remote server.

  7. mediacms, listening to port 8006 on remote server.

My remote server has IP x.x.x.x, I can directly visit http://x.x.x.x:<port> to visit each application.

But what if we don't have access to x.x.x.x:<port>? In many cases we only have access to the port=22 while other ports blocked by VPN we use or firewall on the server.

In this case you should start ssh port forwarding first.

1
ssh -f -N -q -L <localPort>:localhost:<remotePort> <username>@<remoteHost>

After that, we can visit these applications locally via http://x.x.x.x:<localPort>.

moodist

moodist

image matting

image matting

photoview

The usage can be found at Initial Setup.

The photos will have to be scanned before they show up, you can start a scan manually, by navigating to Settings and clicking on Scan All

photoview

webssh2

After staring the container, you can use ssh on your browser via

1
http://localhost:<port>/ssh/host/<hostname>
webssh2

dockspell

image-20240214171703749

logseq

mediacms

image-20240214171517793
image-20240214171525804