]> git.r.bdr.sh - rbdr/mobius/blame - README.md
Updated image URL's
[rbdr/mobius] / README.md
CommitLineData
6e16e926 1<picture>
a3ca1960 2 <source media="(prefers-color-scheme: dark)" srcset="dark_logo.png">
3 <source media="(prefers-color-scheme: light)" srcset="light_logo.png">
6e16e926 4</picture>
5
6988a057
JH
6# Mobius
7
2a46179f 8Mobius is a cross-platform command line [Hotline](https://en.wikipedia.org/wiki/Hotline_Communications) client and server implemented in Golang.
6988a057 9
2a46179f 10The 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.
6988a057 11
2a46179f 12The 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).
6988a057 13
2a46179f 14## Getting started
69fceb2e 15
2a46179f
JH
16### Docker
17
18If you run Docker, you can quickly try out the Mobius server with the official image from Docker hub:
19
6cb58d13 20 docker run --rm -p 5500:5500 -p 5501:5501 jhalter/mobius-hotline-server:latest
2a46179f
JH
21
22This will start the Mobius server with the Hotline ports 5500 and 5501 exposed on localhost using a default configuration from the image.
23
24To 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/):
69fceb2e 25
2a46179f
JH
26 export HLFILES=/Users/foo/HotlineFiles #
27 docker run --rm -p 5500:5500 -p 5501:5501 -v $HLFILES:/usr/local/var/mobius/config jhalter/mobius-hotline-server:latest -init
69fceb2e 28
2a46179f
JH
29You'll now find a configuration directory on your host OS populated with a default configuration:
30
31```
32❯ ls -al $HLFILES
33total 32
34drwxr-xr-x 8 jhalter staff 256 Jun 12 17:11 .
35drwxr-x---+ 49 jhalter staff 1568 Jun 12 17:11 ..
36-rw-r--r-- 1 jhalter staff 38 Jun 12 17:11 Agreement.txt
37drwxr-xr-x 3 jhalter staff 96 Jun 12 17:11 Files
38-rw-r--r-- 1 jhalter staff 19 Jun 12 17:11 MessageBoard.txt
39-rw-r--r-- 1 jhalter staff 15 Jun 12 17:11 ThreadedNews.yaml
40drwxr-xr-x 4 jhalter staff 128 Jun 12 17:11 Users
41-rw-r--r-- 1 jhalter staff 313 Jun 12 17:11 config.yaml
42```
43
44Edit `config.yaml` to get started personalizing your server.
69fceb2e 45
69fceb2e
JH
46
47### Mac OS
48
2a46179f 49For Mac OS the easiest path to installation is through Homebrew.
6988a057
JH
50
51#### Client
52
2a46179f 53To install the client:
69fceb2e 54
2a46179f 55 brew install jhalter/mobius-hotline-client/mobius-hotline-client
69fceb2e 56
2a46179f 57Then run `mobius-hotline-client` to get started.
69fceb2e 58
6988a057
JH
59#### Server
60
2a46179f
JH
61To install the server:
62
bbecef95 63 brew install jhalter/mobius-hotline-server/mobius-hotline-server
6988a057 64
2a46179f 65After installation `mobius-hotline-server` will be installed at `$HOMEBREW_PREFIX/bin/mobius-hotline-server` and should be in your $PATH.
69fceb2e 66
2a46179f 67The server config file directory is under `$HOMEBREW_PREFIX/var/mobius` which by default contains:
69fceb2e 68
2a46179f
JH
69 /opt/homebrew/mobius/config/MessageBoard.txt
70 /opt/homebrew/var/mobius/config/config.yaml
71 /opt/homebrew/var/mobius/config/ThreadedNews.yaml
72 /opt/homebrew/var/mobius/config/Agreement.txt
73 /opt/homebrew/var/mobius/config/Users/guest.yaml
74 /opt/homebrew/var/mobius/config/Users/admin.yaml
69fceb2e
JH
75
76Edit `/usr/local/var/mobius/config/config.yaml` to change your server name and other settings.
77
78Edit `/usr/local/var/mobius/config/Agreement.txt` to set your server agreement.
79
80Run `mobius-hotline-server -help` for usage options.
81
6988a057
JH
82### Linux
83
d8e28ebc 84Download a compiled release for your architecture from the Releases page or follow build from source instructions
6988a057
JH
85
86### Windows
87
88 TODO
89
69fceb2e 90### Build from source
6988a057 91
69fceb2e 92To build from source, run:
6988a057 93
2a46179f
JH
94 make all
95
96Then grab your desired build from `dist`