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