Self-hosted End-to-End Encryption in plain JS with zero dependency
Prerequisites: nodejs >= 22.18
git clone https://github.com/soruly/e2e.git
cd e2e
npm install
node server.ts
Note: In order for PWA to work, you must host the server behind a reverse proxy (like nginx) with HTTPS
- Copy
.env.exampleto.env - Edit
.envas you need
SERVER_PORT=3000 # (optional) Default: 3000
SERVER_ADDR=127.0.0.1 # (optional) Default: 127.0.0.1
Put this file to /etc/systemd/system/e2e.service
[Unit]
Description=e2e
Wants=network-online.target
After=network-online.target
[Service]
User=____
Group=____
WorkingDirectory=/home/____/project/e2e
Environment=NODE_ENV=production
ExecStart=/usr/bin/node /home/____/project/e2e/server.ts
Restart=always
[Install]
WantedBy=multi-user.target