A modern, open source password manager for individuals and teams.
Go to file
Bruno Bernardino f72e848e65
Fix Tauri build
This isn't working, but has some attempts. It's currently blocked, because the built app just has many `ReferenceError: Can't find variable: process`. Something with Webpack isn't building properly, as even trying to just run `webpack serve` from inside yields the same result (I updated webpack, but the problem is in the setup/config, really). I also tried setting `resolve.fallback.process: require.resolve('process/browser')` ([among other things](https://pretagteam.com/question/webpack-5-uncaught-referenceerror-process-is-not-defined)), but the executed code comes from `@padloc/app`, so I'd have to add that package there, and it feels wrong. I'm positive I'm just doing something wrong with the setup, but already spent quite some time on it.

To test, pull this down, run `npm install`, and `npm run tauri:dev` (runs with `webpack` instead of `tauri`, just because the console errors are more useful).

In the process of trying to get this to work, I migrated the icons to the assets directory and updated them. I also tweaked the initial HTML to match the new v4 theme.

Related to #281
2021-12-27 10:43:39 +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 Remove publishing step for now 2021-12-26 10:20:29 +00:00
.vscode A few improvements, requested from the review: 2021-12-20 15:01:25 +00:00
assets Fix Tauri build 2021-12-27 10:43:39 +00:00
nginx Only attempt to start amplify agent if amplify key is set 2021-12-15 13:16:57 +01:00
packages Fix Tauri build 2021-12-27 10:43:39 +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 Remove publishing step for now 2021-12-26 10:20:29 +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 CI: Build Cordova 2021-12-23 12:24:16 +00:00
package.json Fix Tauri build 2021-12-27 10:43:39 +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.