]> git.r.bdr.sh - rbdr/dead-drop/blob - README.md
Merge branch 'release/1.0.0'
[rbdr/dead-drop] / README.md
1 # dead-drop
2 A phone messaging system
3
4 ## Configuring
5
6 This project usese environment variables to work. For most cases, the
7 defaults work but some sensitive info like keys must be overridden. Copy
8 the file in `config/env.dist` to `.env` in the project root and override
9 the values.
10
11 When running with `make run`, it'll pick up these values automatically.
12 If you're doing it the hard way, you'll have to source them. You must
13 set the `DEAD_DROP_ACCOUNT_SID` to match your account sid. This is so
14 dead drop can filter out calls from other accounts.
15
16 ## Running Locally
17
18 You'll need [Docker][docker] to run the project.
19
20 * Run the image with `make run`
21
22 ## Running locally the hard way
23
24 If you don't want to use docker, you can also run it the old fashioned
25 way.
26
27 1. Install dependencies with `yarn install` (recommended), or `npm install`
28 2. Run with `npm start`
29
30 ## Generating documentation
31
32 This project uses JSDoc to generate documentation. Generate everything
33 with `npm run document`. The documentation will be generated in the
34 `doc` directory.
35
36 ## Building and pushing the image
37
38 You can also do some other operations
39
40 * Build the image with `make build`
41 * Push and build the image with `make upload`
42 * Clean the environment with `make clean`
43
44 ## Setting up Twilio
45
46 Get a twilio number, and on the configuration set the voice settings to
47 "Webhooks/TwiML" and point the `A call comes in` hook to:
48 the `/menus/main/` path of your dead drop installation. For example:
49 `https://dead-drop.unlimited.piza/menus/main`. It must be accessible
50 from the internet.
51
52 You will also need your account sid. This is obtained from the "[Account
53 Settings][account-settings]" area in the twilio dashboard.
54
55 ## Checking the code
56
57 This project uses the [Hapi Style Guide][hapi-style-guide] for
58 javascript style, and includes eslint configuration to check them. Run
59 `npm run lint` to check the code.
60
61 [docker]: https://www.docker.com/
62 [hapi-style-guide]: https://hapijs.com/styleguide
63 [account-settings]: https://www.twilio.com/console/account/settings