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