Installing Pythmata¶
This guide walks you through the process of installing and setting up Pythmata for local development.
Prerequisites¶
- Python 3.11 or higher
- Node.js 18 or higher
- Docker and Docker Compose
- Git
System Requirements¶
- Memory: 4GB RAM minimum, 8GB recommended
- Storage: 1GB free space
- OS: Linux, macOS, or Windows with WSL2
Installation Steps¶
1. Clone the Repository¶
2. Environment Setup¶
Backend Setup¶
-
Install Poetry (Python dependency manager):
-
Install backend dependencies:
-
Set up environment variables:
Frontend Setup¶
-
Install frontend dependencies:
-
Set up environment variables:
3. Database Setup¶
-
Start the required services using Docker Compose:
-
Run database migrations:
Running the Application¶
Development Mode¶
-
Start the backend server:
-
Start the frontend development server:
The application will be available at: - Frontend: http://localhost:3000 - Backend API: http://localhost:8000 - API Documentation: http://localhost:8000/docs
Docker Deployment¶
To run the entire application using Docker:
This will start: - Frontend on http://localhost:3000 - Backend on http://localhost:8000 - PostgreSQL on localhost:5432 - Redis on localhost:6379 - RabbitMQ on localhost:5672 (Management: 15672)
Extending with Plugins¶
Pythmata supports a plugin system that allows you to extend the workflow engine with custom service tasks.
Creating a Plugin¶
-
Create a directory for your plugin in the
plugins
directory: -
Create the necessary files:
-
Implement your service task and register it in the
__init__.py
file.
For detailed instructions, see the Custom Service Tasks documentation.
Using Plugins with Docker¶
When using Docker, plugins are automatically discovered and loaded from the plugins
directory. The plugin directory is mounted as a volume in the Docker container:
Plugin dependencies are automatically installed at startup if the PYTHMATA_INSTALL_PLUGIN_DEPS
environment variable is set to true
.
Verification¶
-
Check service health:
-
Access the frontend:
- Open http://localhost:3000 in your browser
-
You should see the Pythmata dashboard
-
Verify API documentation:
- Open http://localhost:8000/docs in your browser
- You should see the Swagger UI documentation
Common Issues¶
Database Connection¶
If you encounter database connection issues: 1. Ensure PostgreSQL is running:
2. Check database credentials in .env 3. Verify database migrations are up to dateRedis Connection¶
If Redis connection fails: 1. Verify Redis is running:
2. Check Redis connection settings in .env 3. Ensure Redis port is not in useFrontend Build Issues¶
If you encounter frontend build problems: 1. Clear node_modules and reinstall:
2. Verify Node.js version compatibility 3. Check for environment variable configurationNext Steps¶
After successful installation: 1. Review the Basic Concepts Guide 2. Explore Example Workflows
Support¶
If you encounter any issues: 1. Check our GitHub Issues 2. Search existing GitHub issues 3. Create a new issue with: - Detailed description - Environment information - Steps to reproduce - Error messages/logs