140 lines
4.2 KiB
Markdown
140 lines
4.2 KiB
Markdown
# Atlas CMMS Backend
|
|
|
|
This directory contains the backend configuration and assets for the Atlas CMMS system.
|
|
|
|
## Overview
|
|
|
|
The backend uses the official Atlas CMMS Docker image (`intelloop/atlas-cmms-backend`) which provides:
|
|
|
|
- **Spring Boot API**: Java 8 based REST API
|
|
- **PostgreSQL Integration**: Database for all CMMS data
|
|
- **MinIO Integration**: Object storage for files and documents
|
|
- **JWT Authentication**: Secure token-based authentication
|
|
- **Role-based Access Control**: Multi-level user permissions
|
|
- **Email Notifications**: SMTP support for system notifications
|
|
- **OAuth2 Support**: Google and Microsoft SSO integration
|
|
|
|
## Directory Structure
|
|
|
|
```
|
|
backend/
|
|
├── logos/ # Custom logo files for branding
|
|
├── config/ # Configuration files
|
|
├── scripts/ # Utility scripts
|
|
└── README.md # This file
|
|
```
|
|
|
|
## Configuration
|
|
|
|
The backend is configured through environment variables defined in the main `.env` file:
|
|
|
|
### Database Configuration
|
|
- `DB_USER`: PostgreSQL username
|
|
- `DB_PASSWORD`: PostgreSQL password
|
|
- Database name is set to `atlas` by default
|
|
|
|
### API Configuration
|
|
- `PUBLIC_API_URL`: External API URL (e.g., http://localhost:8080)
|
|
- `JWT_SECRET_KEY`: Secret key for JWT token signing (minimum 32 characters)
|
|
- `PUBLIC_FRONT_URL`: Frontend URL for CORS and redirects
|
|
|
|
### Storage Configuration
|
|
- `MINIO_ROOT_USER`: MinIO admin username
|
|
- `MINIO_ROOT_PASSWORD`: MinIO admin password
|
|
- `MINIO_BUCKET_NAME`: Bucket name for file storage
|
|
|
|
### Email Configuration (Optional)
|
|
- `SMTP_HOST`: SMTP server hostname
|
|
- `SMTP_PORT`: SMTP server port (default: 587)
|
|
- `SMTP_USER`: SMTP username
|
|
- `SMTP_PASSWORD`: SMTP password
|
|
- `MAIL_FROM`: From email address
|
|
|
|
### Optional Features
|
|
- `ENABLE_SSO`: Enable Single Sign-On (true/false)
|
|
- `ENABLE_INVITATIONS`: Enable user invitations (true/false)
|
|
|
|
### OAuth2 Configuration (Optional)
|
|
- `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET`: Google OAuth2 credentials
|
|
- `MICROSOFT_CLIENT_ID` / `MICROSOFT_CLIENT_SECRET`: Microsoft OAuth2 credentials
|
|
|
|
## Custom Branding
|
|
|
|
Place custom logo files in the `logos/` directory. The backend will mount this directory and make logos available for the application.
|
|
|
|
Supported formats:
|
|
- PNG
|
|
- JPG/JPEG
|
|
- SVG
|
|
|
|
## API Endpoints
|
|
|
|
The Atlas CMMS backend provides comprehensive REST API endpoints:
|
|
|
|
### Authentication
|
|
- `POST /api/auth/signin` - User login
|
|
- `POST /api/auth/signup` - User registration
|
|
- `POST /api/auth/logout` - User logout
|
|
- `POST /api/auth/refresh` - Token refresh
|
|
|
|
### Work Orders
|
|
- `GET /api/work-orders` - List work orders
|
|
- `POST /api/work-orders` - Create work order
|
|
- `GET /api/work-orders/{id}` - Get work order details
|
|
- `PUT /api/work-orders/{id}` - Update work order
|
|
- `DELETE /api/work-orders/{id}` - Delete work order
|
|
|
|
### Assets
|
|
- `GET /api/assets` - List assets
|
|
- `POST /api/assets` - Create asset
|
|
- `GET /api/assets/{id}` - Get asset details
|
|
- `PUT /api/assets/{id}` - Update asset
|
|
- `DELETE /api/assets/{id}` - Delete asset
|
|
|
|
### Users
|
|
- `GET /api/users` - List users
|
|
- `POST /api/users` - Create user
|
|
- `GET /api/users/me` - Get current user
|
|
- `PUT /api/users/{id}` - Update user
|
|
|
|
## Health Checks
|
|
|
|
The backend includes health check endpoints:
|
|
- `GET /api/health` - Application health status
|
|
- `GET /api/info` - Application information
|
|
|
|
## Development
|
|
|
|
### Running Locally
|
|
|
|
To run the backend locally outside of Docker:
|
|
|
|
1. Install Java 8 JDK
|
|
2. Set up PostgreSQL database
|
|
3. Configure environment variables
|
|
4. Build and run the Spring Boot application
|
|
|
|
### Custom Development
|
|
|
|
If you need to customize the backend:
|
|
|
|
1. Fork the Atlas CMMS repository
|
|
2. Make your changes
|
|
3. Build your own Docker image
|
|
4. Update the `docker-compose.yml` to use your custom image
|
|
|
|
## Support
|
|
|
|
For backend-specific issues:
|
|
- Check the Atlas CMMS documentation: https://grashjs.github.io/user-guide/
|
|
- File issues at: https://github.com/Grashjs/cmms/issues
|
|
- Contact: contact@atlas-cmms.com
|
|
|
|
## Security Considerations
|
|
|
|
- Change default passwords in production
|
|
- Use strong JWT secret keys (minimum 32 characters)
|
|
- Enable HTTPS in production environments
|
|
- Regularly update the Docker images
|
|
- Secure your PostgreSQL and MinIO instances
|
|
- Use proper firewall rules and network security |