]> git.r.bdr.sh - rbdr/mobius/blobdiff - README.md
Update docker image name
[rbdr/mobius] / README.md
index 799a903048871ee1a7df1a3bb8b8c56f76f8a6d9..fc73a1591f9af9f869d4c24ba0a0b034520f8649 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,83 +1,97 @@
+<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
 
-Cross-platform command line [Hotline](https://en.wikipedia.org/wiki/Hotline_Communications) server and client
+Mobius is a cross-platform command line [Hotline](https://en.wikipedia.org/wiki/Hotline_Communications) client and server implemented in Golang.
 
-[![CircleCI](https://circleci.com/gh/jhalter/mobius/tree/master.svg?style=svg&circle-token=7123999e4511cf3eb93d76de98b614a803207bea)](https://circleci.com/gh/jhalter/mobius/tree/master)
+The goal of Mobius server is to make it simple to run a Hotline server on macOS, Linux, and Windows, with full compatibility for all popular Hotline clients.
 
-# Installation
+The goal of the Mobius client is to make it fun and easy to connect to multiple Hotline servers through a [cool retro terminal UI](https://github.com/jhalter/mobius/wiki/Mobius-Client-Screenshot-Gallery).
 
-### Mac OS X
+## Getting started
 
-#### Client
+### Docker
 
-    brew install jhalter/mobius-hotline-client/mobius-hotline-client
+If you run Docker, you can quickly try out the Mobius server with the official image from Docker hub:
 
-#### Server
+    docker run --pull=always --rm -p 5500:5500 -p 5501:5501 jhalter/mobius-hotline-server:latest
 
-    brew install jhalter/mobius-hotline-client/mobius-hotline-client
+This will start the Mobius server with the Hotline ports 5500 and 5501 exposed on localhost using a default configuration from the image.
 
-### Linux
+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/):
 
-Download a compiled release for your architecture from the Releases page
+       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
 
-### Windows
+You'll now find a configuration directory on your host OS populated with a default configuration:
 
-    TODO
+```
+❯ ls -al $HLFILES
+total 32
+drwxr-xr-x   8 jhalter  staff   256 Jun 12 17:11 .
+drwxr-x---+ 49 jhalter  staff  1568 Jun 12 17:11 ..
+-rw-r--r--   1 jhalter  staff    38 Jun 12 17:11 Agreement.txt
+drwxr-xr-x   3 jhalter  staff    96 Jun 12 17:11 Files
+-rw-r--r--   1 jhalter  staff    19 Jun 12 17:11 MessageBoard.txt
+-rw-r--r--   1 jhalter  staff    15 Jun 12 17:11 ThreadedNews.yaml
+drwxr-xr-x   4 jhalter  staff   128 Jun 12 17:11 Users
+-rw-r--r--   1 jhalter  staff   313 Jun 12 17:11 config.yaml
+```
 
-# Build
+Edit `config.yaml` to get started personalizing your server.
 
-To build from source, run
-`make build`
 
-# Features
+### Mac OS
 
-* Hotline 1.2.3
+For Mac OS the easiest path to installation is through Homebrew.
 
-## Usage
+#### Client
 
-### Precompiled binaries
-To get started quickly, download the precompiled binaries for your platform:
+To install the client:
 
-* [Linux]()
-* [Mac OS X]()
+    brew install jhalter/mobius-hotline-client/mobius-hotline-client
 
-## Compatibility
+Then run `mobius-hotline-client` to get started.
 
-The server has been tested with:
- * Hotline Client version 1.2.3
- * Hotline Client version 1.8.2   
- * Hotline Client version 1.9.2
- * Nostalgia
+#### Server
 
-### Build from source
+To install the server:
 
-       make build
+    brew install jhalter/mobius-hotline-server/mobius-hotline-server
 
+After installation `mobius-hotline-server` will be installed at `$HOMEBREW_PREFIX/bin/mobius-hotline-server` and should be in your $PATH.
 
-# TODO
+The server config file directory is under `$HOMEBREW_PREFIX/var/mobius` which by default contains:
 
-* Implement 1.5+ protocol account editing
-* Implement folder transfer resume
-* Implement file transfer queuing
-* Map additional file extensions to file type and creator codes
-* Implement file comment read/write
-* Implement user banning
-* Implement Maximum Simultaneous Downloads
-* Maximum simultaneous downloads/client
-* Maximum simultaneous connections/IP
-* Implement server broadcast
-* Implement statistics:
-    * Currently Connected
-    * Downloads in progress
-    * Uploads in progress
-    * Waiting Downloads
-    * Connection Peak
-    * Connection Counter
-    * Download Counter
-    * Upload Counter
-    * Since
+    /opt/homebrew/mobius/config/MessageBoard.txt
+    /opt/homebrew/var/mobius/config/config.yaml
+    /opt/homebrew/var/mobius/config/ThreadedNews.yaml
+    /opt/homebrew/var/mobius/config/Agreement.txt
+    /opt/homebrew/var/mobius/config/Users/guest.yaml
+    /opt/homebrew/var/mobius/config/Users/admin.yaml
+
+Edit `/usr/local/var/mobius/config/config.yaml` to change your server name and other settings.
+
+Edit `/usr/local/var/mobius/config/Agreement.txt` to set your server agreement.
+
+Run `mobius-hotline-server -help` for usage options.
+
+### Linux
+
+Download a compiled release for your architecture from the Releases page or follow build from source instructions
+
+### Windows
+
+    TODO
+
+### Build from source
 
+To build from source, run:
 
-# TODO - Someday Maybe
+    make all
 
-* Implement Pitbull protocol extensions
\ No newline at end of file
+Then grab your desired build from `dist`