This directory contains Docker Compose configuration for debugging and development of the CleanAspire application.
-
Copy the environment file:
cp sample.env .env
-
Update the
.envfile with your specific configuration values (API keys, passwords, etc.) -
Build and run all services:
docker-compose -f docker-compose.debug.yml up --build
-
Access the applications:
- API Service: http://localhost:8080 (HTTP) / https://localhost:8443 (HTTPS)
- WebApp (Blazor Server): http://localhost:8081 (HTTP) / https://localhost:8444 (HTTPS)
- ClientApp (Blazor WASM): http://localhost:8082 (HTTP) / https://localhost:8445 (HTTPS)
- MinIO Console: http://localhost:9001
The application uses SQLite by default for development. The database file is managed by the API service and persisted through Docker volumes - no additional database service required.
# API only
docker-compose -f docker-compose.debug.yml up api
# WebApp only
docker-compose -f docker-compose.debug.yml up webapp
# ClientApp only
docker-compose -f docker-compose.debug.yml up clientapp# All services
docker-compose -f docker-compose.debug.yml logs -f
# Specific service
docker-compose -f docker-compose.debug.yml logs -f apidocker-compose -f docker-compose.debug.yml downdocker-compose -f docker-compose.debug.yml down -vdocker-compose -f docker-compose.debug.yml build --no-cacheAll configuration is done through the .env file. Key settings include:
- Database: Uses SQLite for development (default)
- Authentication: Configure Google and Microsoft OAuth providers
- Email: Set up SendGrid for email notifications
- Push Notifications: Configure Webpushr for push notifications
- File Storage: MinIO configuration for file uploads
The applications use self-signed certificates for HTTPS in development. For production, replace with proper SSL certificates.
Update CORS_ORIGINS in .env to match your development URLs.
If you encounter port conflicts, update the port mappings in docker-compose.debug.yml:
ports:
- "YOUR_PORT:80" # Change YOUR_PORT to an available port- Ensure the database service is running before the API service
- Check the connection string format in
.env - Verify database credentials
- Ensure MinIO service is running
- Check MinIO credentials in
.env - Verify the bucket name configuration
- Default passwords and keys are used
- Self-signed certificates are generated
- Debug mode is enabled
- Change all credentials before production use