aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md122
1 files changed, 118 insertions, 4 deletions
diff --git a/README.md b/README.md
index 925036c..107d3bd 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
What is Shard?
===============
-*WARNING:* This is a primer on what I want Shard to become. As of today I'm only
-starting work on this project and there is almost nothing to see. I hope this
-will evolve and approach at least a significant portion of the goals identified
-below.
+*WARNING:* This is a primer on what I want Shard to become. As of today I'm
+only starting work on this project and there is almost nothing to see. I hope
+this will evolve and approach at least a significant portion of the goals
+identified below.
Shard is a decentralized communication system adapted to public and private
discussion and collaboration.
@@ -78,3 +78,117 @@ Shard vs. Mastodon / GNU Social
-------------------------------
Same remarks than for Matrix.
+
+
+How to use it?
+==============
+
+Installation
+------------
+
+Shard has been tested under Linux and should probably work also under Mac OS.
+No idea about MS Windows.
+
+We don't have an automated installation procedure for now. Sorry.
+
+First, install the git version control system, as well as the Erlang and Elixir
+programming languages. This should be done using your favourite package
+manager.
+
+If you wish to use the web UI, you must also install nodejs and npm.
+
+Then, clone the Shard repository using git:
+
+```
+git clone git://adnab.me/shard.git
+```
+
+### CLI version only
+
+Enter the shard directory and create a data folder.
+
+```
+cd shard
+mkdir data # for CLI use only
+```
+
+Enter the shard subdirectory and install Elixir dependencies.
+
+```
+cd shard
+mix deps.get
+mix compile
+```
+
+**The default configuration assumes you have cloned the shard repo in your
+`$HOME`. If this is not the case, ajust `config/config.exs` accordingly.**
+
+
+### Web UI version
+
+Enter the shard directory and create a data2 folder.
+
+```
+cd shard
+mkdir data2 # for web UI
+```
+
+Enter the shardweb subdirectory and install Elixir dependencies.
+
+```
+cd shardweb
+mix deps.get
+mix compile
+```
+
+Build the web assets:
+
+```
+cd assets
+npm install
+cd ..
+```
+
+**The default configuration assumes you have cloned the shard repo in your
+`$HOME`. If this is not the case, ajust `config/config.exs` accordingly.**
+
+
+CLI usage
+---------
+
+Once you have completed the installation steps above, Shard can be started by
+running the following in the `shard/shard` directory:
+
+```
+iex -S mix
+```
+
+Once Shard has started and you have an iex prompt, you can enter the minimalist
+CLI interface by typing:
+
+```
+SCLI.run
+```
+
+This CLI supports a few basic commands:
+
+- `/connect 1.2.3.4 4044`: connect to a Shard peer at IP 1.2.3.4 on port 4044 (default port)
+- `/join test`: join chatroom called test
+- `/nick my_nickname`: set nickname
+- `/list`: list channels we are currently connected to
+- `/hist`: show recent messages on current channel
+- `/pm nickname`: enter private conversation with someone
+- `/quit`: return to iex prompt
+
+
+Web Ui usage
+------------
+
+Once you have completed the installation steps above, Shard web can be started
+by running the following in the `shard/shardweb` directory:
+
+```
+iex -S mix phx.server
+```
+
+The UI will become accessible at address `http://127.0.0.1:4000`.