]> git.r.bdr.sh - rbdr/mobius/blobdiff - README.md
Remove user from Dockerfile
[rbdr/mobius] / README.md
index 63514818de636c45372a87ecb70973eafd7ef3b0..42ed9d388679ca14fb7f03d76f6ab6f11eb09cf3 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,9 @@
+<picture>
+  <source media="(prefers-color-scheme: dark)" srcset="dark_logo.png">
+  <source media="(prefers-color-scheme: light)" srcset="light_logo.png">
+  <img src="dark_logo.png" alt="Mobius Logo">
+</picture>
+
 # Mobius
 
 Mobius is a cross-platform command line [Hotline](https://en.wikipedia.org/wiki/Hotline_Communications) client and server implemented in Golang.
@@ -10,16 +16,37 @@ The goal of the Mobius client is to make it fun and easy to connect to multiple
 
 ### Docker
 
-If you run Docker, you can quickly try out the Mobius server with the official image from Docker hub:
+### Docker
+
+To quickly run a Hotline server with ports forwarded from the host OS to the container, run:
+
+       docker run --rm -p 5500:5500 -p 5501:5501 ghcr.io/jhalter/mobius:latest
+
+You can now connect to localhost:5500 with your favorite Hotline client and play around, but all changes will be lost on container restart.
 
-    docker run --rm -p 5500:5500 -p 5501:5501 jhalter/mobius-hotline-server:latest -init
+To serve files from the host OS and persist configuration changes, you'll want to set up a [bind mount](https://docs.docker.com/storage/bind-mounts/) that maps a directory from the host into the container.
 
-This will start the Mobius server with the Hotline ports 5500 and 5501 exposed on localhost using a default configuration from the image.
+To do this, create a directory in a location of your choice on the host OS.  For clarity, we'll assign the path to the `HLFILES` environment variable and re-use it:
 
-To edit the configuration and serve files from your host OS, include the `-v` option to setup a Docker [bind mount](https://docs.docker.com/storage/bind-mounts/):
+```
+export HLFILES=/home/myuser/hotline-files
+mdkir $HLFILES
+
+sudo docker run \
+    --pull=always \
+    --rm \
+    -p 5500:5500 \
+    -p 5501:5501 \
+    -v $HLFILES:/usr/local/var/mobius/config \
+    ghcr.io/jhalter/mobius:latest \
+    -init
+```
+
+It's a good security practice to run your server as a non-root user, which also happens to make editing the configuration files easier from the host OS.
 
-       export HLFILES=/Users/foo/HotlineFiles #
-       docker run --rm -p 5500:5500 -p 5501:5501 -v $HLFILES:/usr/local/var/mobius/config jhalter/mobius-hotline-server:latest -init
+To do this, add the `--user` flag to the docker run arguments with a user ID and group ID of a user on the host OS.
+
+`--user 1001:1001`
 
 You'll now find a configuration directory on your host OS populated with a default configuration:
 
@@ -38,7 +65,6 @@ drwxr-xr-x   4 jhalter  staff   128 Jun 12 17:11 Users
 
 Edit `config.yaml` to get started personalizing your server.
 
-
 ### Mac OS
 
 For Mac OS the easiest path to installation is through Homebrew.