Eigenfocus

A project management and time tracking tool built for clarity and ownership.

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

Application Details