A modern, open source password manager for individuals and teams.
Go to file
Bruno Bernardino 50ae105b45
A few improvements, requested from the review:
- File reading is now happening later in the process;
- File reading now reuses methods from `core/attachment`;
- Errors thrown in the import now include an error message;
- Adds prettier command to "prettify" all files;
- Adds prettier command to check for files not conforming to prettier's config;
- Makes CI run the prettier:check command;
- Changes `export const method = () => {};` to `export function method() {}` in the `1pux-parser` file;
- Other minor consistency changes/fixes/improvements;
- Actually ran prettier on every file, and it had a lot of things to tweak.
2021-12-20 15:01:25 +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 A few improvements, requested from the review: 2021-12-20 15:01:25 +00:00
.vscode A few improvements, requested from the review: 2021-12-20 15:01:25 +00:00
assets A few improvements, requested from the review: 2021-12-20 15:01:25 +00:00
nginx Only attempt to start amplify agent if amplify key is set 2021-12-15 13:16:57 +01:00
packages A few improvements, requested from the review: 2021-12-20 15:01:25 +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 A few improvements, requested from the review: 2021-12-20 15:01:25 +00: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 A few improvements, requested from the review: 2021-12-20 15:01:25 +00:00
docker-compose.yml Fix default assets path in docker-compose 2021-12-15 12:55:39 +01:00
karma.conf.js A few improvements, requested from the review: 2021-12-20 15:01:25 +00:00
lerna.json A few improvements, requested from the review: 2021-12-20 15:01:25 +00:00
package-lock.json A few improvements, requested from the review: 2021-12-20 15:01:25 +00:00
package.json A few improvements, requested from the review: 2021-12-20 15:01:25 +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.

To add dependencies, you can use scope=[scope-without-@padloc/] npm run add [package] and to remove them, run scope=[scope-without-@padloc/] npm run remove [package].

Use npm run prettier to make "prettify" all files.

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.