This document describes how to set up and run the Payroll Engine stack using Docker.
- Docker
- Docker Compose
The application uses a .env file to manage the database password. This file must be created in the same directory as the docker-compose.yml file (PayrollEngine/).
Create a file named .env with the following content:
# PayrollEngine Docker Stack Configuration
DB_PASSWORD=PayrollStrongPass789
Important Password Requirements:
- Use alphanumeric characters only (letters and numbers)
- Avoid special characters like
!,@,#,$, etc. - Special characters can cause authentication failures that appear as misleading "sqlcmd not found" errors
- Example of good password:
PayrollStrongPass789 - Example of problematic password:
PayrollStrongPass789!(contains!)
To build and start all the services, run the following command from the PayrollEngine/ directory:
docker-compose up --buildThis command will:
- Build the Docker images for the
backend-api,webapp, anddb-initservices. - Start all the services in the correct order.
- Initialize the database.
Once the stack is running, you can access the following services:
- PayrollEngine WebApp:
http://localhost:8081 - PayrollEngine Backend API:
http://localhost:5001(HTTP) orhttps://localhost:5002(HTTPS) - SQL Server Database: Connect using a client on
localhost:1433with thesauser and the password you defined in the.envfile. - Verification: : Test the SQL Server connection:
docker exec payroll-db /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "YourPassword" -C -Q "SELECT @@VERSION"To stop the services, press Ctrl+C in the terminal where docker-compose up is running.
To stop and remove the containers, run:
docker-compose downTo remove the database volume as well, run:
docker-compose down -vVerification: Test the SQL Server connection:
docker exec payroll-db /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "YourPassword" -C -Q "SELECT @@VERSION"