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