Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/juanVillamilEchavarria/Leo_Counter-app/llms.txt

Use this file to discover all available pages before exploring further.

This guide takes you from an empty directory to a fully running Leo Counter instance — with your first financial account created and your first movement recorded. All you need is Git and Docker (or Docker Desktop on Windows). No PHP, Node, or Composer installation is required on your host machine.
1

Clone the Repository

Open a terminal in the directory where you want to install Leo Counter and clone the repository:
git clone https://github.com/juanVillamilEchavarria/Leo_Counter-app
cd Leo_Counter-app
This downloads the full application source, the Docker Compose configuration, and both installer scripts.
2

Run the Installer

The installer builds Docker images, starts all services, runs database migrations and seeders, optimizes the Laravel application, and — on Linux — registers a systemd service so Leo Counter starts automatically on boot.
Grant execute permission to the script, then run it:
chmod +x install.sh
./install.sh
The script checks that Docker Engine and Docker Compose v2 are available and that your user belongs to the docker group before proceeding.
If no .env file exists in the project root, the installer will automatically copy .env.example to .env and then pause, prompting you to edit it before continuing. Set your credentials as described in the next step, save the file, and press Enter to let the installer proceed.
3

Configure Your Environment

The four variables below are the minimum you must set before the installer can finish. Open .env in any text editor:
# Database root credential — used internally by MariaDB
DB_ROOT_PASSWORD=your_secure_root_password

# Application database user credentials
DB_USERNAME=leo_user
DB_PASSWORD=your_secure_password

# Public URL where Leo Counter will be reachable
APP_URL=http://localhost:8080
Use a strong, unique password for each credential. These values are injected directly into the MariaDB container and into the Docker build arguments for Vite and Reverb — they are never sent anywhere else.
The remaining variables in .env — such as Reverb WebSocket keys, mail settings, and Redis configuration — come pre-populated with sensible defaults for a local installation and can be adjusted later.
4

Access the Application and Register

Once the installer prints its success banner, all services are running. Open your browser and navigate to the application:
ServiceURLPurpose
Leo Counter Apphttp://localhost:8080Main financial dashboard
PhpMyAdminhttp://localhost:8082Visual database manager
Mailhoghttp://localhost:8025Captures outgoing emails locally
Reverb WebSocketsws://localhost:8085Real-time event connection
On your first visit to http://localhost:8080, you will be presented with a registration form. Create your administrator account by entering a name, email address, and password. This is the primary account with full RBAC privileges.
5

Create Your First Account and Record a Movement

After logging in you will land on the real-time dashboard. Follow these steps to record your first transaction:
  1. Create an Account — Navigate to Accounts in the sidebar and click New Account. Give it a name (e.g., “Main Checking”), select a type, and set an opening balance.
  2. Add a Category — Go to Categories and create at least one category (e.g., “Groceries” under “Expenses”). Categories and their sub-groups power the budget and reporting modules.
  3. Record a Movement — Open Movements and click New Movement. Select the account, choose Income or Expense, pick the category, enter an amount and date, and save.
The dashboard balance and charts update in real time via the Reverb WebSocket connection — no page refresh needed.
The database seeder run during installation may have pre-populated some sample categories and roles. You can safely delete or rename them from the admin interface.

What’s Running Under the Hood

After a successful installation, Docker Compose manages eight containers:
ContainerRole
leo_counter_appLaravel + Apache serving the Inertia/React frontend
leo_counter_queueBackground job worker (php artisan queue:work)
leo_counter_schedulerLaravel scheduler (runs php artisan schedule:run every 60 s)
leo_counter_reverbLaravel Reverb WebSocket server
mariadb_serverMariaDB LTS database
leo_counter_redisRedis (cache, queues, sessions)
phpmyadminPhpMyAdmin visual database manager
mailhogLocal email capture (SMTP + web UI)
To stop or restart the application see the Linux installation guide or the Windows installation guide.

Build docs developers (and LLMs) love