Merge pull request #750 from jessopb/readmeUpdates

updates readme and install docs
This commit is contained in:
Alyssa Callahan 2018-11-27 11:04:55 -05:00 committed by GitHub
commit 36059edaf0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 56 additions and 18 deletions

View file

@ -1,14 +1,14 @@
# Spee.ch
Spee.ch is a web app that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain. We encourage you to contribute to the shared code base, or fork it and make it your own.
Spee.ch is a [NodeJS](https://nodejs.org) React web app that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain.
You can create your own custom version of spee.ch by installing this code base and then creating your own custom components and styles to override the defaults. (More details/guide on how to do that coming soon.)
## Technology Overview
Spee.ch is a react web app that depends on MySQL for local content, and on two other lbry technologies:
Spee.ch depends on two other lbry technologies:
* [chainquery](https://github.com/lbryio/chainquery) - a normalized database of the blockchain data. We've provided credentials to use a public chainquery service. You can also install it on your own server to avoid being affected by the commons.
* [lbrynet](https://github.com/lbryio/lbry) - a daemon that handles your wallet and transactions.
![App GIF](https://spee.ch/e/speechgif.gif)
## Installation
## Install
### Ubuntu Step by Step
[Ubuntu Install Guide](./docs/ubuntuinstall.md)
@ -22,9 +22,14 @@ Spee.ch is a react web app that depends on MySQL for local content, and on two o
* speechport = 3000
#### Install and Set Up System Dependencies:
* Firewall open ports
* 22
* 80
* 443
* 3333
* 4444
* [NodeJS](https://nodejs.org)
* [MySQL](https://dev.mysql.com/doc/refman/8.0/en/installing.html)
* localhost port 3306
* mysqlusername or root
* mysqlpassword
* You may need
@ -38,12 +43,13 @@ Spee.ch is a react web app that depends on MySQL for local content, and on two o
* `./lbrynet account_balance` gets your balance (initially 0.0)
* `./lbrynet address_list` gets addresses you can use to recieve LBC
* [FFmpeg](https://www.ffmpeg.org/download.html)
* [Spee.ch] (below)
* [pm2] (optional) process manager such as pm2 to run speech server.js
* [http proxy server] caddy, nginx, traefik, etc to forward 80/443 to speech port 3000
* Spee.ch (below)
* pm2 (optional) process manager such as pm2 to run speech server.js
* http proxy server e.g. caddy, nginx, or traefik, to forward 80/443 to speech port 3000
* _note: even running on http://localhost, you must redirect http or https to port 3000_
#### Clone this repo
#### Clone a spee.ch repo (choose one)
* release version for stable production
```
$ git clone -b release https://github.com/lbryio/spee.ch.git
@ -65,7 +71,8 @@ $ npm install
```
#### Create the config files using the built-in CLI
_note: make sure lbrynet is running in the background before proceeding_
Make sure lbrynet is running in the background before proceeding.
_note: If you are opt to run a local chainquery, such as from [lbry-docker/chainquery](https://github.com/lbryio/lbry-docker/tree/master/chainquery) you will need to specify connection details at this time in:_ ~/spee.ch/docs/setup/conf/speech/chainqueryConfig.json
@ -75,7 +82,6 @@ $ npm run configure
#### Build & start the app
_note: make sure lbrynet is running in the background before proceeding_
```
$ npm run start
```
@ -249,3 +255,15 @@ Familiarity with the spee.ch code base and how the lbry daemon functions is requ
#### level 4
Issues with lbry (e.g. the spee.ch wallet, lbrynet configuration, etc.) that require strong familiarity with the lbry daemon and/or network to fix. Generally these issues are best suited for the `lbry` `protocol team` but are reported in this repo because they are part of the spee.ch implementation
## License
This project is MIT licensed. For the full license, see [LICENSE](LICENSE).
## Security
We take security seriously. Please contact security@lbry.io regarding any security issues. [Our GPG key is here](https://lbry.io/faq/gpg-key) if you need it.
## Contact
The primary contact for this project is [@skhameneh](mailto:shawn@lbry.io).

View file

@ -35,7 +35,7 @@ As root# _create user and add to sudo group_
usermod -aG sudo username
su - username
```
As username: _paste public key in authorized_keys_
As username: *paste public key in authorized\_keys*
```
`cd`
`mkdir .ssh`
@ -96,6 +96,7 @@ Log in as username@domainname or username@ip_address
`cp ~/spee.ch/docs/setup/conf/caddy/Caddyfile.template ~/spee.ch/docs/setup/conf/caddy/Caddyfile`
`nano ~/spee.ch/docs/setup/conf/caddy/Caddyfile`
( Change {{EXAMPLE.COM}} to YOURDOMAIN.COM )
`sudo cp ~/spee.ch/docs/setup/conf/caddy/Caddyfile /opt/caddy/`
@ -120,11 +121,17 @@ Log in as username@domainname or username@ip_address
At this point, navigating to yourdomain.com should give you a 502 bad gateway error. That's good!
Now you can make sure caddy starts when the machine starts:
`sudo systemctl enable caddy`
# 4 Set up MySQL
## Install MySQL
`sudo apt-get install mysql-server -y`
( enter blank password each time if prompted)
`sudo systemctl status mysql` (q to exit)
@ -132,7 +139,7 @@ Log in as username@domainname or username@ip_address
## Secure Setup
`sudo mysql_secure_installation`
* Password abcd1234
* Password your_mysql_password
* No to password validation
* Y to all other options
@ -143,7 +150,7 @@ Log in as username@domainname or username@ip_address
mysql>
`ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abcd1234';`
`ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_mysql_password';`
mysql>
@ -153,13 +160,13 @@ Log in as username@domainname or username@ip_address
Verify:
`mysql -u root -p` and then entering your password abcd1234 should give you the mysql> shell
`mysql -u root -p` and then entering your_mysql_password should give you the mysql> shell
# 5 Get Lbrynet Daemon
## Start tmux
This just allows you to run multiple things in different sessions. Useful for manually starting daemons and watching its console logs.
tmux allows you to run multiple things in different sessions. Useful for manually starting daemons and watching its console logs.
`tmux`
* `Ctrl+b`, then `d` detaches leaving session running.
@ -175,11 +182,17 @@ This just allows you to run multiple things in different sessions. Useful for ma
`./lbrynet start`
## Detatch tmux session
* `Control + b`, then `d` to leave lbrynet daemon running and exit the session
`Control + b`, then `d`
<<<<<<< Updated upstream
* `tmux` if you want to get back into tmux
* `Control+b`, then `)` while in tmux session to cycle back to your lbrynet session to see output
=======
`tmux`
_note: `Control+b`, then `)` while in tmux session to cycle back to your lbrynet session to see output_
>>>>>>> Stashed changes
## Display wallet address to which to send 5+ LBC.
@ -214,9 +227,16 @@ This just allows you to run multiple things in different sessions. Useful for ma
`npm run configure`
<<<<<<< Updated upstream
=======
(once your wallet balance has cleared)
`npm run configure`
>>>>>>> Stashed changes
* Database: lbry
* Username: root
* Password: abcd1234
* Password: your_mysql_password
* Port: 3000
* Site Title: Your Site Name
* Enter your site's domain name: https://example.com or http://localhost