Convert email newsletters into Atom feeds
Go to file
Leandro Facchinetti 232fd1e7fd . 2020-03-21 13:07:04 -04:00
.github/workflows . 2020-03-21 02:16:34 -04:00
.vscode . 2020-03-20 02:52:49 -04:00
src . 2020-03-21 12:06:24 -04:00
static . 2020-03-18 00:26:41 -04:00
.gitignore . 2020-03-18 21:49:32 -04:00
CODE_OF_CONDUCT.md . 2020-03-17 21:05:16 -04:00
Caddyfile . 2020-03-21 13:01:08 -04:00
LICENSE . 2020-03-17 21:05:16 -04:00
README.md . 2020-03-21 13:07:04 -04:00
package-lock.json . 2020-03-21 02:07:10 -04:00
package.json . 2020-03-21 03:09:04 -04:00
tsconfig.json . 2020-03-21 12:01:55 -04:00

README.md

Kill the Newsletter!

Convert email newsletters into Atom feeds

Convert email newsletters into Atom feeds

Source .github/workflows/main.yml

Running Locally

Install Node.js and run:

$ npm install
$ npm start

The web server will be running at http://localhost:8000 and the email server at smtp://localhost:2525.

Deployment

  1. Create a deployment SSH key pair:

    $ ssh-keygen
    
  2. Add the public key (id_rsa.pub) to DigitalOcean and to GitHub as a Deploy key for the repository.

  3. Add the private key (id_rsa) to GitHub as a Secret called SSH_PRIVATE_KEY.

  4. Create a DigitalOcean droplet:

    Image Ubuntu 18.04.3 (LTS) x64
    Plan Starter Standard $5/mo
    Additional options Monitoring
    Authentication Deployment SSH Key
    Hostname kill-the-newsletter.com
    Backups Enable
  5. Configure DNS in Namecheap:

    Type Host Value
    A @ <droplet-ip>
    CNAME www kill-the-newsletter.com
    MX @ kill-the-newsletter.com
  6. Setup the server:

    $ npx pm2 deploy package.json production setup
    
  7. Push to GitHub, which will trigger the Action that deploys the code and starts the server.