Skip to content
/ cmms Public

#1 Self hosted CMMS web & mobile application that allows you to manage enterprise maintenance for free

License

Notifications You must be signed in to change notification settings

Grashjs/cmms

Repository files navigation

Atlas CMMS

Atlas CMMS is a powerful, self-hosted maintenance management system designed for both web and mobile platforms using Docker. It simplifies and automates the management of maintenance activities, making it ideal for IT managers or developers looking to implement solutions that keep their organization's assets running smoothly. Think of it like Jira for technicians.

Example industries

  • Facilities Managers (buildings, property, real estate)
  • Manufacturing/Production Teams (machinery and equipment)
  • Healthcare Facilities (medical equipment maintenance)
  • Hospitality Managers (hotels and resorts)
  • Public Sector (infrastructure and public buildings)
  • Educational Institutions (campus maintenance)
  • Utility Companies (power, water, and energy systems)

Demo website

Screenshots:

work_orders_screenshot.png

⚑ Features

Work Orders & Maintenance

  • πŸ“ Create, assign, and track work orders.
  • ⏱️ Log time, set priorities, and track history.
  • πŸ€– Automate work orders with triggers.
  • πŸ“Š Export reports and view analytics.

Analytics & Reporting

  • πŸ’Ό Work order compliance and cost analysis.
  • πŸ› οΈ Equipment downtime and reliability insights.
  • πŸ’΅ Cost trends and labor tracking.

Equipment & Inventory

  • βš™οΈ Track equipment, downtime, and maintenance costs.
  • πŸ“¦ Manage inventory with stock alerts.
  • πŸ›’ Automate purchase orders and approvals.

User & Workflow Management

  • πŸ‘₯ Assign tasks to teams or service providers.
  • πŸ§‘β€πŸ’Ό Customizable user roles and permissions.
  • πŸ”„ Define workflows with automation logic.

Locations & Requests

  • πŸ“ Manage locations with Google Maps integration.
  • πŸ“‘ Create and track service requests.

You can check out the complete list of features.

We'd love to have new contributors, so feel free to join us!
⭐ Star this repo to support us!

Self Host / Run locally

Clone the Repository

git clone https://github.com/grashjs/cmms.git
cd cmms

Set environment variables

Configure the environment variables in this file .env At the moment all variables are optional. Do not delete the .env file

Name Required Description Default Value
SMTP_PWD No The SMTP password after creating an app password with Google. Learn how to create an app password. To be able to invite people you have to configure it. (empty)
SMTP_USER No The SMTP username after creating an app password with Google. Learn how to create an app password (empty)
JWT_SECRET_KEY No JWT secret key your_jwt_secret
REACT_APP_GOOGLE_KEY No Google Maps API key (empty)
REACT_APP_GOOGLE_TRACKING_ID No Google Analytics tracking ID (empty)
PUBLIC_FRONT_URL No Frontend URL in this format http://your.public.ip:3000 http://localhost:3000
PUBLIC_API_URL No Public API URL in this format http://your.public.ip:8080 http://localhost:8080
STORAGE_TYPE No Type of storage either local MinIO or Google Cloud Storage gcp or minio minio
PUBLIC_MINIO_ENDPOINT No Public Mini endpoint in format http://public.ip:9000 http://localhost:9000
GCP_JSON No The Google Cloud JSON key after following these instructions. (empty)
GCP_PROJECT_ID No The Google Cloud project ID, also found in the GCP_JSON file. (empty)
GCP_BUCKET_NAME No GCP Bucket Name (empty)
MAIL_RECIPIENTS No Comma-separated email addresses of the super admins where to send information emails like new signups. You can provide your email address. (empty)
REACT_APP_MUI_X_LICENSE No Mui Pro license key (empty)

After changing any env variable starting with REACT_APP_ or PUBLIC_API_URL you should run docker compose up -d --no-deps --build frontend

For remote servers

  • You need to update every env variable starting with PUBLIC_.
  • You must also update every env variable starting with SMTP.
  • Open ports if necessary: make sure to open REACT_APP_API_URL, PUBLIC_FRONT_URL ports numbers by default 8080, and 3000. Same for PUBLIC_MINIO_ENDPOINT port 9000 if you use Minio.

Run

docker-compose up -d

Now, go to http://localhost:3000 or your custom PUBLIC_FRONT_URL

Celebrate on how easy this was

Getting help

Docs

https://docs.atlas-cmms.com

If you still have questions after reading the docs, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker or send an email at ibracool99@gmail.com.

Supported languages

  • English
  • Spanish
  • French
  • Turkish
  • Portuguese (Brazil)

πŸ—οΈ Tech Stack

  • Api with java Spring Boot
  • Website with React/Typescript
  • Mobile with React Native.

Need Professional Help?

Don't want to handle the maintenance and management yourself? We offer a complete done-for-you service. Please reach out to us

🀝 Looking to contribute?

We welcome contributions! You can help by:

  • βœ… Reporting bugs
  • βœ… Suggesting new features
  • βœ… Improving documentation
  • βœ… Submitting pull requests

Check CONTRIBUTING.md inside each subproject for details.

You can also join our Discord server

Open source licensing info

  1. LICENSE