Getting Started
Create Your First Project

Create Your First Project

Learn how to create your first Odoo project on OEC.SH, connect your Git repository, and configure Odoo version settings.

Required Permission: org.projects.create

You must be an organization owner or admin to create projects. Learn about permissions →


What is a Project?

A project in OEC.SH represents a single Odoo application container with its codebase, configuration, and environments. Think of it as:

  • One Odoo Codebase: Your custom Odoo application with its addons and modules
  • Multiple Environments: Development, staging, and production instances of the same codebase
  • Git-Connected: Linked to your GitHub/GitLab repository for continuous deployment
  • Version-Locked: Uses a specific Odoo version (17.0, 18.0, 19.0, etc.)

Key Characteristics:

  • Projects belong to an organization (your team workspace)
  • Each project can have unlimited environments
  • Environments can be deployed to different servers
  • All environments share the same Odoo version and codebase

Prerequisites

Before creating your first project, ensure you have:

⚠️

Quota Check: Free plan allows 1 project. Paid plans vary by tier. Check your quota in Settings → Usage.


Create Project Wizard

Navigate to Projects Page

  1. Click Projects in the left sidebar
  2. Click the Create Project button in the top-right corner
  3. The 4-step wizard will open

The wizard consists of:

  • Step 1: Project Info (name, Odoo version, organization)
  • Step 2: Repository (Git connection)
  • Step 3: Configuration (infrastructure settings)
  • Step 4: Review (confirm settings)

Step 1: Project Information

Configure your project's basic settings:

Organization Selection

If you belong to multiple organizations, select which one should own this project:

┌─────────────────────────────────────┐
│ Organization *                      │
│ ┌─────────────────────────────────┐ │
│ │ 🏢 Acme Corporation          ▼ │ │
│ └─────────────────────────────────┘ │
│ Current projects: 2 / 10 (20%)      │
└─────────────────────────────────────┘

Quota Check: The wizard displays your current project usage vs. plan limit.

🚫

Quota Exceeded: If you've reached your project limit, you'll see:

❌ Project Quota Limit Reached
You have reached your organization's project limit.
Current projects: 10 / 10
Please contact your administrator to increase quota limits.

Upgrade your plan in Settings → Billing or delete unused projects.

Project Name

Enter a unique name for your project:

Project Name *
┌─────────────────────────────────────┐
│ my-odoo-erp                         │
└─────────────────────────────────────┘

Naming Rules:

  • ✅ 3-50 characters
  • ✅ Lowercase letters, numbers, hyphens, underscores only
  • ✅ Must be unique within your organization
  • ❌ No spaces or special characters

Examples:

  • my-odoo-project
  • acme-erp-v2
  • customer-portal-2024
  • My Odoo Project (has spaces)
  • ab (too short)

Slug Auto-Generation: The URL-friendly slug is automatically generated from your project name:

  • My Odoo ERPmy-odoo-erp
  • Acme Corp 2024acme-corp-2024

Description (Optional)

Add a brief description to help team members understand the project:

Description
┌─────────────────────────────────────┐
│ Customer-facing ERP portal with     │
│ custom inventory management module  │
└─────────────────────────────────────┘

Best Practices:

  • Describe the project's purpose
  • Mention key custom modules
  • Note client/department (if applicable)
  • Maximum 200 characters

Odoo Version Selection

Choose the Odoo version for this project:

Odoo Version *
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
│ 19.0 │ │ 18.0 │ │ 17.0 │ │ 16.0 │
│      │ │ [✓]  │ │      │ │      │
│ Beta │ │Default││      │ │      │
└──────┘ └──────┘ └──────┘ └──────┘

Available Versions:

VersionStatusDocker ImageNotes
19.0Betaodoo:19.0Latest features, not production-ready
18.0Stableodoo:18.0Recommended, read replica support
17.0Stableodoo:17.0Long-term support, most stable
16.0Legacyodoo:16.0Older version, limited features
15.0Legacyodoo:15.0End-of-life soon
14.0Deprecatedodoo:14.0Not recommended

Version Implications:

  • Cannot be changed after project creation
  • All environments use the same Odoo version
  • PostgreSQL read replicas require Odoo 18.0+
  • Custom Docker images supported (see Custom Images)

How to Choose:

  • New projects: Use Odoo 18.0 (default)
  • Migrating from Odoo.sh: Match your current version
  • Production apps: Use Odoo 17.0 (most battle-tested)
  • Experimental: Try Odoo 19.0 (beta, non-production only)
