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.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.
Clone the Repository
Open a terminal in the directory where you want to install Leo Counter and clone the repository:This downloads the full application source, the Docker Compose configuration, and both installer scripts.
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.
- Linux
- Windows
Grant execute permission to the script, then run it: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.Configure Your Environment
The four variables below are the minimum you must set before the installer can finish. Open The remaining variables in
.env in any text editor:.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.Access the Application and Register
Once the installer prints its success banner, all services are running. Open your browser and navigate to the application:
On your first visit to
| Service | URL | Purpose |
|---|---|---|
| Leo Counter App | http://localhost:8080 | Main financial dashboard |
| PhpMyAdmin | http://localhost:8082 | Visual database manager |
| Mailhog | http://localhost:8025 | Captures outgoing emails locally |
| Reverb WebSockets | ws://localhost:8085 | Real-time event connection |
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.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:
- 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.
- 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.
- 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 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:| Container | Role |
|---|---|
leo_counter_app | Laravel + Apache serving the Inertia/React frontend |
leo_counter_queue | Background job worker (php artisan queue:work) |
leo_counter_scheduler | Laravel scheduler (runs php artisan schedule:run every 60 s) |
leo_counter_reverb | Laravel Reverb WebSocket server |
mariadb_server | MariaDB LTS database |
leo_counter_redis | Redis (cache, queues, sessions) |
phpmyadmin | PhpMyAdmin visual database manager |
mailhog | Local email capture (SMTP + web UI) |