Readeck

A simple web app to save and keep the readable content of web pages forever.

Accessing Readeck

  1. Open your browser and visit: https://<SERVER_IP>/
  2. A browser SSL warning is expected — the certificate is self-signed.
  3. Create the admin account in the web interface immediately.

Important Files and Directories

  • Readeck data directory: /var/lib/readeck
  • Readeck configuration directory: /etc/readeck
  • Readeck binary: /usr/local/bin/readeck
  • Systemd service file: /etc/systemd/system/readeck.service
  • Nginx virtual host: /etc/nginx/sites-available/readeck
  • TLS certificate and key: /etc/nginx/ssl

Managing the Services

Check Readeck status:

systemctl status readeck

Restart Readeck:

systemctl restart readeck

View Readeck logs:

journalctl -xeu readeck --no-pager -f

Nginx management:

systemctl status nginx
systemctl restart nginx
journalctl -u nginx -f

Security Notes

  • Readeck runs as a non-login system user.
  • Strong systemd sandboxing is enabled.
  • Only ports 80 and 443 are exposed.
  • Internal service port 8000 is not accessible externally.
  • TLS uses a self-signed certificate.

Enabling SSL with a Domain

1. Point your domain to the server IP.

2. Edit Nginx config and replace both server_name <IP>; with your domain (<your-domain>) for both HTTP (port 80) and HTTPS (port 443) blocks:

vim /etc/nginx/sites-available/readeck

3. Install Certbot:

apt install -y certbot python3-certbot-nginx

4. Run the following command to generate a valid Let’s Encrypt certificate:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

5. Replace SSL paths in Nginx config:

vim /etc/apache2/sites-available/readeck
# Before:
    # ssl_certificate /etc/nginx/ssl/fullchain.pem;
    # ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Restart Nginx to apply the changes:

systemctl restart nginx

7. Open your browser and visit: https://yourdomain.com

Application Details