⚠️

Migration Projects: If creating a project from an Odoo.sh migration, the Odoo version is locked based on your backup analysis:

┌─────────────────────────────────────────┐
│ 🚀 Creating from Odoo.sh Migration     │
│                                         │
│ 📦 Odoo 17.0                           │
│ 💾 production-backup-2024-12-10        │
│                                         │
│ ✅ Odoo version locked for compatibility│
└─────────────────────────────────────────┘

Click Next to proceed to repository connection.

Step 2: Repository Connection

Connect your Git repository for automated deployments:

Skip Repository (Optional)

If you're not ready to connect a repository, you can skip this step:

┌─────────────────────────────────────────┐
│ 🔗 Skip Repository Connection           │
│                                          │
│ Create project without a Git repository. │
│ You can connect one later.               │
└─────────────────────────────────────────┘

When to skip:

  • Testing the platform
  • Creating a blank Odoo instance
  • Will add custom addons via manual upload
  • Repository not ready yet

Add Repository Later: You can connect a repository anytime from Project Settings → Repository.

Connect Git Provider

If you have a repository, connect your Git provider:

Option 1: OAuth Connection (Recommended)

  1. Click Connect GitHub or Connect GitLab
  2. Authorize OEC.SH to access your repositories
  3. Select from your repository list

Option 2: Personal Access Token (PAT)

  1. Generate a PAT in GitHub/GitLab:
    • GitHub: Settings → Developer Settings → Personal Access Tokens
    • GitLab: Preferences → Access Tokens
  2. Required scopes:
    • repo (GitHub) or read_repository, write_repository (GitLab)
    • admin:repo_hook (for webhook management)
  3. Paste token in OEC.SH

Connection Reuse: Once connected, you can reuse the same Git connection for multiple projects.

Repository Browser

Select your repository from the interactive browser:

Git Connection
┌─────────────────────────────────────┐
│ 🔗 GitHub - john@example.com     ▼ │
└─────────────────────────────────────┘

Search repositories
┌─────────────────────────────────────┐
│ 🔍 Search...                        │
└─────────────────────────────────────┘

Your Repositories
┌─────────────────────────────────────┐
│ 📦 acme-corp/odoo-custom            │
│    🔒 Private • Updated 2 hours ago │
├─────────────────────────────────────┤
│ 📦 acme-corp/erp-addons             │
│    🌍 Public • Updated 1 day ago    │
└─────────────────────────────────────┘

Repository Search:

  • Type to filter repositories by name
  • Shows both public and private repositories
  • Displays last updated timestamp
  • Indicates repository visibility (public/private)
⚠️

Private Repositories: OAuth or PAT required to access private repos. SSH keys are not supported for Git connections.

Branch Selection

Choose the default branch for your project:

Default Branch
┌─────────────────────────────────────┐
│ 🌿 main                          ▼ │
└─────────────────────────────────────┘

Available Branches:
• main (default)
• develop
• feature/v18-migration
• hotfix/invoice-bug

Branch Strategy:

  • Production environment: Use main or master
  • Staging environment: Use develop or staging
  • Development environment: Use feature branches

Per-Environment Branches: While the project has a default branch, each environment can override this and track a different branch. Configure this when creating environments.

Webhook Setup

OEC.SH automatically configures webhooks for continuous deployment:

✅ Webhook Configuration
┌─────────────────────────────────────┐
│ Webhook URL:                        │
│ https://api.oec.sh/webhooks/github  │
│                                     │
│ Events:                             │
│ • Push events                       │
│ • Pull request merged               │
│                                     │
│ Status: ✅ Active                   │
└─────────────────────────────────────┘

What webhooks enable:

  • 🚀 Auto-deploy on push (if environment has auto-deploy enabled)
  • 📊 Build status updates in GitHub/GitLab PRs
  • 🔔 Deployment notifications in your Git provider

Webhook Security:

  • HMAC-SHA256 signature validation
  • Unique secret per project
  • Validates payload origin
🚫

Webhook Setup Failed?

If automatic webhook setup fails:

⚠️ Webhook setup failed
Failed to register webhook automatically.
You can manually configure webhooks in Project Settings.

Common causes:

  • Insufficient OAuth permissions (need admin:repo_hook)
  • Repository is archived
  • PAT expired
  • Network connectivity issue

