Giter VIP home page Giter VIP logo

wireapp / wire-server Goto Github PK

View Code? Open in Web Editor NEW
2.6K 99.0 324.0 61.29 MB

🇪🇺 Wire back-end services

Home Page: https://wire.com

License: GNU Affero General Public License v3.0

Makefile 0.32% Haskell 85.19% Rust 0.35% C 0.09% Shell 0.86% HTML 9.66% Python 0.57% Dockerfile 0.01% Nix 2.35% JavaScript 0.01% Smarty 0.39% Mustache 0.13% jq 0.07% DIGITAL Command Language 0.01%
wire server haskell rust

wire-server's Introduction

Wire™

Wire logo

This repository is part of the source code of Wire. You can find more information at wire.com or by contacting [email protected].

You can find the published source code at github.com/wireapp/wire.

For licensing information, see the attached LICENSE file and the list of third-party licenses at wire.com/legal/licenses/.

No license is granted to the Wire trademark and its associated logos, all of which will continue to be owned exclusively by Wire Swiss GmbH. Any use of the Wire trademark and/or its associated logos is expressly prohibited without the express prior written consent of Wire Swiss GmbH.

Wire server

This repository contains the source code for the Wire server. It contains all libraries and services necessary to run Wire.

For documentation on how to self host your own Wire-Server see this section. Federation is on our long term roadmap.

See more in "Open sourcing Wire server code".

Contents of this repository

This repository contains the following source code:

  • services

    • nginz: Public API Reverse Proxy (Nginx with custom libzauth module)
    • galley: Conversations and Teams
    • brig: Accounts
    • gundeck: Push Notification Hub
    • cannon: WebSocket Push Notifications
    • cargohold: Asset (image, file, ...) Storage
    • proxy: 3rd Party API Integration
    • restund: STUN/TURN server for use in Audio/Video calls
    • spar: Single-Sign-On (SSO)
  • tools

    • db/: Migration tools (e.g. when new tables are added)
    • stern/: Backoffice tool (basic Swagger based interface)
  • libs: Shared libraries

It also contains

  • build: Build scripts and Dockerfiles for some platforms
  • deploy: (Work-in-progress) - how to run wire-server in an ephemeral, in-memory demo mode
  • doc: Documentation
  • hack: scripts and configuration for kuberentes helm chart development/releases mainly used by CI
  • charts: Kubernetes Helm charts. The charts are mirroed to S3 and can be used with helm repo add wire https://s3-eu-west-1.amazonaws.com/public.wire.com/charts. See the Administrator's Guide for more info.

Architecture Overview

The following diagram gives a high-level outline of the (deployment) architecture of the components that make up a Wire Server as well as the main internal and external dependencies between components.

wire-arch

Communication between internal components is currently not guarded by dedicated authentication or encryption and is assumed to be confined to a private network.

Development setup

How to build wire-server binaries

There are two options:

1. Use docker

If you don't wish to build all docker images from scratch (e.g. the ubuntu20-builder takes a very long time), ready-built images can be downloaded from here.

If you wish to build your own docker images, you need docker version >= 17.05 and make. Then,

# optionally:
# make docker-builder # if you don't run this, it pulls the ubuntu20-builder image from quay.io
make docker-deps docker-intermediate docker-services

# subsequent times, after changing code, if you wish to re-create docker images, it's sufficient to
make docker-intermediate docker-services

will, eventually, have built a range of docker images. Make sure to give Docker enough RAM; if you see make: *** [builder] Error 137, it might be a sign that the build ran out of memory. You can also mix and match – e.g. pull the ubuntu20-builder image and build the rest locally.

See the Makefiles and Dockerfiles, as well as build/ubuntu/README.md for details.

2. Use nix-provided build environment

This is suitable only for local development and testing. See build instructions in the developer documentation.

How to install and run wire-server

You have two options:

  • Option 1. (recommended) Install wire-server on kubernetes using the configuration and instructions provided in wire-server-deploy. This is the best option to run it on a server and recommended if you want to self-host wire-server.

  • Option 2. Compile everything in this repo, then you can use the dist/run-services. This option is intended as a way to try out wire-server on your local development machine and not suited for production.

wire-server's People

Contributors

