A modern, open source password manager for individuals and teams.
Go to file
Martin Kleinschrodt e5164f2153 Remove databases field from app spec template in an effort to make "deploy to digitalocean" button work 2021-08-21 09:32:32 +02:00
.do Remove databases field from app spec template in an effort to make "deploy to digitalocean" button work 2021-08-21 09:32:32 +02:00
.github/workflows Update tauri build workflow 2020-07-30 17:38:56 +02:00
.vscode Some minor tweaks 2021-08-06 09:39:09 +02:00
packages Add session management to app 2021-08-21 09:06:35 +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 Add experimental tauri package 2020-07-19 17:50:05 +02: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-07-26 15:29:35 +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
README.md Add experimental tauri package 2020-07-19 17:50:05 +02:00
docker-compose.yml Fix ports in docker-compose file 2020-11-08 17:40:02 +01:00
karma.conf.js Use headless chrome to run tests 2017-06-18 16:24:08 +02:00
lerna.json Bump npm version to 4.0.0; clean up/fix some dependencies 2021-08-06 15:07:25 +02:00
package-lock.json Bump npm version to 4.0.0; clean up/fix some dependencies 2021-08-06 15:07:25 +02:00
package.json Bump npm version to 4.0.0; clean up/fix some dependencies 2021-08-06 15:07:25 +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.
@padloc/tauri (experimental) Cross-platform native app builder for Padloc, powered by Tauri

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.