Manual setup: See Webhook Configuration for manual instructions.

Click Next to proceed to configuration.

Step 3: Configuration

Review infrastructure configuration:

┌─────────────────────────────────────┐
│ 🖥️  Infrastructure Configuration    │
│                                     │
│ You can configure VM and environment│
│ settings after project creation.    │
│                                     │
│ Default Configuration:              │
│ ✅ Production & Staging environments│
│ ✅ Automatic SSL certificates       │
│ ✅ Daily backups (7-day retention)  │
│ ✅ Resource monitoring              │
└─────────────────────────────────────┘

Environments Created Later: Projects don't automatically create environments. You'll create environments in the next step after project creation.

What happens after project creation:

  1. Project is created with PENDING status
  2. Webhook is registered (if repository connected)
  3. You're redirected to project dashboard
  4. Next step: Create your first environment (GST-006)

Click Next to review your settings.

Step 4: Review & Create

Confirm your project configuration:

┌─────────────────────────────────────┐
│ 📋 Review Your Project              │
│                                     │
│ Organization                        │
│ Acme Corporation                    │
│                                     │
│ Project Name                        │
│ my-odoo-erp                         │
│                                     │
│ Odoo Version                        │
│ 18.0                                │
│                                     │
│ Repository                          │
│ acme-corp/odoo-custom (github)      │
│                                     │
│ Default Branch                      │
│ main                                │
└─────────────────────────────────────┘

Repository: acme-corp/odoo-custom (github)
Default branch: main

[← Previous]  [✓ Create Project]

Final checks before creating:

  • ✅ Project name is correct
  • ✅ Odoo version matches your needs
  • ✅ Repository and branch are correct
  • ✅ Organization is correct (cannot change later)

Click Create Project to finalize.


Project Created Successfully

After clicking "Create Project", you'll see a success message and be redirected to your project dashboard:

┌─────────────────────────────────────┐
│ ✅ Project Created Successfully     │
│                                     │
│ my-odoo-erp is now ready for        │
│ deployment.                         │
│                                     │
│ Next: Create your first environment │
└─────────────────────────────────────┘

Project Dashboard Overview

Your project dashboard shows:

Header Section:

my-odoo-erp                           [⚙️ Settings] [🗑️ Delete]
Odoo 18.0 • Created 2 minutes ago
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Quick Stats:

┌──────────────┬──────────────┬──────────────┐
│ Environments │ Deployments  │ Last Deploy  │
│      0       │      0       │     Never    │
└──────────────┴──────────────┴──────────────┘

Tabs:

  • Overview: Project stats, recent activity
  • Environments: List of environments (empty for new projects)
  • Deployments: Deployment history
  • Repository: Git settings, branches, commits
  • Settings: Project configuration

Project Status Lifecycle

Your project progresses through these statuses:

StatusDescriptionNext Action
PENDINGJust created, no environmentsCreate environment
CREATINGFirst environment being set upWait for deployment
ACTIVEAt least one environment runningDeploy more environments
DEPLOYINGDeployment in progressMonitor deployment logs
STOPPEDAll environments stoppedStart an environment
ERRORDeployment or configuration errorCheck logs, fix issue

Project vs Environment Status: The project status reflects the overall state. Each environment has its own status (running, stopped, deploying, etc.).


Next Steps

Now that your project is created, follow these steps:

Create Your First Environment

Projects need at least one environment to run Odoo. Create a production or development environment:

# Navigate to Environments tab
Project  Environments  Create Environment

Quick setup:

  1. Choose environment type (production, staging, development)
  2. Select server to deploy to
  3. Configure resources (CPU, RAM, disk)
  4. Click "Create & Deploy"

→ GST-006: Deploy Your First Environment

Configure Custom Domains (Optional)

Add a custom domain for your production environment:

Production Environment
┌─────────────────────────────────────┐
│ System URL (auto-generated)         │
│ https://my-odoo-erp-prod.oec.sh     │
│                                     │
│ Custom Domain                       │
│ erp.acme-corp.com                   │
└─────────────────────────────────────┘

→ DNS Configuration Guide

Set Up Automated Backups

Configure backup policies for your environments:

Backup Policy
• Daily at 2:00 AM UTC
• Retention: 7 days
• Storage: Cloudflare R2

→ Backup Guide

Invite Team Members

Add developers and admins to your project:

