Up to 50% off all plan, limited-time offer. Starting at $2.48.

Actual

Local-first, open-source personal finance app with seamless sync across your devices.

Access Your Instance

  1. Visit: https://<SERVER-IP>/
  2. Accept SSL warning (self-signed certificate).
  3. Follow the initial setup.

Important Paths

  • Install Directory: /root/actual
  • Persistent Data: /root/actual/actual-data
  • docker-compose File: /root/actual/docker-compose.yml
  • Nginx Config: /etc/nginx/sites-available/actual
  • SSL Certs: /etc/nginx/ssl/

Managing the Service

Docker:

cd /root/actual
docker compose ps
docker compose logs -f
docker compose restart
docker compose down

Nginx:

systemctl restart nginx
systemctl status nginx

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/stirling-pdf

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/stirling-pdf
# 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