Giter VIP home page Giter VIP logo

easy-ssb-pub's Introduction

Easy Secure Scuttlebutt Pub

easy-ssb-pub is an easy-to-host server that runs an SSB "Pub".

screenshot

Secure Scuttlebutt (SSB) is an impressive peer-to-peer network that can be used for metadata, identity, and particularly, messaging. SSB is an ideal protocol for a social network. There is already a social network on SSB, called Patchwork.

However, to join the wider SSB network, you must get a dedicated invitation from a "Pub" server. Also, hosting a Pub server is not the easiest task. In order to improve adoption of SSB, this project makes it easy to deploy an SSB Pub. Once the Pub is running, it has a light frontend page where anyone can freely request a fresh invitation.

Visit one of these

Check the Pub Registry.

How to deploy

โš ๏ธ Note! This project is not actively maintained anymore by @staltz, because: (1) I'm focusing on building MMMMM and have no time, (2) this project should be split up as multiple sbot plugins, that would be a better architecture that allow easier evolution of each part, and easier customization. Feel free to fork! ๐Ÿด

You will need a server that supports a TCP sockets on ports 80, 8008 and 8007. This means Heroku or Zeit Now will not work. Recommended services for servers-on-demand: Digital Ocean Docker Droplet, UpCloud, Amazon LightSail, Vultr, Linode, etc.

  1. Acess your server via shell (e.g. SSH)
  2. Install Docker and Docker Compose
  3. git clone https://github.com/staltz/easy-ssb-pub.git
  4. cd easy-ssb-pub
  5. HOST=publicurltoyourserv.er docker-compose up -d
  6. Open http://publicurltoyourserver.er in your browser

After the container has been created, stop/start/restart the server using:

  • docker stop easy-ssb-pub
  • docker start easy-ssb-pub
  • docker restart easy-ssb-pub

OR

  1. Access your server via shell (e.g. SSH)
  2. docker pull staltz/easy-ssb-pub
  3. docker run -e "HOST=publicurltoyourserv.er" -v $HOME/.ssb:/root/.ssb -p 80:80 -p 8008:8008 -p 8007:8007 -m 450M --memory-swap 1G --restart=unless-stopped --name ssb-pub -d staltz/easy-ssb-pub

OR

  1. Access your server via shell (e.g. SSH)
  2. apt-get install -y libleveldb-dev curl libc6 libcurl3 zlib1g libtool autoconf
  3. Install nvm: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
  4. Restart the shell
  5. nvm install v6.9.1
  6. git clone https://github.com/staltz/easy-ssb-pub.git
  7. cd easy-ssb-pub
  8. npm install
  9. HOST=publicurltoyourserv.er npm start

How to debug

Sometimes it is useful to see what the easy-ssb-pub server is doing. When starting the server, provide the environment variable:

DEBUG='*'

easy-ssb-pub's People

Contributors

adinardi avatar carloslfu avatar crowdersoup avatar don-smith avatar jakeburden avatar maackle avatar sethwklein avatar shelbykiram avatar staltz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easy-ssb-pub's Issues

Image in Docker hub is outdated

Hi @staltz, awesome project!

I've tried running it recently with Docker and had an issue with the HOST variable not working. Took me some time but I've figured that the Docker image has actually an outdated code that relies on PUB_URL.

Could you push the updated image?

Thanks!

Rename PUB_URL to PUB_HOST

PUB_URL doesn't expect a URL it expects a hostname. this lead to a little confusion initially. maybe we could rename it?

Patchwork times out when trying to use my invite code

So patchwork gives me a "could not connect to sbot" error after quite a long wait. I get my invite code from the running easy-ssb-pub server here: http://104.236.242.204/

How can I go about investigating this issue? I'm getting some 404 request errors on the server command-line log.

when I try to run "sbot" from the command-line I get

Error: no manifest file- should be generated first time server is run
    at U4cM2R8x+cHnwYSRW5Qytus89XrA9etJFg2mUXZ8UNw= (/usr/local/lib/node_modules/scuttlebot/sbot.js:37019:11)
    at Function.Module._load (module.js:439:3)
  Error: ENOENT: no such file or directory, open '/root/.ssb/manifest.json'

