Skip to main content

Projects

Projects are the core unit of deployment in Deployxa. Each project represents a single application or service that you deploy and manage.

What is a Project?

A project contains:

  • Source Code: Your application code from GitHub
  • Deployments: All versions of your application
  • Containers: Running instances of your application
  • Domains: Custom domains pointing to your project
  • Environment Variables: Configuration and secrets
  • Logs: Build and runtime logs
  • Metrics: Performance and usage statistics

Creating a Project

From Dashboard

  1. Click "New Project" or "Create Project"
  2. Select your GitHub repository
  3. Review detected settings
  4. Click "Create Project"

From CLI

deployxa project create --name my-app --repo github.com/user/repo

From API

POST /api/projects
{
"name": "my-app",
"repositoryUrl": "https://github.com/user/repo",
"branch": "main"
}

Project Settings

General Settings

Access via ProjectSettingsGeneral

Available Settings:

  • Project name
  • Description
  • Default branch
  • Auto-deploy on push (enabled/disabled)
  • Build command
  • Output directory
  • Start command

Framework Detection

Deployxa automatically detects your framework by analyzing:

  • package.json (Node.js)
  • composer.json (PHP)
  • requirements.txt or pyproject.toml (Python)
  • Gemfile (Ruby)
  • go.mod (Go)
  • Cargo.toml (Rust)
  • And more...

Supported Frameworks:

  • Next.js, React, Vue, Nuxt, SvelteKit
  • Express, NestJS
  • Laravel, Symfony
  • Django, Flask, FastAPI
  • Rails
  • Spring Boot
  • ASP.NET Core
  • Gin, Echo, Fiber (Go)
  • Axum, Actix (Rust)
  • Phoenix (Elixir)

Build Configuration

Build Command: The command to build your application.

Examples:

  • Next.js: npm run build
  • React: npm run build
  • Laravel: composer install --no-dev
  • Django: pip install -r requirements.txt

Output Directory: Where the built application is located.

Examples:

  • Next.js: .next
  • React: dist
  • Laravel: public
  • Django: static

Start Command: The command to start your application.

Examples:

  • Next.js: npm start
  • Express: node server.js
  • Laravel: php artisan serve
  • Django: gunicorn myproject.wsgi

Environment Variables

Access via ProjectEnvironment

Add environment variables for:

  • API keys
  • Database credentials
  • Secret tokens
  • Feature flags

Example:

DATABASE_URL=postgresql://user:pass@host:5432/db
API_KEY=sk_test_1234567890
NODE_ENV=production

See Environment Variables for details.

Custom Domains

Access via ProjectDomains

Add custom domains to your project:

  • Apex domains (example.com)
  • Subdomains (api.example.com)
  • Wildcard domains (*.example.com)

See Custom Domains for details.

Deployments

Triggering Deployments

Automatic:

  • Push to connected branch
  • Merge pull request
  • Tag release

Manual:

  • Click "Deploy" button
  • Use CLI: deployxa deploy
  • Use API: POST /api/deployments

Deployment Lifecycle

  1. Queued: Deployment is waiting to start
  2. Building: Code is being compiled
  3. Deploying: Container is being created and deployed
  4. Live: Application is running
  5. Failed: Deployment encountered an error

Viewing Deployments

Access via ProjectDeployments

Each deployment shows:

  • Deployment ID
  • Status
  • Commit hash and message
  • Author
  • Duration
  • Created date
  • Actions (View logs, Rollback, Promote)

Rollbacks

Rollback to any previous deployment:

  1. Go to ProjectDeployments
  2. Find the deployment to rollback to
  3. Click "Rollback"
  4. Confirm rollback

Rollbacks are instant and use the existing container image.

Preview Deployments

Each pull request gets its own preview deployment:

  • Unique URL: pr-123.my-project.deployxa.app
  • Isolated environment
  • Automatic cleanup when PR is closed
  • Comment on PR with preview URL

See Preview Deployments for details.

Project Dashboard

Overview Tab

The overview shows:

  • Project status
  • Recent deployments
  • Resource usage (CPU, RAM, bandwidth)
  • Active domains
  • Quick actions

Deployments Tab

List of all deployments with:

  • Status indicators
  • Commit information
  • Duration
  • Actions (View, Rollback, Promote)

Logs Tab

Real-time logs from:

  • Build process
  • Application runtime
  • Error logs
  • Access logs

Features:

  • Live streaming
  • Search and filter
  • Download logs
  • Share log URLs

Analytics Tab

Performance metrics:

  • Request count
  • Response times
  • Error rates
  • Bandwidth usage
  • CPU/RAM usage

Domains Tab

Manage custom domains:

  • Add domains
  • Verify DNS
  • Configure SSL
  • Set up redirects

Environment Tab

Manage environment variables:

  • Add/edit/delete variables
  • Encrypt secrets
  • Scope to environments
  • Bulk import

Settings Tab

Project configuration:

  • General settings
  • Build configuration
  • Framework settings
  • Danger zone (delete project)

Project Deletion

Warning: Deleting a project is permanent and cannot be undone.

Before Deletion

  1. Remove custom domains
  2. Download logs and analytics
  3. Notify team members
  4. Update any integrations

Deletion Process

  1. Go to ProjectSettings
  2. Scroll to "Danger Zone"
  3. Click "Delete Project"
  4. Enter project name to confirm
  5. Click "Delete Project"

All project data will be permanently deleted within 30 days.

Project Limits

Free Tier

  • 3 projects
  • 100 GB bandwidth/month
  • Shared resources
  • 512 MB RAM per container

Pro Tier

  • Unlimited projects
  • 1 TB bandwidth/month
  • Dedicated resources
  • Up to 8 GB RAM per container

Enterprise Tier

  • Unlimited projects
  • Custom bandwidth
  • Dedicated infrastructure
  • Custom resource limits

Best Practices

Project Naming

  • Use lowercase letters and hyphens
  • Keep it short and descriptive
  • Avoid special characters
  • Use your application name

Branch Strategy

  • Use main or master for production
  • Use feature branches for development
  • Enable preview deployments for PRs
  • Protect production branch

Environment Variables

  • Never commit secrets to code
  • Use different variables per environment
  • Rotate keys regularly
  • Use encryption for sensitive data

Monitoring

  • Set up health checks
  • Monitor error rates
  • Track performance metrics
  • Configure alerts

Troubleshooting

Project Not Deploying

Problem: Deployment stuck in "Queued"

Solution:

  • Check build logs for errors
  • Verify repository access
  • Ensure build command is correct
  • Check resource limits

Framework Not Detected

Problem: Deployxa shows "Unknown Framework"

Solution:

  • Manually select framework
  • Verify configuration files exist
  • Check repository structure
  • Contact support if issue persists

Build Failed

Problem: Deployment shows "Build Failed"

Solution:

  • Review build logs
  • Check for missing dependencies
  • Verify build command
  • Test build locally

Out of Resources

Problem: "Memory limit exceeded" or "CPU limit exceeded"

Solution:

  • Optimize application
  • Upgrade plan
  • Increase resource limits
  • Review application code

Need Help? Contact support@deployxa.com or join our community Discord.