From 7ca716237b7c2e51dc0c4e928f813a813660db20 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Sat, 13 Oct 2018 09:31:14 +0200 Subject: Write some instructions in README.md --- README.md | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file 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`. -- cgit v1.2.3