Projects Management

Overview

After creating a project, click Manage to access the project detail page. This page displays project information, real-time resource usage, deployment history, traffic analytics, and build/runtime logs. The page auto-refreshes every 2 seconds during build states (cloning, installing, building) and when the project status changes.

Project Actions

  • Open App - Opens your deployed application in a new tab. Available when project status is running and has a configured domain or subdomain.
  • Start - Starts a stopped project. Available when project status is stopped.
  • Stop - Stops a running project. Available when project status is running.
  • Restart - Restarts the project container without rebuilding.
  • Redeploy - Pulls latest code from repository, rebuilds the project, and restarts. This clears previous logs and creates a new deployment version.
  • Settings - Opens modal to edit repository URL, branch, subdomain, auto-update toggle, traffic analytics toggle, and Git authentication token.
  • Delete - Permanently deletes the project including container, images, logs, environment variables, and database records. This action cannot be undone.

Project Information Card

Displays repository URL, branch name, Git provider (GitHub, GitLab, or Bitbucket with icons), port number if configured, domain or subdomain, start command if configured, created and updated timestamps with relative time, project status, project slug, and access URL with copy to clipboard button.

Resource Usage Card

Shows real-time resource metrics when project is running. CPU usage with percentage and progress bar. Memory usage with percentage and progress bar. Network I/O (received and sent bytes). Disk I/O (read and write operations). Number of processes (PIDs). Last updated timestamp. Progress bars change color based on usage: green below 50%, yellow 50-85%, red above 85%. Stats refresh every 5 seconds.

Traffic Analytics Card

Displays traffic analytics dashboard with request metrics collected from Traefik access logs and stored in ClickHouse. Only shown when traffic analytics is enabled for the project.

Deployment History Card

Lists all deployment versions for the project. Each deployment shows version number, status (building, completed, failed), Docker image tag, Git commit hash and message if available, commit author, branch name, trigger reason (manual, auto-update, rollback), build started and completed timestamps, build duration, error message if failed, and active indicator for currently running version. Rollback button available for completed deployments to restore previous versions.

Build and Runtime Logs

Two log tabs: Build logs show cloning, dependency installation, and build process. Runtime logs show container output after project starts. Logs auto-scroll to latest entries. Clear logs button to remove current tab logs. Download logs button to save logs as text file with project name and date. Logs are separated at "=== Container Logs ===" marker and reversed to show latest first.

Environment Variables

Navigate to Environment Variables page by clicking on the env tab or through project settings. Add, edit, or delete environment variables as key-value pairs. Toggle visibility for sensitive values. Save changes and restart project for variables to take effect. Variables are encrypted and stored in the database.

Auto-Deploy on Git Push

Instead of clicking Redeploy by hand, you can have AODE automatically pull, rebuild, and restart a project every time you push to its repository. This works with GitHub, GitLab, and Bitbucket.

Enabling Auto-Deploy

  1. Open the project and click Settings to open the project settings.
  2. Turn on the Auto-update on Git Push toggle.
  3. Save. A unique webhook secret is generated automatically the first time you save.
  4. Reopen Settings to reveal the Webhook Configuration panel with your webhook URL and secret.

Configuring the Webhook in Your Git Provider

Copy the two values shown in the Webhook Configuration panel and add them to your repository's webhook settings:

  • Payload URLhttps://yourdomain.com/api/webhooks/git
  • Secret — the generated webhook secret (used to verify the request really came from your repo)
  • Content typeapplication/json
  • Trigger — push events

In GitHub this is under Repository → Settings → Webhooks → Add webhook. GitLab and Bitbucket have equivalent webhook settings. Once saved, every push to the project's tracked branch triggers a pull, rebuild, and restart, with a new deployment recorded in Deployment History.

Rotating the Secret

You can regenerate the webhook secret at any time from the Webhook Configuration panel. After regenerating, update the secret in your Git provider's webhook settings so deliveries continue to be accepted.