absensi-app
Enterprise Resource Planning (ERP) employee attendance management & etc
621
A comprehensive, containerized Enterprise Resource Planning (ERP) application focused on employee attendance management, leave tracking (API boundaries), geolocation-fenced clock-ins, Facial Recognition and automated payroll calculations.
face-api.js for real-time validation.Before deploying the application, ensure your host server has the following installed:
This application uses a fully dockerized stack including PHP 8.1 / Apache, MariaDB 10.6, and an Nginx SSL proxy.
Create your .env and docker-compose.yml files. This acts as the blueprint for your "Complete System."
1.1 Setup Environment (.env) Copy the template provided in the workspace:
cp .env.example .env
1.2 Configure docker-compose.yml
Ensure your docker-compose.yml is configured with the correct images and ports:
services:
absensi-app:
image: kolonilinus/absensi-app:latest
container_name: absensi-app
restart: always
ports:
- "8000:80"
environment:
- APP_KEY=base64:e8H42qvJ+nkBJBRmM92B1rB9ITvv2yITeiLMb79fvcc=
- APP_DEBUG=true
- DB_CONNECTION=mysql
- DB_HOST=absensi-db
- DB_PORT=3306
- DB_DATABASE=absensi
- DB_USERNAME=user_absensi
- DB_PASSWORD=kQrmit88
- APP_URL=http://localhost:8000
- ASSET_URL=http://localhost:8000
- TRUST_PROXIES=*
depends_on:
- absensi-db
absensi-db:
image: mariadb:10.6
container_name: absensi-db
restart: always
environment:
- MYSQL_DATABASE=absensi
- MYSQL_USER=user_absensi. # <- Change your username
- MYSQL_PASSWORD=kQrmit88 # <- Change your password
- MYSQL_ROOT_PASSWORD=kQrmit88 # <- Change your root password for easier development in the future
volumes:
- absensi-db:/var/lib/mysql
https-proxy:
image: 'steveltn/https-portal:1'
container_name: absensi-proxy
restart: always
ports:
- "8501:80" # <- Change Host Port (HTTP)
- "8443:443" # <- Change Host Port (HTTPS)
environment:
DOMAINS: 'localhost -> http://absensi-app:80'
STAGE: 'local'
depends_on:
- absensi-app
volumes:
absensi-db:
The stack runs securely behind an Nginx-based proxy. For local development, we use https-portal which handles SSL auto-generation.
Spin up the complete infrastructure with a single orchestrator command:
docker-compose up -d
If this is your first time starting the server, the database will be empty. Run the following command to create tables and seed default user accounts:
docker-compose exec absensi-app php artisan migrate --seed
Important
**SSL Security**: In local mode, your browser will show a warning. Click **"Advanced"** -> **"Proceed"** to continue. This is required for Facial Recognition (Camera) features.
| Role | Username | Password |
|---|---|---|
| Superadmin | superadmin | password |
| Admin | admin | password |
| User | user | user123 |
| Employee | pegawai | password |
| HRD | hrd | password |
Content type
Image
Digest
sha256:a703b637d…
Size
366 MB
Last updated
4 months ago
docker pull kolonilinus/absensi-app