akshaymankar avatar arianvp avatar arthurwolf avatar battermann avatar chrispenner avatar comawill avatar elland avatar fisx avatar flokli avatar isovector avatar jmatsushita avatar jschaul avatar julialongtin avatar kim avatar kkohbrok avatar lepsa avatar lucendio avatar mangoiv avatar mdimjasevic avatar mheinzel avatar pcapriotti avatar rohan-wire avatar smatting avatar stefanwire avatar supersven avatar sysvinit avatar tiago-loureiro avatar twittner avatar veki301 avatar zebot 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  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

wire-server's Issues

Run

What containers are needed to run

unconfigured table meta

service: Failed to read schema version from meta table. Error was: Invalid "unconfigured table meta"
CallStack (from HasCallStack):
error, called at src/Cassandra/Schema.hs:99:11 in cassandra-util-0.16.5-AkzXtK0RA1x9xLYL98aoZu:Cassandra.Schema

@jschaul

Setting user presence from 3rd party app

I‘m using Wire for a while now for my private communication whenever possible and I really like it. Great work guys!

I‘m currently looking for a self hosted chat server for my company. From what I understand it will be possible to run your own Wire server soon (dependencies on AWS are fine for us)

We need one (somewhat exotic) feature:
We need to be able to set the presence status of a user on the server from another application to busy and back to what it was before we set it to busy.

I read that user presence is end to end encrypted. While e2e encryption is one of the things that make Wire great I‘m worried that it is not possible to control presence of user from a 3rd party app.

My question in one sentence:

Will it be possible to set user presence via API or by editing the database to busy and back to what it was?

can't find why demo.sh give the error

I already compile the source successfully. And run the docker-compose up.
While the demo.sh give the error

re-using existing TURN secret
re-using existing public/private keys
brig: user error (AesonException "Error in $: key \"cargohold\" not present")
[cargohold] I, Listening on 0.0.0.0:8084

I global search AesonException and don't find anything.

Wire-server make error

OS version of Ubuntu 16.04

I'm trying to run the
cd build/alpine && make

The process hangs on

Step 18/18 : RUN apk add --no-cache git &&     mkdir -p /src && cd /src &&     g                                                                                                             it clone https://github.com/wireapp/wire-server.git &&     cd wire-server &&                                                                                                                  stack update &&     cd services/proxy && stack build --pedantic --test --depend                                                                                                             encies-only && cd - &&     cd services/brig && stack build --pedantic --test --d                                                                                                             ependencies-only && cd - &&     cd services/galley && stack build --pedantic --t                                                                                                             est --dependencies-only && cd - &&     cd services/cannon && stack build --pedan                                                                                                             tic --test --dependencies-only && cd - &&     cd services/cargohold && stack bui                                                                                                             ld --pedantic --test --dependencies-only && cd - &&     cd services/gundeck && s                                                                                                             tack build --pedantic --test --dependencies-only && cd -
 ---> Running in e717d19ac451
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
OK: 1269 MiB in 149 packages
Cloning into 'wire-server'...
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpcomplete.com/) ...
Selected mirror https://s3.amazonaws.com/hackage.fpcomplete.com/
Downloading timestamp
Downloading snapshot
Updating index

And so it can stand and day and two days

Using api-client for real client application

Hi,

Is it a good idea to use api-client library for building a real Wire client? AFAICS it is a more or less complete HTTP API so it would save me some typing if I use wire-server as a git submodule. However, it's obviously an internal part of the project so it can be rewritten/eliminated/etc.

Error In Make

image

con$ cd build/alpine && make
docker build -t wireserver/alpine-deps:local -f Dockerfile.deps .
Sending build context to Docker daemon 20.99kB
Step 1/5 : FROM alpine:3.7 as cryptobox-builder
---> 3fd9065eaf02
Step 2/5 : RUN apk add --no-cache cargo libsodium-dev git && cd /tmp && git clone https://github.com/wireapp/cryptobox-c.git && cd cryptobox-c && cargo build --release
---> Running in 8116d19f8ab3
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz: BAD signature
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz: BAD signature
ERROR: unsatisfiable constraints:
cargo (missing):
required by: world[cargo]
git (missing):
required by: world[git]
libsodium-dev (missing):
required by: world[libsodium-dev]
The command '/bin/sh -c apk add --no-cache cargo libsodium-dev git && cd /tmp && git clone https://github.com/wireapp/cryptobox-c.git && cd cryptobox-c && cargo build --release' returned a non-zero code: 3
make: *** [deps] Error 3