# Project Settings → Members
Email: developer@acme-corp.com
Role: Developer

→ Team Collaboration Guide


Git Repository Configuration

Repository Structure

OEC.SH expects your Odoo repository to follow this structure:

my-odoo-repo/
├── addons/                    # Your custom addons
│   ├── my_custom_module/
│   │   ├── __init__.py
│   │   ├── __manifest__.py
│   │   ├── models/
│   │   ├── views/
│   │   └── security/
│   └── another_module/
├── requirements.txt           # Python dependencies (optional)
├── odoo.conf                  # Odoo configuration (optional)
└── README.md
⚠️

Important: OEC.SH does not clone the entire Odoo core. It uses the official Odoo Docker image and only mounts your addons/ directory.

Supported Repository Layouts

Option 1: Addons Only (Recommended)

repo-root/
└── addons/              ← Mounted to /mnt/extra-addons
    ├── module_1/
    ├── module_2/
    └── module_3/

Option 2: Odoo Full

repo-root/
├── odoo/                ← Odoo core (ignored by OEC.SH)
├── addons/              ← Your custom addons (used)
└── enterprise/          ← Enterprise addons (optional)

Option 3: Multiple Addon Directories

repo-root/
├── custom/              ← Primary addons directory
├── third_party/         ← Additional repo (add via Addon Repos)
└── themes/              ← Additional repo (add via Addon Repos)

Multiple Addon Repositories: You can add additional addon repositories in Project Settings → Addon Repositories. See Addon Management.

Branch Strategy Best Practices

Recommended Git Flow:

main (production)

develop (staging)

