Deploying Rukovoditel
Introduction
Rukovoditel is a free, open-source project management application that doubles as a no-code database application builder. Its flexible entity system allows you to create custom applications for project management, CRM, inventory tracking, and virtually any data management need without writing code.
Key highlights of Rukovoditel:
- Custom Entities: Create any data structure without coding
- Project Management: Built-in project and task management
- Customizable Fields: 30+ field types for any data need
- Reporting: Powerful reporting and chart generation
- Workflows: Automated actions and notifications
- User Roles: Fine-grained access control
- Comments and History: Full audit trail
- Import/Export: CSV import and export
- Attachments: File management per record
- Multi-Language: Available in multiple languages
- Open Source: GPL-3.0 licensed
This guide walks through deploying Rukovoditel on Klutch.sh using Docker for your custom application needs.
Why Deploy Rukovoditel on Klutch.sh
Deploying Rukovoditel on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically builds and deploys Rukovoditel without complex LAMP configuration.
Persistent Storage: Attach persistent volumes for data and uploads that survive container restarts.
HTTPS by Default: Klutch.sh provides automatic SSL for secure access.
Environment Variable Management: Securely store database credentials through Klutch.sh.
Custom Domains: Assign a custom domain for your application.
Prerequisites
Before deploying Rukovoditel on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Rukovoditel configuration
- An external MySQL/MariaDB database
- Basic familiarity with Docker
Preparing Your Repository
Create a GitHub repository containing your Dockerfile for Rukovoditel deployment.
Repository Structure
rukovoditel-deploy/├── Dockerfile└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM php:8.1-apache
# Install dependenciesRUN apt-get update && apt-get install -y \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libzip-dev \ unzip \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install gd mysqli pdo pdo_mysql zip
# Enable Apache modulesRUN a2enmod rewrite
# Download and install RukovoditelRUN curl -L https://www.rukovoditel.net/download.php?file=rukovoditel -o /tmp/rukovoditel.zip \ && unzip /tmp/rukovoditel.zip -d /var/www/html/ \ && rm /tmp/rukovoditel.zip \ && chown -R www-data:www-data /var/www/html
# Create upload directoriesRUN mkdir -p /var/www/html/uploads \ && chown -R www-data:www-data /var/www/html/uploads
# Expose the web interface portEXPOSE 80
# The base image includes the default entrypointEnvironment Variables Reference
| Variable | Required | Description |
|---|---|---|
DB_HOST | Yes | MySQL/MariaDB host address |
DB_NAME | Yes | Database name |
DB_USER | Yes | Database username |
DB_PASSWORD | Yes | Database password |
Deploying Rukovoditel on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 80
Push Your Repository to GitHub
Commit and push your Dockerfile to GitHub.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project with a descriptive name like “rukovoditel”.
Create a New App
Within your project, create a new app. Connect your GitHub account and select the repository containing your Rukovoditel Dockerfile.
Configure HTTP Traffic
In the deployment settings:
Attach Persistent Volumes
Add the following volume:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/var/www/html/uploads | 10 GB | File uploads and attachments |
Deploy Your Application
Click Deploy to start the build process.
Access Rukovoditel
Once deployment completes, access the installation wizard at your app URL.
Initial Configuration
Installation Wizard
- Navigate to your Rukovoditel URL
- Complete the installation wizard:
- Enter database connection details
- Create administrator account
- Configure basic settings
- Remove the
installdirectory after setup
Creating Entities
- Go to Configuration > Entities
- Click Add Entity
- Define fields for your entity
- Configure listing and form views
Setting Up Users
- Navigate to Configuration > Users
- Create user accounts
- Assign to user groups with appropriate permissions
Creating Reports
- Go to an entity’s records
- Click Reports to create custom reports
- Configure charts and aggregations
Building Applications
Project Management
- Create entities for Projects, Tasks, and Milestones
- Set up parent-child relationships
- Configure workflows for task status changes
CRM System
- Create entities for Contacts, Companies, and Deals
- Add custom fields for your sales process
- Set up automated reminders and notifications
Inventory Management
- Create entities for Products, Categories, and Locations
- Track quantities with formula fields
- Generate inventory reports
Additional Resources
Conclusion
Deploying Rukovoditel on Klutch.sh gives you a powerful no-code application builder with automatic builds, persistent storage, and secure HTTPS access. Whether building a project management system, CRM, or any custom database application, Rukovoditel on Klutch.sh provides the flexibility to create exactly what you need without writing code.