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
3git clone [email protected]:LYK-love/photoview.git
cd photoview
docker compose up -dAccording 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:
Clone the repo:
1
2git clone https://github.com/eikek/docspell
cd docspell/docker/docker-composeEdit
docker-compose.yml
, change7880:7880
to8004:7880
.Run
docker compose up
:1
docker compose up -d
logseq:
1
2docker 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:latestSee the Logseq Docker Web App Guide
mediacms:
Clone the repo:
1
2git clone https://github.com/mediacms-io/mediacms
cd mediacmsEdit
docker-compose.yml
, change80:80
to8006:80
, and set your user account. For example:1
2
3ADMIN_USER: 'lyk'
ADMIN_EMAIL: 'lyk@localhost'
ADMIN_PASSWORD: 'lyk123'Run
docker compose up
:1
docker compose up -d
See the mediacms Docker Web App Guide
-
- 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):
moodist, listening to port
8000
on remote server.image matting, listening to port
8001
on remote server.image matting, listening to port
8002
on remote server.webssh2, listening to port
8003
on remote server.Note that webssh2 starts at
http://localhost:<port>/ssh/host/<hostname>
. So I use1
http://localhost:8003/ssh/host/x.x.x.x
to visit it.
dockspell, listening to port
8004
on remote server.logseq, listening to port
8005
on remote server.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
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
webssh2
After staring the container, you can use ssh on your browser via
1 | http://localhost:<port>/ssh/host/<hostname> |