Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM node:latest

WORKDIR /app
ADD . .
RUN npm install

ENTRYPOINT ["node"]
CMD [ "index.js" ]
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,15 @@ The idea is that an identity provider such as an email provider can host their o

Try out the server here: [https://keys.mailvelope.com](https://keys.mailvelope.com)

### Get started

```
docker-compose up
docker-compose exec -it mongodb bash
mongo -u keyserver_user -p keyserver_pass
use keyserver_db
db.createUser({ user:"keyserver_user", pwd:"keyserver_pass", roles:[{ role:"readWrite", db:"keyserver_db" }] })
```

# API

Expand Down
40 changes: 40 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
version: '3'

services:
mongodb:
image: mongo
volumes:
- mongo-data:/data/db
networks:
- backend
env_file:
- env.sample

mailhog:
image: mailhog/mailhog
ports:
- 8025:8025
networks:
- backend

keyserver:
build:
context: .
args:
USER_ID: ${USER_ID:-1000}
ports:
- "3000:3000"
depends_on:
- mongodb
- mailhog
networks:
- backend
env_file:
- env.sample

volumes:
mongo-data:
driver: local

networks:
backend:
33 changes: 33 additions & 0 deletions env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
LOG_LEVEL=debug
PORT=3000
PAPERTRAIL_HOST=''
PAPERTRAIL_PORT=''

# docker-compose exec -it mongodb bash
# mongo -u keyserver_user -p keyserver_pass
# use keyserver_db
# db.createUser({ user:"keyserver_user", pwd:"keyserver_pass", roles:[{ role:"readWrite", db:"keyserver_db" }] })

MONGO_URI=mongodb:27017/keyserver_db
MONGO_USER=keyserver_user
MONGO_PASS=keyserver_pass
MONGO_INITDB_ROOT_USERNAME=keyserver_user
MONGO_INITDB_ROOT_PASSWORD=keyserver_pass

SENDER_NAME=keyserver
SENDER_EMAIL=keyserver@example.com

SMTP_HOST=mailhog
SMTP_PORT=1025
SMTP_TLS=false

SMTP_STARTTLS=''
SMTP_PGP=''
SMTP_USER=''
SMTP_PASS=''

HTTPS_UPGRADE=false
HTTPS_KEY_PIN=''
HTTPS_KEY_PIN_BACKUP=''

PUBLIC_KEY_PURGE_TIME=30