Projects
Projects group applications and environments for coordinated deployments. A project represents a complete system or product.
What is a Project?
A project is a collection of applications. Think of a project as a complete web application consisting of:
- A frontend application
- A backend API
- A database
- A message broker
- A cache server
Each project can have its own set of environments and its own configuration overrides.
Creating a Project
- Go to Projects in the navigation menu
- Click on Create Project
- Fill in the following information:
- Name - A unique name for the project (e.g., “E-commerce Platform”)
- Code - A unique code for identification (auto-generated based on name)
- Description - An optional description of the project
- Optionally upload an image or icon
- Click on Create
Project Overview
After creating, you see the project in the list. Each project card shows:
- Project Name - The name of the project
- Connected Applications - The number of applications connected to the project
Project Details
Click on a project to go to its detail page. Here you find multiple tabs:
Overview
The overview tab shows a deployment matrix with an overview of all applications, versions, and environments in your project.
What you see in the Matrix:
- Applications - All applications connected to the project
- Versions - Each version per application
- Environments - All environments for the project
- Deployment Status - Which version is deployed where
Executing Deployment from Matrix:
- Click on an application to expand it
- View all versions and their deployment status
- Click on Deploy next to the desired version and environment
- Confirm and monitor the deployment
Environments
Manage the environments that are specific to this project.
Environment Status:
See for each environment:
- URL (if set)
- Whether an agent is connected
- The last deployed version
Setting Environment URLs:
- Go to the Environments tab
- Edit the URL for each environment
- Save the changes
URLs are used to access your applications in different environments.
Agents
Manage the agents that are responsible for deployments in this project.
Connecting an Agent:
- Go to the Agents tab
- Click on Connect Agent
- Select an agent and connect it to one or more environments
- Save the connection
Agent Status:
- Online - Agent is connected and ready for deployments
- Offline - Agent is not connected (deployments will be queued)
If an agent is offline during a deployment, the deployment will be queued and executed when the agent comes back online.
Configurations
Define project-specific configuration overrides for the applications in this project.
Project Configuration:
- Go to the Configurations tab
- Select an application
- Per environment, you can define overrides
- Save the configuration
During deployment, the application’s base configurations and project overrides will be automatically merged.
Example Use Case:
You have a “User Service” application with a base configuration:
{
"database": {
"host": "localhost",
"port": 5432
}
}For the “E-commerce Platform” project, you define overrides:
- Development:
host: dev-db.local - Staging:
host: staging-db.example.com - Production:
host: prod-db.example.com
During deployment to production, the configuration is merged:
{
"database": {
"host": "prod-db.example.com",
"port": 5432
}
}Settings
Manage general project settings:
- Edit project name
- Change description
- Update image or icon
- Delete project
Deleting Project: Note: if you delete a project, all configuration overrides and project-specific data will be deleted. The connected applications will remain.
Connecting Applications to a Project
From the Project Page:
- Go to the Settings tab of a project
- Click on Connect Application
- Select the application you want to add
- The application now appears in your project
From an Application:
An application can be connected to multiple projects. See the overview on the application page to see which projects the application is used in.
Environment-Specific Deployments
Each project can use its own set of environments, defined in Settings > Environments. You can choose to:
- Use all available environments
- Use only specific environments
- Define environment-specific configurations
Deployment Workflow
Manual Deployments
- Select Project - Navigate to your project page
- Select Application - In the deployment matrix, click on an application
- Select Version - Choose the version you want to deploy
- Select Environment - Select the target environment
- Deploy - Click on Deploy and confirm
- Monitor - Watch deployment progress in real-time
Automated Deployments
You can also use Auto Deploy Rules to automate deployments:
Benefits of Auto Deploy:
- Automatically deploy versions when created
- Time saving - no manual clicks needed
- Consistency - every version is deployed the same way
- Fewer errors - avoid forgotten deployments
Creating Auto Deploy Rules:
- Go to a project
- Navigate to the Auto Deploy Rules section
- Click on Create Rule
- Configure:
- Which application?
- Which version pattern? (e.g.,
v1.*) - To which environment?
- Save the rule
For more information on auto deploy rules, see the Auto Deploy documentation.
Best Practices
Project Structure
- A project should be a logical grouping of applications
- Avoid having too many applications in one project (10-15 recommended max)
- Create separate projects for different product lines
Environment Organization
- Use consistent environment names (Development, Staging, Production)
- Define clear deployment rules per environment
- Keep environment order logical (from test to production)
Configuration Management
- Define only differences in project config overrides
- Use base config for standard values
- Use environment variables for sensitive data
Deployment Planning
- Plan deployments well (e.g., Staging first, then Production)
- Use deployment matrix for overview
- Monitor deployments and logs carefully
Project vs Application
It’s important to understand the difference:
| Aspect | Application | Project |
|---|---|---|
| Purpose | A software component | A complete system |
| Versions | Has multiple versions | Uses versions from applications |
| Configuration | Defines base config | Defines environment-specific overrides |
| Reusability | Can be used in multiple projects | Is unique |
| Example | ”User Service”, “Database" | "E-commerce Platform”, “Mobile App” |
In summary: Applications are the building blocks, Projects are the buildings you construct with those blocks.