50% off all plans, limited time. Starting at $2.48/mo
Eigenfocus

Eigenfocus

Eigenfocus is a Pomodoro timer and focus tracker. Self-hosted productivity dashboard with project tagging, weekly reports, and distraction-blocking. Open-source, with a clean dark UI and a daily review workflow. Built for deep workers who want focus data without sending it to a SaaS.

Version

Latest

Operating System

Ubuntu Server 24.04 LTS

Min. RAM

1 GB

IP Types

IPV4,IPV6

Access

  • Web UI: https://<server-ip>
  • Accept SSL warning (self-signed certificate).
  • Login using the HTTP auth credentials you provided during installation.
  • Login credentials are stored in: /root/peanut/.env

Important Files and Directories

  • Application directory: /root/eigenfocus/
  • Docker Compose file: /root/eigenfocus/docker-compose.yml
  • Environment variables (credentials): /root/eigenfocus/.env
  • Application data: /root/eigenfocus/app-data/
  • Nginx site config: /etc/nginx/sites-available/eigenfocus
  • SSL certificates: /etc/nginx/ssl/

Service Management

Docker:

cd /root/peanut
docker compose ps
docker compose restart
docker compose logs -f

Nginx:

systemctl status nginx
systemctl restart nginx

Enabling SSL with a Domain

1. Point your domain to the server IP.

2. Edit the /root/eigenfocus/docker-compose.yml file to set your domain name: DEFAULT_HOST_URL=https://your.domain.com

3. Recreate the services:

cd /root/eigenfocus/
docker compose up -d

4. 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/eigenfocus

5. Install Certbot:

apt install -y certbot python3-certbot-nginx

6. 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

7. Replace SSL paths in Nginx config (TLS section):

vim /etc/nginx/sites-available/eigenfocus
# 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;

8. Restart Nginx to apply the changes:

systemctl restart nginx

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

More in Self Hosted

Related apps.

Deploy Eigenfocus now. From $2.48/mo.