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.
		                                  
		                                    
	                                    

