A modern, open source password manager for individuals and teams.
Go to file
Bruno Bernardino 9b5f8e3d1e
Lock dependencies' versions
This implements `.nvmrc` and `.npmrc` files, as well as locking `package.json` versions, in order to get us closer to reproducible builds and more stable environment.

Closes #320
2021-12-15 16:16:37 +00: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 Lock dependencies' versions 2021-12-15 16:16:37 +00:00
.vscode Some minor tweaks 2021-08-06 09:39:09 +02:00
assets Make field name weight in list view customizable 2021-11-05 16:46:51 +01:00
nginx Only attempt to start amplify agent if amplify key is set 2021-12-15 13:16:57 +01:00
packages Lock dependencies' versions 2021-12-15 16:16:37 +00:00
.dockerignore Add docker support 2019-05-28 19:54:26 +02:00
.gitignore Add experimental tauri package 2020-07-19 17:50:05 +02:00
.npmrc Lock dependencies' versions 2021-12-15 16:16:37 +00:00
.nvmrc Lock dependencies' versions 2021-12-15 16:16:37 +00: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 Lock Dockerfiles to node v16 2021-12-15 12:54:43 +01:00
Dockerfile-server Lock Dockerfiles to node v16 2021-12-15 12:54:43 +01:00
README.md Add CI - Run Tests (v4) 2021-12-15 15:07:38 +00:00
docker-compose.yml Fix default assets path in docker-compose 2021-12-15 12:55:39 +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 Lock dependencies' versions 2021-12-15 16:16:37 +00:00
package.json Lock dependencies' versions 2021-12-15 16:16:37 +00:00
security.md typsos in security doc (mostly possessive nouns) 2020-04-21 13:56:11 +02:00
tsconfig.json Upgrade typescript version 2021-09-25 10:06:45 +02: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.