{"id":21514405,"url":"https://github.com/ozma-io/ozma","last_synced_at":"2025-03-17T15:50:17.608Z","repository":{"id":256634350,"uuid":"820712495","full_name":"ozma-io/ozma","owner":"ozma-io","description":"Ozma is an CRM/ERP platform that enables rapid development of customizable enterprise-level systems. Build and tailor CRM/ERP solutions quickly and efficiently to meet your specific business needs.","archived":false,"fork":false,"pushed_at":"2025-03-10T09:36:28.000Z","size":7443,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-10T10:33:27.508Z","etag":null,"topics":["crm","database","erp","low-code","sql"],"latest_commit_sha":null,"homepage":"https://ozma.io/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ozma-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-27T03:13:52.000Z","updated_at":"2025-03-10T09:36:32.000Z","dependencies_parsed_at":"2024-09-12T05:57:52.287Z","dependency_job_id":"7fe20a63-c44a-4dc2-9fda-9539705bfecf","html_url":"https://github.com/ozma-io/ozma","commit_stats":null,"previous_names":["ozma-io/ozma"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozma-io%2Fozma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozma-io%2Fozma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozma-io%2Fozma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozma-io%2Fozma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ozma-io","download_url":"https://codeload.github.com/ozma-io/ozma/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244061665,"owners_count":20391783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crm","database","erp","low-code","sql"],"created_at":"2024-11-23T23:50:56.362Z","updated_at":"2025-03-17T15:50:17.599Z","avatar_url":"https://github.com/ozma-io.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ozma — open-source CRM/ERP platform\n\nOzma is an open-source CRM/ERP platform that allows for rapidly developing customizable enterprise systems.\n\n## Quick Start\n1. Click the \"Deploy on Railway\" button below\n2. Click the \"Deploy ozma\" button on the opened Railway page\n3. Sign in to your Railway account or create one\n4. In the \"Keycloak\" block, fill two fields with your email and any password\n5. Click the \"Deploy\" button below\n6. Wait for deployment to complete — all blocks will have a green check mark, and at least 5 minutes pass\n7. Open Railway block \"ozma\" after deployment\n8. Open your app at the generated URL on the screen (e.g., `ozma-production-xxxx.up.railway.app`)\n\n[![Deploy on Railway](https://railway.app/button.svg)](https://railway.com/template/xgJwGP)\n\n## Resources\n\n[![Discord](https://img.shields.io/discord/938075538961080350.svg?label=Chat\u0026logo=discord\u0026color=7289da)](https://discord.gg/Mc8YcF63yt)\n\n\u003c!-- \n\u003cdiv\u003e\n  \u003ca href=\"https://github.com/ozma-io/ozma/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-Apache 2.0-blue.svg\" alt=\"ozma.io is released under the Apache-2.0 License\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ozma-io/ozma/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/commit-activity/m/ozma-io/ozma\" alt=\"git commit activity\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ozma-io/ozma?tab=readme-ov-file#contributing\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-Welcome-brightgreen\" alt=\"PRs welcome!\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n --\u003e\n \n![](https://ozma.io/assets/images/main/preview.png)\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://ozma.io/ai-business-app-builder/\"\u003eGet started\u003c/a\u003e |\n  \u003ca href=\"https://discord.gg/Mc8YcF63yt\"\u003eDiscord\u003c/a\u003e |\n  \u003ca href=\"https://wiki.ozma.io/en/home\"\u003eDocs\u003c/a\u003e |\n  \u003ca href=\"https://ozma.io\"\u003eWebsite\u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n\u003c/div\u003e\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Features](#features)\n- [Prerequisites](#prerequisites)\n- [Setup Options](#setup-options)\n  - [Running in Development Environment](#running-in-development-environment)\n  - [Running in Production Environment](#running-in-production-environment)\n- [Accessing the Application](#accessing-the-application)\n- [Logging In](#logging-in)\n  - [Ozma Admin User](#ozma-admin-user)\n  - [Keycloak Admin User](#keycloak-admin-user)\n- [Managing Users](#managing-users)\n  - [Keycloak Integration](#keycloak-integration)\n- [Updating the Application](#updating-the-application)\n- [Stopping the Application](#stopping-the-application)\n- [FAQs](#faqs)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Prerequisites\nBefore you begin, ensure you have the following:\n\n- **Operating System**: Ubuntu or any Linux distribution\n- **Root Access**: Administrative privileges on your server\n- **Docker Engine**: Installed [Docker CE](https://docs.docker.com/engine/install/ubuntu/) (Community Edition)\n- **Git**: Installed Git for cloning the repository\n- **Domain Name (Optional)**: A registered domain (e.g., `your-address.com`) pointing to your server's IP address.\n\n### Installing Docker and Git\n**Install Git:**\n```bash\nsudo apt update\nsudo apt install git\n```\n**Install Docker:**\n- Follow the official Docker installation guide for Ubuntu: [Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/)\n\n## Setup Options\nYou can set up Ozma in either a development environment or a production environment, depending on your needs.\n\n### Running in Development Environment\nFollow these steps to set up Ozma locally in a development environment.\n\n#### 1. Cloning the Repository\nIf you haven't already cloned the repository, do so now:\n```bash\ngit clone https://github.com/ozma-io/ozma.git\ncd ozma\n```\n#### 2. Setting Up Environment Variables\nCopy the example environment file for development:\n```bash\ncp env.dev.example .env\n```\n\n#### 3. Starting the Development Server\nStart the development server using Docker Compose:\n```bash\ndocker compose up\n```\nThis will start the development environment with all the required services.\n\n#### 4. Accessing the Development Server\nOnce the server is running, you can access the application and administrative interfaces:\n- **Ozma Application**: `http://localhost:9080/`\n- **Keycloak Admin Interface**: `http://localhost:9080/auth/`\n- **Report Generator Admin Interface**: `http://localhost:9080/report-generator/admin/ozma/`\n\u003e [!NOTE]\n\u003e The development server runs on `http://localhost:9080`. Ensure that port `9080` is open and not used by other applications on your local machine.\n\n#### 5. Default Credentials\nUse the following default credentials to log in:\n\n**Ozma Admin User**\n- **Username**: `admin@example.com`\n- **Password**: `admin` (You will be prompted to change your password upon first login)\n  \n**Keycloak Admin User**\n- **Username**: `admin`\n- **Password**: `admin`\n\n### Running in Production Environment\nFollow these steps to install Ozma in a production environment.\n\n#### 1. Setting Up the Server\nSet up a machine with Linux (Ubuntu is recommended). You can use any cloud provider such as AWS, Google Cloud, Yandex.Cloud etc.\n\n#### 2. Domain Configuration (Optional)\n- Register a domain name or use an existing one (e.g., your-domain.com).\n- Create an A record in your DNS settings pointing `your-domain.com` to your server's IP address.\n- If using a subdomain, ensure it also points to your server.\n\n#### 3. Installing Necessary Software\nUpdate your package lists:\n```bash\nsudo apt update\n```\nInstall Git and other dependencies:\n```bash\nsudo apt install git ca-certificates curl\n```\nInstall Docker (if you haven't already done it): \n```bash\nsudo install -m 0755 -d /etc/apt/keyrings\nsudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc\nsudo chmod a+r /etc/apt/keyrings/docker.asc\necho \\\n\"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \\\n$(. /etc/os-release \u0026\u0026 echo \"$VERSION_CODENAME\") stable\" | \\\nsudo tee /etc/apt/sources.list.d/docker.list \u003e /dev/null\nsudo apt update\nsudo apt install docker-ce\n```\n\n#### 4. Cloning the Repository\nClone the Ozma repository:\n```bash\ngit clone https://github.com/ozma-io/ozma.git\ncd ozma\n```\n\n#### 5. Setting Up Environment Variables\nCopy the example environment file for production:\n```bash\ncp env.production.example .env\n```\nEdit the .env file:\n```bash\nnano .env\n```\nIn the `.env` file, you need to:\n- **Set Keycloak Admin Password**: Assign a strong password to `KEYCLOAK_ADMIN_PASSWORD`.\n- **Update Domain/IP Address**: Replace `example.com` with your domain or server IP in `CADDY_ADDRESS` and `EXTERNAL_ORIGIN`.\n- **Define Admin Email:** Set `ADMIN_EMAIL` to your administrator's email address.\n\u003e [!NOTE]\n\u003e Ensure that the `EXTERNAL_ORIGIN` matches the address you will use to access the application. This setting is applied only during the initial setup. If you change it later, you will need to recreate the containers (see below).\n\n#### 6. Running the Application\nStart the application in production mode:\n```bash\ndocker compose up -d\n```\nWait for Docker to pull images and start the containers. This may take some time.\n\n#### 7. Accessing the Application\nOnce the containers are up and running, you can access the application at your domain:\n- **Ozma Application**: `https://your-address.com/` *(or `http://your-address.com/` if SSL is configured)*\n- **Keycloak Admin Interface**: `https://your-address.com/auth/`  *(or `https://your-address.com/auth/` if SSL is not configured)*\n- **Report Generator Admin Interface**: `https://your-address.com/report-generator/admin/ozma/` *(or `https://your-address.com/report-generator/admin/ozma/` if SSL is not configured)*\n\n\u003e [!NOTE]\n\u003e Replace `your-address.com` with your actual domain name or IP address.\n\u003e\n\u003e If you wish to secure your application with HTTPS without a registered domain, you can use a self-signed certificate or services like [Let's Encrypt](https://letsencrypt.org/), although the latter typically requires domain verification.\n\n## Accessing the Application\nAfter setting up either the development or production environment, you can access the application using the URLs provided.\n\u003e [!IMPORTANT]\n\u003e Some URLs require a trailing slash (`/`) at the end. Always use the URLs as specified to avoid any issues.\n\n## Logging In\n###  Ozma Admin User\n- **Username**: \n  - For production: The `ADMIN_EMAIL` you set in your `.env` file.\n  - For development: `admin@example.com`\n- **Password**: `admin` (You will be prompted to change your password upon first login)\n\n### Keycloak Admin User\n- **Username**: `admin`\n- **Password**: \n  - For production: The password you set in `KEYCLOAK_ADMIN_PASSWORD` in your `.env` file.\n  - For development: `admin`\n\n## Managing Users\n### Keycloak Integration\nOzma uses Keycloak for user authentication and management. To manage users:\n1. Access the Keycloak Admin Interface at `https://your-address.com/auth/`\n2. Log in with:\n- **Username**: `admin`\n- **Password**: The password you set in `KEYCLOAK_ADMIN_PASSWORD` in your `.env` file\n\n#### Google Integration in Keycloak\nYou can configure Google integration in Keycloak to allow users to log in with their Google accounts:\n- Follow this guide: [Signing in with Google with Keycloak](https://medium.com/@stefannovak96/signing-in-with-google-with-keycloak-bf5166e93d1e)\n\u003e [!NOTE]\n\u003e After setting up Google integration, users can log in with their Google accounts. Ensure that their emails are added to the `public.users` table in the database to grant them access to the system.\n\n## Updating the Application\nTo update the application to the latest version:\n\nPull the latest changes from the repository:\n```bash\ngit pull\n```\nRebuild and restart the containers:\n```bash\ndocker compose up --build --pull always --remove-orphans -d\n```\n\u003e [!WARNING]\n\u003e Be cautious when pulling the latest changes. Major updates might include breaking changes such as database upgrades. **Always back up your data before updating**.\n\n## Stopping the Application\nTo stop the application:\n```bash\ndocker compose down\n```\nIf you want to remove all data and volumes (this will delete your databases and any stored data), run:\n```bash\ndocker compose down -v\n```\n\u003e [!WARNING]\n\u003e Removing volumes will delete your databases and any persistent data.\n\n## FAQs\n### Q1: I can't access the Keycloak admin interface.\nA: Ensure you are accessing the correct URL with a trailing slash: `https://your-address.com/auth/`\n\n### Q2: I'm getting an error about a missing user view user.main.\nA: This indicates that the database is empty. You may need to import your database dump or check that the migrations have run correctly.\n\n### Q3: How do I import a database dump into Ozma?\nA: To import a database dump (for testing or restoring data), please follow our detailed [Database Import Guide](https://wiki.ozma.io/en/installation/database-import). This guide provides step-by-step instructions to ensure a smooth and successful import process.\n\n### Q4: How do I configure Google authentication in Keycloak?\nA: Follow the guide here: [Signing in with Google with Keycloak](https://medium.com/@stefannovak96/signing-in-with-google-with-keycloak-bf5166e93d1e)\n\n### Q5: I updated the repository and now the application is not working.\nA: Ensure you have rebuilt the Docker images and restarted the containers using:\n```bash\ndocker compose up --build --pull always --remove-orphans -d\n```\nCheck for any breaking changes in the update notes or contact the maintainers for support.\n\n### Q6: How do I completely remove the application and all its data?\nA: Run the following command to stop the containers and remove all associated volumes:\n```bash\ndocker compose down -v\n```\n\n### Q7: How can I contribute to the project?\nA: Please refer to the [Contributing](#contributing) section below.\n\n## Contributing\nWe welcome contributions from the community. Please follow these steps:\n1. Fork the repository.\n2. Create a new branch with a descriptive name.\n3. Make your changes and commit them with clear messages.\n4. Submit a pull request to the `main` branch.\n\n## License\nThis project is licensed under the **Apache License 2.0**. You may obtain a copy of the License at [LICENSE](/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozma-io%2Fozma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fozma-io%2Fozma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozma-io%2Fozma/lists"}