Why Haskell!

Hello,

Question : Why choose Haskell for the server and API?
May you explain me with reasons?
Why not Nodejs+SocketIO/C/CPP/RUST?

@tiago-loureiro

What to do next?

Please tell me what to do next after doing the build?

Completed 13 action(s).
/src/wire-server
Removing intermediate container 758c28eef434
 ---> 2af52dba5ccf
Successfully built 2af52dba5ccf
Successfully tagged wireserver/alpine-builder:local
docker tag wireserver/alpine-builder:local wireserver/alpine-builder:latest
if test -n "$DOCKER_PUSH"; then docker push wireserver/alpine-builder:local; docker push wireserver/alpine-builder:latest; fi;

wher is wire admin panel

i want start to work with wire platform but i need to know whers wire admin panel after setup wire server?

The problem with the demo: 403 Forbidden nginx

I launch according to the instructions in README.md

Displays in the console

root@ubuntu:~/wire-server/deploy/services-demo# ./demo.sh
Generate a secret for the TURN servers (must match the turn.secret key in brig's config)...
Generate private and public keys (used both by brig and nginz)...
[cannon] I, Listening on 127.0.0.1:8083
[brig] D, logger=cassandra.brig, connecting to 127.0.0.1:9042
[cargohold] I, Listening on 0.0.0.0:8084
[galley] I, logger=cassandra.galley, control connection: 127.0.0.1:9042#11
nginx: [alert] could not open error log file: open() "/var/log/nginz/error.log" failed (2: No such file or directory)
[gundeck] I, logger=cassandra.gundeck, control connection: 127.0.0.1:9042#11
[proxy] I, Listening on 0.0.0.0:8087
[brig] I, logger=cassandra.brig, control connection: 127.0.0.1:9042#11
[brig] I, logger=cassandra.brig, known hosts: [datacenter1:rack1:127.0.0.1:9042]
[brig] D, logger=cassandra.brig, client.connect=127.0.0.1:9042#12
[brig] I, Listening on 0.0.0.0:8082
[galley] I, logger=cassandra.galley, known hosts: [datacenter1:rack1:127.0.0.1:9042]
[galley] I, Listening on 127.0.0.1:8085
[gundeck] I, logger=cassandra.gundeck, known hosts: [datacenter1:rack1:127.0.0.1:9042]
[gundeck] I, Listening on 0.0.0.0:8086
All services up & running, Wire away!

I go to http://127.0.0.1:8080/swagger-ui, it gives an error "403 Forbidden
nginx" in console "2018/05/11 06:14:22 [error] 116544#0: *9 open() "/root/wire-server/deploy/services-demo/conf/nginz/zwagger-ui" failed (13: Permission denied), client: 192.168.186.1, server: , request: "GET /swagger-ui HTTP/1.1", host: "192.168.186.140:8080""

How to configure the turn for voice/video?

i used the restund server , but had a problem.
webrtc call is ok, but ios app call is fail.
i watch the console output same string is "auth: unknown user 'd=1522688417.v=1.k=0.t=s.r=yafkhmsgnluzrhbf'"

brig.yaml
turn:
servers: /etc/wire/turn/servers.txt
secret: /etc/wire/turn/secret.txt

i tried some config for this file /etc/wire/turn/secret.txt(eg, username:HA1) but it's incorrect.

thanks

Voice/Video Call Service

Hi All.
Looking at the content of the repository (README.md) i can't find any service related to voice and video calls.
Is this feature available in the current wire-server source code ?

Best regards,
Sasà.

Error in Make!

$ sudo make

make -C build/alpine
make[1]: Entering directory '/home/guest/Gits/wire-server-develop/build/alpine'
docker build -t wire-server-deps:alpine -f Dockerfile.deps .
Sending build context to Docker daemon 10.75 kB
Step 1/5 : FROM alpine:3.6 as cryptobox-builder
Error parsing reference: "alpine:3.6 as cryptobox-builder" is not a valid repository/tag: invalid reference format
Makefile:6: recipe for target 'deps' failed
make[1]: *** [deps] Error 1
make[1]: Leaving directory '/home/guest/Gits/wire-server-develop/build/alpine'
Makefile:6: recipe for target 'docker-services' failed
make: *** [docker-services] Error 2

how fix?

wire server installation issue

i am interesting in wire developement.
i built all components in wire server.
But i dont know how to run server.
can anyone give me full guide.
now Readme is not enough

Error when running make

Hi
I followed your instruction in building server with docker, but I run into this error
error: Package sodiumoxide v0.0.14 does not have these features: std

Any help. Thanks

Docker as a Distribution Dependency?

It's a bit hard to ascertain the intent for release from the existing code-base, but I wanted to make the inquiry about it:

Is Docker going to be intended to be the primary distribution mechanism?

This is highly preferential, but it would be really great to be able to consume the services as a bundle or as separately built components in their built form as just an archive (e.g. tar.gz, xz), so that downstream distributions can work on packaging it appropriately.

Docker necessitates a pretty heavy dependency on potential wire-server operators. It makes life easier for those who are already using the docker ecosystem, but potentially much more convoluted for all other deployments. Secondarily it puts the packaging behind a layer of abstraction that makes for more difficulty when people want to package downstream.

Problem built on OSX.

In OSX, I need to specify extra flags to build HSOpenSSL:

$ stack install HsOpenSSL-0.11.4.12 \ 
 --extra-lib-dirs=/usr/local/opt/openssl/lib \
 --extra-include-dirs=/usr/local/opt/openssl/include

Then when I run stack build:

HsOpenSSL-0.11.4.12: unregistering (flags changed from ["--extra-include-dirs=/usr/local/opt/openssl/include","--extra-lib-dirs=/usr/local/opt/openssl/lib"] to [])

Is there a way to specify extra flags for extra-deps packages in stack.yaml ?

Documentation

Is there any documentation that explains how to install the wire application on my own server?

mac os x make services can't work

make services will make nginz while in mac os x

../third_party/nginx-zauth-module/zauth_module.c:6:10: fatal error: 'zauth.h' file not found
#include <zauth.h>
         ^~~~~~~~~
1 error generated.

So I will need install libzauth

➜  wire-server git:(develop) ✗ cd libs/libzauth
➜  libzauth git:(develop) ✗ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C libzauth-c dist
cargo build --release
    Finished release [optimized] target(s) in 0.0 secs
mkdir -p deb/usr/local/include
mkdir -p deb/usr/local/lib/pkgconfig
cp src/zauth.h deb/usr/local/include/
sed -e "s~<<VERSION>>~"3.0.0"~" \
		-e "s~<<PREFIX>>~/usr/local~" \
		src/libzauth.pc > deb/usr/local/lib/pkgconfig/libzauth.pc
cp target/release/libzauth.dylib deb/usr/local/lib/
cp libzauth-c/target/release/*.deb .
cp: libzauth-c/target/release/*.deb: No such file or directory
make: *** [dist] Error 1

while I think in mac os x we don't need deb thing any more.

Docker start container

When you try to start the docker container, it gives an error.

~/wire-server# docker run --name nginz nginz
Setting up watches for /etc/wire/nginz/upstreams
Starting nginx
nginx PID: 8
Setting up watches.
Couldn't watch /etc/wire/nginz/upstreams: No such file or directory
inotifywait failed, killing nginx
/usr/bin/nginz_reload.sh: line 38:     8 Terminated              { echo "Starting nginx"; nginx "$@" && exit 1; }

~/wire-server# docker run --name brig brig
Config file at /etc/wire/brig/conf/brig.yaml does not exist, falling back to command-line arguments.

Help please run.

Add username mention notifications

wireapp/wire-ios#781

Scan message for @username or @all and notify users appropriately. This feature is very necessary for group conversations

Ideally, we could also notify a user if one of their messages is replied to by another user. But replying to or quoting messages might be an additional issue

wire-server installation

Hi folk,
For a wire-server installation, is it necessary to configure all the external components (SNS,S3 …)?
Thanks

Question regarding open source model

I wonder if Wire server and client will be 100 % open source or if there will be some kind of dual license? I'm especially interested whether it will be possible to use team features, presence, conversation export etc. with the open source version.

Also is there any external software like admin tools for the Wire server that wouldn't be available as open source software?

Thanks!

Wire-server binaries

Hi
I have followed the build instructions and docker instructions. However I cannot see any binaries or any way on how to run wire server or it's services. I see in make process wire server makes some diretories , but I cannot find them in wire source directory or /usr/bin either. Do we manually find a way top build binaries?
thanks

Where could I get the zauth module info?

This is an awesome work for you team. I'm trying to get my foot wet and feel it. However, after I build the nginz docker, I tried to bring it up a container, it failed with
Starting nginx
2018/03/14 15:34:20 [emerg] 7#0: missing 'zauth_keystore' in /etc/nginx/nginx.conf:117
nginx: [emerg] missing 'zauth_keystore' in /etc/nginx/nginx.conf:117
I know it's related to the zauth config, but any reference or information I could get? Even no result with Google.
Please, we are looking forward setup the infrastructure very soon.

Downloading nginx without verification

Do you believe it is a good idea to download nginx over an (insecure) HTTP connection and compile it without any verification?
At least this is what I see there. No gpg verification…

At least switching to HTTPS is easy as the nginx site nowadays uses HTTPS. However, I'd better recommend you to use gpg.

Error building on centos6.4 64bit

before build ,i hava install the cryptobox-c .
https://github.com/wireapp/wire-server/blob/docs/doc/Dependencies.md#cryptobox-c

but i got the following message. how can i fix it.

-- While building custom Setup.hs for package cryptobox-haskell-0.1.1 using:
/root/.stack/setup-exe-cache/x86_64-linux-gmp4/Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2 --builddir=.stack-work/dist/x86_64-linux-gmp4/Cabal-2.0.1.0 configure --with-ghc=/root/.stack/programs/x86_64-linux/ghc-gmp4-8.2.2/bin/ghc --with-ghc-pkg=/root/.stack/programs/x86_64-linux/ghc-gmp4-8.2.2/bin/ghc-pkg --user --package-db=clear --package-db=global --package-db=/root/.stack/snapshots/x86_64-linux-gmp4/lts-10.3/8.2.2/pkgdb --package-db=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/pkgdb --libdir=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/lib --bindir=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/bin --datadir=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/share --libexecdir=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/libexec --sysconfdir=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/etc --docdir=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/doc/cryptobox-haskell-0.1.1 --htmldir=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/doc/cryptobox-haskell-0.1.1 --haddockdir=/root/wire-server/.stack-work/install/x86_64-linux-gmp4/lts-10.3/8.2.2/doc/cryptobox-haskell-0.1.1 --dependency=base=base-4.10.1.0 --dependency=bytestring=bytestring-0.10.8.2 --dependency=hashable=hashable-1.2.6.1-2mYqdjpViBjIDGbaewMsOr --dependency=unordered-containers=unordered-containers-0.2.8.0-6Q8cKU0tfULGVDjEZYkMDG --enable-tests --enable-benchmarks
Process exited with code: ExitFailure 1
Logs have been written to: /root/wire-server/.stack-work/logs/cryptobox-haskell-0.1.1.log

Configuring cryptobox-haskell-0.1.1...
Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2: Missing dependency on a foreign
library:
* Missing C library: cryptobox
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.

brig and galley have no place to config aws region

My AWS Service Region:
SQS service is in us-east-2
SES service is in us-east-1
dynamoDB is in us-east-2

When I starting the brig/galley service, I got this error message:

service: GeneralError (ServiceError (ServiceError' {_serviceAbbrev = Abbrev "SQS", _serviceStatus = Status {statusCode = 403, statusMessage = "Forbidden"}, _serviceHeaders = [("Server","Server"),("Date","Sun, 25 Mar 2018 03:35:42 GMT"),("Content-Type","text/xml"),("Content-Length","322"),("Connection","close"),("x-amzn-RequestId","21de53ba-6909-52ba-b731-008b7247b060")], _serviceCode = ErrorCode "SignatureDoesNotMatch", _serviceMessage = Just (ErrorMessage "Credential should be scoped to a valid region, not 'us-east-1'. "), _serviceRequestId = Just (RequestId "21de53ba-6909-52ba-b731-008b7247b060")}))

Wire Server Installation

I want to install the wire server on my aws independently. Can anyone help me do that? Thanks!

Wire SMS activation code does not change.

If I register to wire, delete my account, and then register again, the activation code I receive via SMS is always the same. It is expected to be random for obvious security reasons.

oss developer experience: CONTRIBUTING.md is missing

Can the Wire team please put together something like https://github.com/reactiveui/ReactiveUI/blob/develop/CONTRIBUTING.md for folks like myself that documents the basics such as:

  • git commit message conventions
  • coding rules ("don't use OverloadedStrings, use ... instead")
  • submission guidelines (what type of contributions you'll take)
  • we require CLA to be signed (here is a copy of the document, if you need pre-approval from employer)

If you place these files in ~/ of the git repository then GitHub will display them when people send in pull-requests.

Federated version of Wire

I wrote this issue just for future. One day you will want to make federated version of Wire. That day will be added to history of the private communication.
But for now maybe you want to track your progress or to ask people about their vision on Wire's federated version.

I think you have good examples but not so private and anonymous as we want to have. So Wire will be first.

question on account migration

hello,

how will be account administrated?
if i register now account and then i would like to start own wire server, will there be a chance to migrate account to own server? or how will this be working?
how will be server2server working? i'm now running xmpp server and there are dns records to find correct server by domain.

maybe i'm missing something, but i'm looking forward to getting light into this :-)

Error zauth_module

When executing

# build nginz
cd services/nginz && make

the poppy produces an error

../third_party/nginx-zauth-module/zauth_module.c:6:19: fatal error: zauth.h: No such file or directory
compilation terminated.
objs/Makefile:1253: recipe for target 'objs/addon/nginx-zauth-module/zauth_module.o' failed
make[2]: *** [objs/addon/nginx-zauth-module/zauth_module.o] Error 1
make[2]: Leaving directory '/root/wire-server/services/nginz/src'
Makefile:8: recipe for target 'build' failed
make[1]: *** [build] Error 2
make[1]: Leaving directory '/root/wire-server/services/nginz/src'
Makefile:55: recipe for target 'src/objs/nginx' failed
make: *** [src/objs/nginx] Error 2

Wire server installation problem: debian, lubuntu

Hi,
I'm trying to install the latest version of wire server under debian 9 64 bit, lubuntu 16.04 LTS 64 bit, ubuntu 16.04 LTS and 18.04 LTS both 64 bit.
I can successfully install the dependencies only under ubuntu while under debian and lubuntu I get the following error for cryptobox-c:

cargo build
   Compiling libsodium-sys v0.0.16
error: failed to run custom build command for `libsodium-sys v0.0.16`
process didn't exit successfully: `/home/clone/cryptobox-c/target/debug/build/libsodium-sys-33bf382dfdef1656/build-script-build` (exit code: 101)
--- stdout
cargo:rerun-if-env-changed=SODIUM_LIB_DIR
cargo:rerun-if-env-changed=SODIUM_STATIC

--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"libsodium\"`: No such file or directory (os error 2)"', libcore/result.rs:945:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Can you explain me why?
Moreover, the documentation is out of date since libssl-dev is required both under ubuntu family and debian.
Finally, the final command should be:
git clone https://github.com/wireapp/wire-server && cd wire-server/tools/makedeb instead of git clone https://github.com/wire-server && cd wire-server/tools/makedeb
Thank you

Installation

Hello world
Where i can find install instructions? All news about wire self hosted server but cant find instructions(

Error building on Ubuntu 16.04

Followed documentation and did cd build/alpine && make

But when the procedure is done it returns me this error: 
make[1]: *** [compiler/ghc.mk:587: compiler/stage1/build/DynFlags.o] Killed
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [libraries/Cabal/Cabal/ghc.mk:3: libraries/Cabal/Cabal/dist-boot/build/Distribution/Simple/Setup.o] Segmentation fault (core dumped)
make: *** [Makefile:125: all] Error 2
The command '/bin/sh -c cd /tmp/ghc &&     ./boot &&     SPHINXBUILD=/usr/bin/sphinx-build-3 ./configure --prefix=/root/.stack/programs/x86_64-linux/$GHC_VER --disable-ld-override &&     make -j4 &&     make install &&     mv /tmp/config.yaml /root/.stack/' returned a non-zero code: 2
Makefile:10: recipe for target 'builder' failed
make: *** [builder] Error 2

ETA on instructions?

First off GREAT work. Will there be an ETA on when we can expect the full instructions/documentation. Curious and excited to setup a standalone server and clients.

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.