feature/* (development)

Environment-Branch Mapping:

EnvironmentBranchAuto-Deploy
Productionmain❌ Manual only
Stagingdevelop✅ Auto-deploy on push
Developmentfeature/*✅ Auto-deploy on push

Example workflow:

  1. Developer creates feature branch: feature/new-inventory
  2. Push triggers auto-deploy to dev environment
  3. Merge to develop → auto-deploys to staging
  4. After testing, merge to mainmanual deploy to production
⚠️

Production Safety: Always disable auto-deploy for production environments. Use manual deployments with rollback capability.

Webhook Events

OEC.SH webhooks respond to these Git events:

GitHub Events:

  • push - Code pushed to branch
  • pull_request - PR opened, synchronized, reopened, closed
  • release - Release published (for tagged deployments)

GitLab Events:

  • Push Hook - Code pushed to branch
  • Merge Request Hook - MR merged
  • Tag Push Hook - Tag created

Auto-Deploy Logic:

if event == "push" and branch == environment.git_branch:
    if environment.auto_deploy == True:
        trigger_deployment(environment)

Odoo Version Details

Version Comparison

FeatureOdoo 19.0Odoo 18.0Odoo 17.0Odoo 16.0
StatusBetaStableStableLegacy
LTSNoNoYesNo
PostgreSQL Read Replicas
Python Version3.11+3.10+3.9+3.8+
PostgreSQL Version15+14+13+12+
API UpdatesNew ORMImprovedStableLegacy
Production Ready⚠️

Docker Image Selection

By default, OEC.SH uses official Odoo Docker images:

# Default images
odoo:19.0   # Odoo 19.0 Community
odoo:18.0   # Odoo 18.0 Community
odoo:17.0   # Odoo 17.0 Community
odoo:16.0   # Odoo 16.0 Community

Enterprise Images: If you have an Odoo Enterprise license, configure custom images:

Project Settings → Docker Image
┌─────────────────────────────────────┐
│ Image Source: Docker Hub Private    │
│ Image Name: mycompany/odoo-enterprise│
│ Tag: 18.0                           │
│ Registry Credentials: [Configure]    │
└─────────────────────────────────────┘

Custom Docker Images: You can use custom Odoo images from:

  • Docker Hub (private repos)
  • AWS ECR
  • Google GCR/Artifact Registry
  • Azure ACR
  • GitLab Container Registry
  • GitHub Container Registry (ghcr.io)
  • Self-hosted registries

→ Custom Docker Images Guide

Version Migration Strategy

Upgrading Odoo versions requires creating a new project:

  1. Create new project with target Odoo version
  2. Clone production environment from old project
  3. Run upgrade scripts in new environment
  4. Test thoroughly in staging
  5. DNS cutover when ready
  6. Archive old project
🚫

No In-Place Upgrades: Odoo version cannot be changed after project creation. Always test upgrades on a cloned environment first.


Troubleshooting

Git Connection Failed

Error Message:

❌ Failed to connect to repository
Could not access repository 'acme-corp/odoo-custom'

Common Causes:

  1. Invalid OAuth Token

    • Solution: Reconnect OAuth in Settings → Git Connections
    • Revoke and re-authorize access
  2. PAT Expired

    • Solution: Generate new PAT with same scopes
    • Update in Settings → Git Connections
  3. Repository Deleted or Renamed

    • Solution: Update repository URL in project settings
    • Verify repository exists in Git provider
  4. Insufficient Permissions

    • Solution: Ensure PAT/OAuth has repo and admin:repo_hook scopes
    • For organization repos, verify you're an admin

Debug Steps:

# Test connection manually
curl -H "Authorization: token YOUR_PAT" \
  https://api.github.com/repos/OWNER/REPO
 
# Expected: 200 OK with repository JSON

Repository Not Found

Error Message:

❌ Repository not found
The repository 'acme-corp/odoo-custom' does not exist or you don't have access.

Solutions:

  1. Check Repository Exists

    • Verify URL in GitHub/GitLab
    • Ensure repository name is correct (case-sensitive)
  2. Verify Access Permissions

    • You must have at least read access
    • For webhooks, need admin access
  3. Organization Permissions

    • If repo is in an organization, authorize organization access
    • GitHub: Settings → Applications → OEC.SH → Grant organization access

Webhook Setup Failed

Error Message:

⚠️ Webhook setup failed
Failed to register webhook automatically.
You can manually configure webhooks in Project Settings.

Common Causes:

  1. Insufficient Permissions

    • Required: admin:repo_hook scope (GitHub) or Maintainer role (GitLab)
    • Solution: Re-authorize with correct scopes
  2. Repository Archived

    • Solution: Unarchive repository before creating webhooks
  3. Webhook Already Exists

    • Solution: Delete existing webhook in Git provider
    • OEC.SH will create a new one

Manual Webhook Setup:

# GitHub Webhook Configuration
Payload URL: https://api.oec.sh/api/v1/webhooks/github
Content type: application/json
Secret: [Copy from Project Settings]
Events:
   Push events
   Pull requests
SSL: Enable SSL verification

Slug Already Taken

Error Message:

❌ Project slug 'my-odoo-erp' is already taken
Please choose a different project name.

Solution:

  • Project slugs must be unique within your organization
  • Try adding a suffix: my-odoo-erp-v2, my-odoo-erp-2024
  • Or use a more specific name: acme-inventory-erp

Quota Limit Reached

Error Message:

❌ Project Quota Limit Reached
You have reached your organization's project limit.
Current projects: 10 / 10
Please contact your administrator to increase quota limits.

Solutions:

  1. Delete Unused Projects

    • Archive or delete projects you no longer need
    • Quota is freed immediately
  2. Upgrade Plan

    • Free: 1 project
    • Starter: 5 projects
    • Professional: 10 projects
    • Business: 25 projects
    • Enterprise: Unlimited projects
  3. Request Quota Increase

    • Enterprise customers can request custom quotas
    • Contact support@oec.sh

Invalid Odoo Version

Error Message:

❌ Odoo version 19.0 is not available
Version 19.0 is in beta and disabled for this organization.

Solution:

  • Beta versions may be restricted by organization settings
  • Contact organization admin to enable beta versions
  • Or choose a stable version (17.0, 18.0)

API Reference

Create Project

Create a new project via API.

Endpoint: POST /api/v1/projects

Authentication: Bearer token required

Permission: org.projects.create

Request Body:

{
  "name": "my-odoo-erp",
  "description": "Customer-facing ERP portal",
  "odoo_version": "18.0",
  "repository_url": "https://github.com/acme-corp/odoo-custom.git",
  "repository_provider": "github",
  "organization_id": "123e4567-e89b-12d3-a456-426614174000"
}

Request Schema:

interface ProjectCreate {
  name: string;                    // 3-50 characters, alphanumeric + hyphens
  slug?: string;                   // Auto-generated if not provided
  description?: string;            // Optional, max 200 characters
  odoo_version: "14.0" | "15.0" | "16.0" | "17.0" | "18.0" | "19.0";
  repository_url?: string;         // Git clone URL
  repository_provider?: "github" | "gitlab";
  organization_id?: string;        // UUID, uses default org if not provided
  image_config?: {                 // Optional custom Docker image
    source_type: "docker_hub" | "docker_hub_private" | "aws_ecr" | "gcp_gcr" | "azure_acr" | "gitlab_registry" | "github_registry" | "self_hosted";
    image_name: string;            // e.g., "odoo" or "mycompany/odoo-custom"
    image_tag?: string;            // e.g., "18.0", defaults to odoo_version
    registry_url?: string;         // For private registries
    registry_credentials_id?: string; // UUID of stored credentials
  };
}

Response: 201 Created

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "my-odoo-erp",
  "slug": "my-odoo-erp",
  "description": "Customer-facing ERP portal",
  "odoo_version": "18.0",
  "organization_id": "123e4567-e89b-12d3-a456-426614174000",
  "organization_name": "Acme Corporation",
  "repository_url": "https://github.com/acme-corp/odoo-custom.git",
  "repository_provider": "github",
  "status": "pending",
  "webhook_secret": "whsec_abc123...",
  "webhook_id": "123456789",
  "created_at": "2024-12-11T10:30:00Z",
  "updated_at": "2024-12-11T10:30:00Z"
}

cURL Example:

curl -X POST https://api.oec.sh/api/v1/projects \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-odoo-erp",
    "description": "Customer-facing ERP portal",
    "odoo_version": "18.0",
    "repository_url": "https://github.com/acme-corp/odoo-custom.git",
    "repository_provider": "github"
  }'

Error Responses:

// 400 Bad Request - Validation Error
{
  "detail": "Name must be at least 3 characters"
}
 
// 403 Forbidden - Quota Exceeded
{
  "detail": "Project quota limit reached. Current: 10/10"
}
 
// 403 Forbidden - Permission Denied
{
  "detail": "Missing required permission: org.projects.create"
}
 
// 409 Conflict - Slug Taken
{
  "detail": "Project slug 'my-odoo-erp' already exists in this organization"
}

Get Project

Retrieve project details.

Endpoint: GET /api/v1/projects/{project_id}

cURL Example:

curl https://api.oec.sh/api/v1/projects/123e4567-e89b-12d3-a456-426614174000 \
  -H "Authorization: Bearer YOUR_TOKEN"

Update Project

Update project settings.

Endpoint: PATCH /api/v1/projects/{project_id}

Request Body:

{
  "description": "Updated description",
  "repository_url": "https://github.com/acme-corp/new-repo.git"
}

Note: name, slug, odoo_version, and organization_id cannot be changed after creation.

Delete Project

Delete a project and all its environments.

Endpoint: DELETE /api/v1/projects/{project_id}

cURL Example:

curl -X DELETE https://api.oec.sh/api/v1/projects/123e4567-e89b-12d3-a456-426614174000 \
  -H "Authorization: Bearer YOUR_TOKEN"

Warning: This action:

  • Deletes all environments and their data
  • Stops all running containers
  • Removes all backups (unless stored externally)
  • Cannot be undone

Best Practices

Project Naming

Good Names:

  • acme-erp-production
  • client-portal-v2
  • inventory-management-2024

Bad Names:

  • test (too generic)
  • My Project (has spaces)
  • project123 (not descriptive)

Repository Organization

Monorepo Strategy (Multiple addons in one repo):

odoo-custom/
├── addons/
│   ├── inventory_module/
│   ├── sales_customization/
│   └── reporting_dashboard/
└── requirements.txt

Multi-Repo Strategy (Separate addon repos):

Project: my-erp
├── Primary Repo: core-addons
└── Additional Repos:
    ├── inventory-addons
    ├── sales-addons
    └── third-party-addons

Version Selection

Decision Matrix:

Quota Management

Monitor usage regularly:

Settings → Usage
━━━━━━━━━━━━━━━━━━━
Projects: ████████░░ 8/10 (80%)
Environments: ███░░░░░░░ 15/50 (30%)
CPU: ████████░░ 16/20 cores (80%)
RAM: ████████░░ 32/40 GB (80%)

Optimize resource usage:

  • Delete unused environments
  • Consolidate similar projects
  • Archive old projects
  • Upgrade plan if consistently near limits

Related Documentation


Support

Need help creating your first project?

Common questions:


Last Updated: December 11, 2024 (Sprint 2E42 - Phase 1)