System requirements
- Node.js v18 or higher
- npm, yarn, or pnpm
- Chrome browser (for the extension)
- Git
Installation steps
Clone the repository
First, clone the Email Tracker repository:Install dependencies
Install all dependencies for the monorepo:extension/- Chrome extension (MV3)server/- Express tracker + dashboard + SQLiteshared/- Shared token/types package
Build the workspaces
Build the shared library and server packages in order:Build the shared package
The shared package contains token encoding/decoding logic used by both the server and extension:
Start the server
Start the tracking server with required environment variables:Verify server health
Check that the server is running correctly:Load the Chrome extension
Install the extension in Chrome using Developer mode:Load unpacked extension
- Click the Load unpacked button
- Navigate to your Email Tracker installation directory
- Select the
extension/folder - Click Select or Open
Configure extension settings
Set up the extension to communicate with your tracking server:Set Tracker Base URL
Enter your tracker URL:
- For local development:
http://localhost:8090 - For production: your HTTPS domain (e.g.,
https://tracker.yourdomain.com)
Production deployment
For production use, you’ll need additional setup:HTTPS requirement
Required infrastructure
- Domain: Point your domain DNS to your server
- Firewall: Open ports 80 and 443
- Node server: Run on localhost (e.g.,
127.0.0.1:8090) - Reverse proxy: Use Caddy or Nginx to:
- Terminate TLS
- Proxy requests to your Node server
deploy/ directory:
deploy/Caddyfiledeploy/nginx-email-tracker.conf
Process management
Run the server with a process manager for reliability:- systemd: For Linux system services
- pm2: Cross-platform process manager
Repository structure
Understanding the project layout:Next steps
- Configure environment variables for your deployment
- Review the quickstart guide for testing
- Set up monitoring and backups for production use