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