A modern, open source password manager for individuals and teams.
Go to file
Martin Kleinschrodt 24e2c2ae18 Make sure to never "downgrade" to a version higher than the latest migration target 2020-07-04 16:33:26 +02:00
packages Make sure to never "downgrade" to a version higher than the latest migration target 2020-07-04 16:33:26 +02:00
.dockerignore Add docker support 2019-05-28 19:54:26 +02:00
.eslintignore Fix compiler complaints 2018-06-06 12:40:09 +02:00
.eslintrc.json Some minor updated to project config 2018-09-14 08:47:28 +02:00
.gitignore First pass at implementing browser extension 2020-01-14 13:43:58 +01:00
.prettierignore Update formatting of existing files to be in line with new prettier formatting rules 2018-06-04 18:27:17 +02:00
.prettierrc.json Import core modules directly rather than compiling them under a namespace 2018-05-30 16:29:04 +02:00
CHANGELOG.md Update change log 2020-05-27 19:08:21 +02:00
Dockerfile-pwa Change default pwa port to 8080; use fallback server url in csp injection if none is set 2020-01-01 14:55:14 +01:00
Dockerfile-server Set up docker and docker-compose configs for use with logging and repl 2019-11-29 17:08:25 +01:00
LICENSE Add license 2014-02-10 08:22:46 +01:00
README.md Add option to use secure connection in mailing 2020-04-15 17:24:43 +02:00
docker-compose.yml Add restart directives to docker-compose file 2020-05-30 09:41:28 +02:00
karma.conf.js Use headless chrome to run tests 2017-06-18 16:24:08 +02:00
lerna.json v3.1.1 2020-07-04 15:32:28 +02:00
package-lock.json Upgrade favicons-webpack-plugin 2020-01-01 13:11:34 +01:00
package.json Bump the rest of the package files to v3.1.1 that were missed before 2020-07-04 16:24:20 +02:00
security.md typsos in security doc (mostly possessive nouns) 2020-04-21 13:56:11 +02:00
tsconfig.json Some minor fixes 2020-02-09 13:42:23 +01:00

README.md

Padloc

Simple, secure password and data management for individuals and teams (formerly known as Padlock).

This repo is split into multiple packages:

Package Name Description
@padloc/core Core Logic
@padloc/app Web-based UI components
@padloc/server The Backend Server
@padloc/pwa The Web Client, a Progressive Web App built on top of the @padloc/app package
@padloc/locale Package containing translations and other localization-related things
@padloc/electron The Desktop App, built with Electron
@padloc/cordova Cordova project for building iOS and Android app.

Getting Started

Step 0: Install Prerequisites

You'll need

Step 1: Clone the Repo

git clone https://github.com/padloc/padloc
cd padloc

Step 2: Install Dependencies

npm install

Step 3: Start Server and Web Client

PL_DATA_DIR=~/padloc-data \
PL_SERVER_PORT=3000 \
PL_PWA_PORT=8080 \
npm run start

For more configuration options, see Configuration

Scripts

Command Description
npm start Starts both backend server and web client.
npm run server:start Starts only backend server.
npm run pwa:start Starts only web client (You'll need to run npm run pwa:build first).
npm run pwa:build Builds the web client
npm run dev Starts backend server and client app in dev mode, which watches for changes in the source files and automatically rebuilds/restarts the corresponding components.
npm test Run tests.

Configuration

Environment Variable Default Description
PL_SERVER_PORT 3000 Which port to host the backend server on
PL_SERVER_URL http://0.0.0.0:$PL_SERVER_PORT Public URL that will resolve to the backend server. Used by clients to send requests.
PL_PWA_PORT 8080 Which port to host the web client on
PL_PWA_URL http://0.0.0.0:$PL_PWA_PORT Public URL that will resolve to the web client. Used by the server to generate links into the web client.
PL_PWA_DIR ./packages/pwa/dist Build directory for web client.
PL_DATA_DIR ./data Directory used by server for persistent data storage
PL_ATTACHMENTS_DIR ./attachments Directory used by server to store attachments
PL_LOGS_DIR ./logs Directory used by server to store logs
PL_EMAIL_USER - SMTP user for sending emails.
PL_EMAIL_SERVER - SMTP server for sending emails
PL_EMAIL_PORT - SMTP port for sending emails
PL_EMAIL_SECURE false SMTP use secured connection for sending emails
PL_EMAIL_PASSWORD - SMTP password for sending email
PL_REPORT_ERRORS - Email address used for reporting unexpected errors in the backend.

Security

For a security design overview, check out the security whitepaper.