Skip to main content
50% off all plans, limited time. Starting at $2.48/mo
Ocular

Ocular

Ocular is a self-hosted budget tracker. Log income and expenses, tag them, and watch the year fill in across clean monthly charts, with every number staying on your own server. MIT licensed with 500+ GitHub stars.

At a glance

551

GitHub stars

1

Page views

License MIT Version v2 OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4

Access

  1. Open your browser: https://<SERVER-IP>
  2. A self-signed TLS certificate will trigger a browser warning. Accept it to continue.
  3. The login credentials are stored securely in: /root/ocular/.env

Important Files & Directories

  • Install Path: /root/ocular
  • Compose File: /root/ocular/compose.yml
  • Environment File: /root/ocular/.env
  • Data Volume: /var/lib/docker/volumes/ocular_ocular-data
  • Nginx Config: /etc/nginx/sites-available/ocular
  • TLS Certificate: /etc/nginx/ssl/ocular.crt
  • TLS Private Key: /etc/nginx/ssl/ocular.key
  • Login Credentials: /root/.cloudzy-creds

Service Management

View running containers:

docker compose -f /root/ocular/compose.yml ps

Restart Ocular:

docker compose -f /root/ocular/compose.yml restart

View Ocular logs:

cd /root/ocular && docker compose logs -f

Stop Ocular:

docker compose -f /root/ocular/compose.yml stop

Start Ocular:

docker compose -f /root/ocular/compose.yml start

Recreate Ocular:

docker compose -f /root/ocular/compose.yml up -d

Check Nginx status:

systemctl status nginx

Restart Nginx:

systemctl restart nginx

Reload Nginx:

systemctl reload nginx

Validate the Nginx configuration:

nginx -t

Enabling HTTPS with a Domain

1. Point your domain to the server IP.

2. Edit /etc/nginx/sites-available/ocular and replace both server_name _; directives with your domain (e.g. server_name yourdomain.com;).

3. Install Certbot:

apt install -y certbot python3-certbot-nginx

4. Obtain a Let's Encrypt certificate:

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

5. Edit /etc/nginx/sites-available/ocular and update the ssl_certificate and ssl_certificate_key directives to use your Let's Encrypt certificate.

Before:
    ssl_certificate     /etc/nginx/ssl/ocular.crt;
    ssl_certificate_key /etc/nginx/ssl/ocualr.key;
After:
    ssl_certificate     /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Reload Nginx to apply the changes:

systemctl reload nginx

7. Access Ocular at https://yourdomain.com.

More in Financial Tools

Related apps.

Deploy Ocular now. From $2.48/mo.