`npm` is not available inside the Docker container

docker ps
docker exec -it [container_hash] bash

# now I'm inside the container
npm  # doesn't exist
. $HOME/.nvm/nvm.sh && npm  # also doesn't work

I see the line in the Dockerfile that should be installing npm (https://github.com/staltz/easy-ssb-pub/blob/master/Dockerfile#L18) , but somehow it doesn't seem to "stick". Is this consistent for anyone else?

The reason I need npm available is to run sbot. I was planning on creating a new package.json script that simply runs sbot, so I can do npm run sbot ... for things like e.g. naming my pub

easy-ssb-pub on FreeBSD 11.0

I don't know enough about npm specifically or node in general to have been able to figure these (minor-looking) issues out, but I thought I'd leave these notes in case someone else wants to pick it up.

Starting from a bare, fresh FreeBSD 11.0 environment:

# uname -a
FreeBSD sbot.hopcount.ca 11.0-RELEASE-p8 FreeBSD 11.0-RELEASE-p8 #0: Wed Feb 22 06:12:04 UTC 2017     [email protected]:/usr/obj/usr/src/sys/GENERIC  amd64
# pkg info
pkg-1.10.1                     Package manager
# 

Install the various prerequisite packages using pkg:

# pkg update
# pkg install curl libtool autoconf git node6 npm3 leveldb

Clone the easy-ssb-pub repo as an unprivileged user:

# su - jabley
$ git clone https://github.com/staltz/easy-ssb-pub.git

Use npm to install easy-ssb-pub -- output included this time, since this is where the fun starts. Long paste; skip to the end for weak commentry.

$ cd easy-ssb-pub/
$ ls
Dockerfile		package.json		stub-typings
LICENSE			pages			tests
README.md		screenshot.png		tsconfig.json
docker-compose.yaml	src			tslint.json
$ npm install
npm WARN prefer global [email protected] should be installed with -g
npm WARN prefer global [email protected] should be installed with -g

> [email protected] install /home/jabley/easy-ssb-pub/node_modules/utp-native
> node-gyp-build

gmake: Entering directory '/home/jabley/easy-ssb-pub/node_modules/utp-native/build'
  CXX(target) Release/obj.target/libutp/deps/libutp/utp_internal.o
../deps/libutp/utp_internal.cpp:752:54: error: invalid suffix on literal; C++11
      requires a space between literal and identifier
      [-Wreserved-user-defined-literal]
        log(UTP_LOG_DEBUG, "send %s len:%u id:%u timestamp:"I64u" reply_...
                                                            ^
                                                             
../deps/libutp/utp_internal.cpp:1783:76: error: invalid suffix on literal; C++11
      requires a space between literal and identifier
      [-Wreserved-user-defined-literal]
  ..."Got %s. seq_nr:%u ack_nr:%u state:%s timestamp:"I64u" reply_micro:%u"
                                                      ^
                                                       
../deps/libutp/utp_internal.cpp:1969:34: warning: comparison of integers of
      different signs: 'int' and 'uint32' (aka 'unsigned int') [-Wsign-compare]
                if (conn->mtu_probe_seq && seq == conn->mtu_probe_seq) {
                                           ~~~ ^  ~~~~~~~~~~~~~~~~~~~
1 warning and 2 errors generated.
gmake: *** [deps/libutp.target.mk:101: Release/obj.target/libutp/deps/libutp/utp_internal.o] Error 1
gmake: Leaving directory '/home/jabley/easy-ssb-pub/node_modules/utp-native/build'
gyp ERR! build error 
gyp ERR! stack Error: `gmake` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System FreeBSD 11.0-RELEASE-p8
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/jabley/easy-ssb-pub/node_modules/utp-native
gyp ERR! node -v v6.10.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 

> [email protected] install /home/jabley/easy-ssb-pub/node_modules/leveldown
> prebuild-install || node-gyp rebuild

prebuild-install info begin Prebuild-install version 2.1.2
prebuild-install info looking for local prebuild @ prebuilds/leveldown-v1.6.0-node-v48-freebsd-x64.tar.gz
prebuild-install info looking for cached prebuild @ /home/jabley/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.6.0-leveldown-v1.6.0-node-v48-freebsd-x64.tar.gz
prebuild-install http request GET https://github.com/level/leveldown/releases/download/v1.6.0/leveldown-v1.6.0-node-v48-freebsd-x64.tar.gz
prebuild-install http 404 https://github.com/level/leveldown/releases/download/v1.6.0/leveldown-v1.6.0-node-v48-freebsd-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=6.10.1 runtime=node arch=x64 platform=freebsd)
gmake: Entering directory '/home/jabley/easy-ssb-pub/node_modules/leveldown/build'
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/db_impl.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/db_iter.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/filename.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/dbformat.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/log_reader.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/log_writer.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/memtable.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/repair.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/table_cache.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/version_edit.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/version_set.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/db/write_batch.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/helpers/memenv/memenv.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/block.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/block_builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/filter_block.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/format.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/iterator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/merger.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/table.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/table_builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/table/two_level_iterator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/arena.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/bloom.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/cache.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/coding.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/comparator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/crc32c.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/env.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/filter_policy.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/hash.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/logging.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/options.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/status.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/port/port_posix.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.19/util/env_posix.o
  AR(target) Release/obj.target/deps/leveldb/leveldb.a
  COPY Release/leveldb.a
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy-sinksource.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy-stubs-internal.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy.o
  AR(target) Release/obj.target/deps/snappy/snappy.a
  COPY Release/snappy.a
  CXX(target) Release/obj.target/leveldown/src/batch.o
  CXX(target) Release/obj.target/leveldown/src/batch_async.o
  CXX(target) Release/obj.target/leveldown/src/database.o
  CXX(target) Release/obj.target/leveldown/src/database_async.o
  CXX(target) Release/obj.target/leveldown/src/iterator.o
  CXX(target) Release/obj.target/leveldown/src/iterator_async.o
  CXX(target) Release/obj.target/leveldown/src/leveldown.o
  CXX(target) Release/obj.target/leveldown/src/leveldown_async.o
  SOLINK_MODULE(target) Release/obj.target/leveldown.node
  COPY Release/leveldown.node
gmake: Leaving directory '/home/jabley/easy-ssb-pub/node_modules/leveldown/build'

> [email protected] install /home/jabley/easy-ssb-pub/node_modules/sodium-prebuilt
> prebuild --install --preinstall make

prebuild WARN install No prebuilt binaries found (target=v6.10.1 arch=x64 platform=freebsd)
make: "/home/jabley/easy-ssb-pub/node_modules/sodium-prebuilt/Makefile" line 14: Missing dependency operator
make: "/home/jabley/easy-ssb-pub/node_modules/sodium-prebuilt/Makefile" line 17: Need an operator
make: Fatal errors encountered -- cannot continue
make: stopped in /home/jabley/easy-ssb-pub/node_modules/sodium-prebuilt
prebuild ERR! build Error: make  failed with exit code 1
prebuild ERR! build     at Object.exports.spawnFailed (/home/jabley/easy-ssb-pub/node_modules/prebuild/error.js:31:10)
prebuild ERR! build     at ChildProcess.<anonymous> (/home/jabley/easy-ssb-pub/node_modules/prebuild/util.js:116:14)
prebuild ERR! build     at emitTwo (events.js:106:13)
prebuild ERR! build     at ChildProcess.emit (events.js:191:7)
prebuild ERR! build     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
[email protected] /home/jabley/easy-ssb-pub
+-- @types/[email protected] 
+-- @types/[email protected] 
| +-- @types/[email protected] 
| `-- @types/[email protected] 
|   `-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
+-- @types/[email protected] 
| `-- @types/[email protected] 
+-- @types/[email protected] 
+-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| `-- [email protected] 
|   +-- [email protected] 
|   `-- [email protected] 
|     `-- [email protected] 
+-- [email protected]  extraneous
+-- [email protected] 
| `-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| |   `-- [email protected] 
| `-- [email protected] 
+-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| `-- [email protected] 
+-- [email protected] 
| +-- @types/[email protected] 
| | `-- @types/[email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | `-- [email protected] 
| | |   `-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | |   `-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | | +-- [email protected] 
| | | | | +-- [email protected] 
| | | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | `-- [email protected] 
| | | |   +-- [email protected] 
| | | |   +-- [email protected] 
| | | |   +-- [email protected] 
| | | |   +-- [email protected] 
| | | |   | `-- [email protected] 
| | | |   +-- [email protected] 
| | | |   +-- [email protected] 
| | | |   | `-- [email protected] 
| | | |   +-- [email protected] 
| | | |   `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | `-- [email protected] 
| `-- [email protected] 
+-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | |   +-- [email protected] 
| | |   `-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | |   +-- [email protected] 
| | |   +-- [email protected] 
| | |   `-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| `-- [email protected] 
|   `-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| `-- [email protected] 
|   `-- [email protected] 
+-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | `-- [email protected] 
| | |   `-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | `-- [email protected] 
| |   `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | `-- [email protected] 
| | |   `-- [email protected] 
| | `-- [email protected] 
| |   `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   | `-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   | +-- [email protected] 
| | | | |   | | `-- [email protected] 
| | | | |   | |   +-- [email protected] 
| | | | |   | |   +-- [email protected] 
| | | | |   | |   `-- [email protected] 
| | | | |   | +-- [email protected] 
| | | | |   | `-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   | `-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   | `-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   | `-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   | +-- [email protected] 
| | | | |   | | `-- [email protected] 
| | | | |   | `-- [email protected] 
| | | | |   +-- [email protected] 
| | | | |   | +-- [email protected] 
| | | | |   | `-- [email protected] 
| | | | |   `-- [email protected] 
| | | | |     +-- [email protected] 
| | | | |     `-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | `-- [email protected] 
| | | |   `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | |   `-- [email protected] 
| | | |     +-- [email protected] 
| | | |     `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | +-- [email protected] 
| | | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | |   `-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | `-- [email protected] 
| | |   `-- [email protected] 
| | |     `-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | |   +-- [email protected] 
| | |   `-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | |   `-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| |   `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | `-- [email protected] 
| |   `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | `-- [email protected] 
| | | |   +-- [email protected] 
| | | |   `-- [email protected] 
| | | +-- [email protected] 
| | | | +-- [email protected] 
| | | | | +-- [email protected] 
| | | | | `-- [email protected] 
| | | | `-- [email protected] 
| | | |   `-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | |   `-- [email protected] 
| | `-- [email protected] 
| |   `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | |   +-- [email protected] 
| | | |   | `-- [email protected] 
| | | |   +-- [email protected] 
| | | |   +-- [email protected] 
| | | |   +-- [email protected] 
| | | |   | `-- [email protected] 
| | | |   |   +-- [email protected] 
| | | |   |   `-- [email protected] 
| | | |   `-- [email protected] 
| | | `-- [email protected] 
| | |   +-- [email protected] 
| | |   +-- [email protected] 
| | |   +-- [email protected] 
| | |   +-- [email protected] 
| | |   `-- [email protected] 
| | |     +-- [email protected] 
| | |     +-- [email protected] 
| | |     +-- [email protected] 
| | |     +-- [email protected] 
| | |     +-- [email protected] 
| | |     | +-- [email protected] 
| | |     | | `-- [email protected] 
| | |     | +-- [email protected] 
| | |     | +-- [email protected] 
| | |     | | +-- [email protected] 
| | |     | | +-- [email protected] 
| | |     | | +-- [email protected] 
| | |     | | `-- [email protected] 
| | |     | `-- [email protected] 
| | |     +-- [email protected] 
| | |     | `-- [email protected] 
| | |     +-- [email protected] 
| | |     | +-- [email protected] 
| | |     | `-- [email protected] 
| | |     |   `-- [email protected] 
| | |     `-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | |   +-- [email protected] 
| | |   | `-- [email protected] 
| | |   |   +-- [email protected] 
| | |   |   `-- [email protected] 
| | |   +-- [email protected] 
| | |   | `-- [email protected] 
| | |   |   `-- [email protected] 
| | |   +-- [email protected] 
| | |   +-- [email protected] 
| | |   +-- [email protected] 
| | |   | +-- [email protected] 
| | |   | `-- [email protected] 
| | |   `-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| |   +-- [email protected] 
| |   `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| |   +-- [email protected] 
| |   +-- [email protected] 
| |   | `-- [email protected] 
| |   +-- [email protected] 
| |   | `-- [email protected] 
| |   |   +-- [email protected] 
| |   |   +-- [email protected] 
| |   |   | `-- [email protected] 
| |   |   `-- [email protected] 
| |   `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| `-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | +-- [email protected] 
| | | | `-- [email protected] 
| | | +-- [email protected] 
| | | `-- [email protected] 
| | `-- [email protected] 
| |   +-- [email protected] 
| |   | `-- [email protected] 
| |   +-- [email protected] 
| |   +-- [email protected] 
| |   `-- [email protected] 
| `-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| |   `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| `-- [email protected] 
|   +-- [email protected] 
|   +-- [email protected] 
|   +-- [email protected] 
|   +-- [email protected] 
|   +-- [email protected] 
|   `-- [email protected] 
+-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| `-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| +-- [email protected] 
| `-- [email protected] 
|   +-- [email protected] 
|   | +-- [email protected] 
|   | +-- [email protected] 
|   | +-- [email protected] 
|   | +-- [email protected] 
|   | | `-- [email protected] 
|   | +-- [email protected] 
|   | | `-- [email protected] 
|   | |   +-- [email protected] 
|   | |   +-- [email protected] 
|   | |   +-- [email protected] 
|   | |   +-- [email protected] 
|   | |   `-- [email protected] 
|   | `-- [email protected] 
|   +-- [email protected] 
|   | +-- [email protected] 
|   | | `-- [email protected] 
|   | +-- [email protected] 
|   | +-- [email protected] 
|   | | `-- [email protected] 
|   | `-- [email protected] 
|   |   +-- [email protected] 
|   |   `-- [email protected] 
|   +-- [email protected] 
|   +-- [email protected] 
|   | `-- [email protected] 
|   |   +-- [email protected] 
|   |   | +-- [email protected] 
|   |   | | `-- [email protected] 
|   |   | +-- [email protected] 
|   |   | +-- [email protected] 
|   |   | +-- [email protected] 
|   |   | +-- [email protected] 
|   |   | +-- [email protected] 
|   |   | +-- [email protected] 
|   |   | +-- [email protected] 
|   |   | `-- [email protected] 
|   |   |   `-- [email protected] 
|   |   +-- [email protected] 
|   |   `-- [email protected] 
|   +-- [email protected] 
|   +-- [email protected] 
|   | `-- [email protected] 
|   `-- [email protected] 
`-- [email protected] 

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"freebsd","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/utp-native):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp-build`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/sodium-prebuilt):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `prebuild --install --preinstall make`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 2
$ 

The problem building utp-native seems to be that FreeBSD's native (clang) C++ compiler is less tolerant of syntax violations than G++ is. A couple of spaces inserted into lines 54 and 76 of .../deps/libutp/utp_internal.cpp to separate the string literals and the I64u identifier in each case would fix it, but I haven't taken the time to figure out where the working directory is and how I can apply an edit in place without it being overwritten at the next build.

The two errors reported by make(1) in easy-ssb-pub/node_modules/sodium-prebuilt/Makefile are less than ideally trivial to identify since npm apparently removes .../mode_modules/sodium-prebuilt following the failure so I can't look in it. There's a FreeBSD package libsodium-1.0.12 I could install, but it's not obvious how to tell npm that it's there (it doesn't seem to care).

Installation outside Docker, root, port 80 and problems

I tried to install easy-ssb-pub as root, but then there's a failure in installation of leveldown (whatever that might be) and/or the launch of gyp.
So I resorted to install in a simple user account (npm install), but then I can't launch (npm start) because it needs access to privileged port 80. So I ran it as root, but it then uses/creates a ~root/.ssb/secret file and doesn't use the one under ~user.

Is there a way to simplify this conundrum? I found where to change the port (in a config.ts), but I dont' know if or how I could pass that information on the command line. If someone points me to some doc on acceptable parameters, I'm willing a do a pull request with some tentative documentation.

How many followers can easy-ssb-pub handle?

I realise @staltz is no longer maintaining this, I'm hoping maybe some pub admins are still here and might be able to answer my question.

We're looking at moving a small social network of ~80k users onto SSB. Ideally we'd have all our users connected to 1 pub so that they can connect to each other, no matter who's online. Plus, they all have a relationship with the "organisation". Anyway, I'm trying to understand if any of the current SSB pubs will be able to cope with this many members. I suspect that many SSB clients may have a hard time even parsing the feed of the pub, which could be 80k messages (assuming 1 per member).

If anyone has any input as to how pubs scale, we'd be mighty grateful.

can't connect, then it dies

tried setting up easy-ssb-pub on digital ocean droplet using ubuntu 17 following the instructions provided here but I'm encountering 3 problems

  1. when i do docker start easy-ssb-pub it appears to start (something is now listening on 80, 8008, and 8007 via docker-proxy) but when i try and connect to port 80 i get connection refused
  2. it dies after a couple minutes. dies being defined as nothing listening on those ports anymore
  3. docker start easy-ssb-pub doesn't work after that. I have to stop it first then start (or use restart).

libsodium configure issue

The default script had this issue when building on Ubuntu:
Step 15/24 : RUN cd /libsodium && ./configure && make && make check && make install
---> Running in 688a9d2cb548
/bin/sh: 1: ./configure: not found

I installed libsodium from source directly, then commented out these lines from Dockerfile and compilation works:
21 #RUN cd /libsodium && git checkout && ./autogen.sh
22 #RUN cd /libsodium && ./configure && make && make check && make install

Wrong Protocol Version

I have an easy-ssb-pub setup at http://ssb.dockeri.co, when patchwork reaches out to use an invite I get:

{
 "message": "wrong protocol (version?)",
 "name": "Error",
 "stack": "Error: wrong protocol (version?)\n    at abort (/Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/secret-handshake/protocol.js:36:45)\n    at Object.cb (/Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/secret-handshake/protocol.js:45:18)\n    at drain (/Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/pull-reader/index.js:39:14)\n    at more (/Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/pull-reader/index.js:51:13)\n    at /Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/pull-reader/index.js:62:9\n    at /Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/pull-reader/index.js:20:7\n    at /Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/pull-stream/throughs/through.js:19:9\n    at drain (/Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/stream-to-pull-stream/index.js:141:18)\n    at Socket.<anonymous> (/Applications/Patchwork.app/Contents/Resources/app.asar/node_modules/stream-to-pull-stream/index.js:150:5)\n    at emitOne (events.js:115:13)"
}

I've confirmed that the service is reachable. Am I doing something silly here?

We have a clean install of easy-ssb-pub with no invites given out but in ssh we can see our pub connect to 2 other pubs

We have a clean install of easy-ssb-pub with no invites given out but in ssh we can see our pub connect to 2 other pubs

Connected ssb.joelmello.com:8008:@nRk7cZFeBoCARklvbrOMvUjZ5MZ0NC429k+gccGGHOE=.ed25519
Connected pub.37i.net:8008:@ZZSaYcKvwzqlIw43LyfJhGMu7HzXtsX3s4emi/GP0ew=.ed25519

Have these 2 pub been added to scale the service ?
Is there a way to not have these pubs connect to our pub ?

Add a local volume for .ssb

Currently the folder Scuttlebot uses for the database and its credentials is kept inside the container at /root/.ssb. Each time docker run gets called, it creates a new container and thus a new .ssb folder with new keys and an empty database. If we add a volume that maps a local /shared folder and tell sbot to use that folder (--path /shared) we can docker run as much as we like (to improve this solution over time) and we won't destroy the relationship between the pub and its contacts.

I'm happy to submit a PR in the next few days. At this point, I just wanted to capture the need. I've already had to notify my pub's contacts once that its keys are changing and that they need to unfollow it and get a new invite. Looks like I'm going to have to do it at least once more.

Update or version-lock TypeScript

Debian 9, node 6.9.1, installed using latest method from README and latest sources from Github. Output:

> [email protected] start /home/ssb/easy-ssb-pub
> tsc && node dist/index --host $HOST --no-discovery

src/discovery.ts(113,3): error TS2322: Type 'Observable<{}>' is not assignable to type 'Observable<Response>'.
  Type '{}' is not assignable to type 'Response'.
    Property 'text' is missing in type '{}'.

Instability, restarts and errors in logs

I've tried to track this and document as best as possible.

As of now, cloning this repo and running the docker-compose commands on a fresh DigitalOcean server results in unwanted behaviour.

This is the log from the first start, the error shown here appears a few minutes after it has started.

npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info lifecycle [email protected]~prestart: [email protected]
npm info lifecycle [email protected]~start: [email protected]

[email protected] start /usr/src/app
tsc node dist/index --host $HOST

server error, from net:::ffff:198.1...414~shs:
Error: expected hello
    at abort (/usr/src/app/node_modules/secret-handshake/protocol.js:80:45)
    at Object.cb (/usr/src/app/node_modules/secret-handshake/protocol.js:90:26)
    at drain (/usr/src/app/node_modules/pull-reader/index.js:42:23)
    at /usr/src/app/node_modules/pull-reader/index.js:59:18
    at /usr/src/app/node_modules/pull-reader/index.js:20:7
    at /usr/src/app/node_modules/pull-stream/throughs/through.js:19:9
    at drain (/usr/src/app/node_modules/stream-to-pull-stream/index.js:141:18)
    at Socket.canonymous\ (/usr/src/app/node_modules/stream-to-pull-stream/index.js:158:5)
    at emitNone (events.js:111:20)
    at Socket.emit (events.js:208:7)

Various other errors are reported:

Error replicating with @o2ddy...=.ed25519:
   Error: parent stream is closing
    at PacketStream.stream (/usr/src/app/node_modules/packet-stream/index.js:46:28)
    at Object.ws.remoteCall (/usr/src/app/node_modules/muxrpc/stream.js:114:17)
    at /usr/src/app/node_modules/muxrpc/index.js:45:15
    at remoteCall (/usr/src/app/node_modules/muxrpc/api.js:26:19)
    at EventEmitter.obj.(anonymous function) [as createHistoryStream] (/usr/src/app/node_modules/muxrpc/api.js:40:20)
    at replicate (/usr/src/app/node_modules/scuttlebot/plugins/replicate/legacy.js:247:13)
    at EventEmitter.fallback (/usr/src/app/node_modules/scuttlebot/plugins/replicate/legacy.js:307:7)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)
    at EventEmitter.emit (events.js:211:7)

Or (with timestamps):

2018-06-25T00:56:08.922909057Z Error replicating with @uMff...=.ed25519:
2018-06-25T00:56:08.923025645Z    Error: parent stream is closing
2018-06-25T00:56:08.933272975Z     at PacketStream.stream (/usr/src/app/node_modules/packet-stream/index.js:46:28)
2018-06-25T00:56:08.933313523Z     at Object.ws.remoteCall (/usr/src/app/node_modules/muxrpc/stream.js:114:17)
2018-06-25T00:56:08.933322540Z     at /usr/src/app/node_modules/muxrpc/index.js:45:15
2018-06-25T00:56:08.933328284Z     at remoteCall (/usr/src/app/node_modules/muxrpc/api.js:26:19)
2018-06-25T00:56:08.933334166Z     at EventEmitter.obj.(anonymous function) [as createHistoryStream] (/usr/src/app/node_modules/muxrpc/api.js:40:20)
2018-06-25T00:56:08.933339838Z     at replicate (/usr/src/app/node_modules/scuttlebot/plugins/replicate/legacy.js:247:13)
2018-06-25T00:56:08.933345290Z     at EventEmitter.fallback (/usr/src/app/node_modules/scuttlebot/plugins/replicate/legacy.js:307:7)
2018-06-25T00:56:08.933351243Z     at Object.onceWrapper (events.js:315:30)
2018-06-25T00:56:08.933356772Z     at emitOne (events.js:116:13)
2018-06-25T00:56:08.933361978Z     at EventEmitter.emit (events.js:211:7)

These logs were obtained using docker logs, the first time I ran it after running the docker-compose command for the first time the command stopped on these lines:

Killed
npm info lifecycle [email protected]~start: Failed to exec start script
npm ERR! code ELIFECYCLE
npm ERR! errno 137
npm ERR! [email protected] start: `tsc  node dist/index --host $HOST`
npm ERR! Exit status 137
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-06-24T23_46_17_506Z-debug.log
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info lifecycle [email protected]~prestart: [email protected]
npm info lifecycle [email protected]~start: [email protected]

Looks like it's killed either by the docker daemon or by npm inside the container, it will then just reboot.

I've made sure to run these tests on a fresh install. I have personnally run the same docker image on my server and, added to those reported here, had several other issues probably related to #27.

I have taken note of the maintenance and status warning in the README, for the time being I think this repo works for many people and figured I should share my investigation!

easy-ssb-pub not starting

I'm getting the following error in my log outputs when trying to start easy-ssb-pub:

flumelog-offset: blockSize and codec params moved into an object. https://github.com/flumedb/flumelog-offset
Log level: notice
RELOAD INDEX: {"version":13,"since":1521531478395.003}
RELOAD INDEX: {"version":5,"since":1521531477458.0176}
LOAD LINKS SINCE null 1521531477458.0176
./usr/src/app/node_modules/bytewise-core/util.js:26
throw new TypeError(message)
^

TypeError: Unknown value
at util.assert (/usr/src/app/node_modules/bytewise-core/util.js:26:11)
at Object.bytewise.encode (/usr/src/app/node_modules/bytewise-core/index.js:69:3)
at Object.util.encodeList [as encode] (/usr/src/app/node_modules/bytewise-core/util.js:145:23)
at serialize (/usr/src/app/node_modules/bytewise-core/index.js:23:22)
at Object.bytewise.encode (/usr/src/app/node_modules/bytewise-core/index.js:60:18)
at Object.util.encodeList [as encode] (/usr/src/app/node_modules/bytewise-core/util.js:145:23)
at serialize (/usr/src/app/node_modules/bytewise-core/index.js:23:22)
at Object.bytewise.encode (/usr/src/app/node_modules/bytewise-core/index.js:60:18)
at Codec.encodeKey (/usr/src/app/node_modules/level-packager/node_modules/level-codec/index.js:30:45)
at /usr/src/app/node_modules/level-packager/node_modules/level-codec/index.js:51:17
n

Invitation gives error

Hi, I've got the server running: https://ssb.yakczar.com/.

However, the invites don't work, it gives the following error:

TypeError: Cannot read property 'match' of undefined
   at Object.isPrivate (/usr/src/app/node_modules/scuttlebot/node_modules/ip/lib/ip.js:262:14)
   at Object.<anonymous> (/usr/src/app/node_modules/scuttlebot/plugins/invite.js:71:40)
   at apply (/usr/src/app/node_modules/muxrpc-validation/index.js:173:15)
   at Object.<anonymous> (/usr/src/app/node_modules/muxrpc-validation/index.js:82:14)
   at Object.hooked (/usr/src/app/node_modules/hoox/index.js:10:15)
   at /usr/src/app/dist/index.js:98:16
   at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)
   at next (/usr/src/app/node_modules/express/lib/router/route.js:131:13)
   at Route.dispatch (/usr/src/app/node_modules/express/lib/router/route.js:112:3)
   at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5) 

I'm running using the version from Docker hub.

Invites error Debian 9

I have managed to setup on a Debian 9 machine, Easy-SSB-Pub, with second config steps.
there is no way to create an invite. If someone can instruct, would be grateful!

easy-ssb-pub fails to install

I just powered up a digital ocean docker instance, based on ubuntu 16.04, and tried to install easy-ssb-pub, according to the instructions in README.md. Yet, this failed:

git clone https://github.com/staltz/easy-ssb-pub.git
cd easy-ssb-pub/
PUB_URL=xxx.yyy.org docker-compose up -d
[ ... ]
npm info attempt registry request try #1 at 12:17:18 PM
npm http fetch GET https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz
npm http fetch 200 https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz
npm info lifecycle [email protected]~preinstall: [email protected]

Killed
ERROR: Service 'easy_ssb_pub' failed to build: The command '/bin/sh -c . $HOME/.nvm/nvm.sh && npm install' returned a non-zero code: 137

A full log can be found here: https://gist.github.com/radiospiel/c2b2981badffff42671850617bbb3d8d

Note that quite some time went by between npm info lifecycle [email protected]~preinstall: [email protected], and that I didn't kill anything manually.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.