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