Projects are the core of Nixopus. Each project represents an application you want to deploy and manage.
Creating a Project
From GitHub
- Go to Repositories tab
- Click on the repository you want to deploy
- Configure your project settings
- Click Create Project
Project Configuration
When creating a project, configure these settings:
| Setting | Description | Required |
|---|
| Project Name | Unique identifier for your project | Yes |
| Repository | GitHub repository URL | Yes |
| Branch | Branch to deploy from | Yes |
| Build Pack | Dockerfile or Docker Compose | Yes |
| Domain | Custom domain (optional) | No |
Project Settings
Basic Configuration
| Setting | Description |
|---|
| Application Name | Display name for your project |
| Environment | Development, Staging, or Production |
| Port | The port your application listens on |
Docker Configuration
| Setting | Description |
|---|
| Build Base Path | Subdirectory where your code lives |
| Dockerfile Path | Path to Dockerfile (relative to base path) |
If your Dockerfile is in a subdirectory like ./app/Dockerfile, set the base path to app and Dockerfile path to Dockerfile.
Environment Variables
Add key-value pairs for your application’s configuration:
DATABASE_URL=postgres://user:pass@host:5432/db
REDIS_URL=redis://localhost:6379
NODE_ENV=production
SECRET_KEY=your-secret-key
Build Variables are available during the Docker build process.
Environment Variables are available at runtime.
Commands
| Setting | Description |
|---|
| Pre Run Commands | Commands to run before starting the container |
| Post Run Commands | Commands to run after starting the container |
Environments
Nixopus supports three environments:
| Environment | Use Case |
|---|
| Development | Testing new features locally |
| Staging | Pre-production testing |
| Production | Live user-facing deployment |
Duplicating Projects
Create copies of your project for different environments:
- Open your project
- Click Duplicate Project
- Select the target environment
- Optionally change the branch and domain
- Click Duplicate
This creates a new project with the same configuration but for a different environment.
Project Families
Projects created from the same repository are grouped into a “family.” You can easily switch between environments using the environment switcher in the project header.
Managing Projects
Project List
View all your projects at Projects in the dashboard:
- Search - Find projects by name
- Sort - Order by name or creation date
- Status - See deployment status at a glance
Project Actions
From the project detail page:
| Action | Description |
|---|
| Deploy Now | Trigger a new deployment from the configured branch |
| Restart | Restart the running container without rebuilding |
| Redeploy | Rebuild and redeploy the application (uses cache) |
| Redeploy (Force) | Rebuild without cache (slower but ensures clean build) |
| Rollback | Revert to a previous deployment |
| Delete | Remove the project permanently |
When to Use Each Action
- Deploy Now - Deploy latest code from your branch
- Restart - Application is running but needs a restart (no code changes)
- Redeploy - Rebuild with latest code (faster, uses Docker cache)
- Redeploy (Force) - Clean rebuild when cache might be causing issues
- Rollback - Revert to a known-good deployment
Adding Labels
Organize your projects with custom labels:
- Click Add next to the project name
- Enter a label name
- Press Enter to save
Labels help you categorize projects (e.g., frontend, api, internal).
Domains
Default Domain
Every project gets an auto-generated domain when deployed.
Custom Domains
Add your own domains:
- Go to project Configuration
- Add your domain in the Domain field
- Update your DNS to point to Nixopus
You can add multiple domains to a single project.
Project Tabs
Monitoring
View deployment health and statistics:
- Current deployment status
- Total deployments
- Success/failure counts
- Health check results
Configuration
Update project settings:
- Application name and port
- Environment variables
- Docker configuration
- Commands
Deployments
View deployment history:
- Deployment Status - Current state (building, deployed, failed)
- Container Information - Container ID, name, and image
- Created - When the deployment was created
- Run Time - How long the deployment has been running
- Commit Hash - Git commit that triggered the deployment
- Rollback - Revert to this deployment
Deployment Actions
From the deployments table, you can:
- View Details - See full deployment information
- View Logs - Access build and runtime logs
- Rollback - Revert to this previous deployment
Rolling Back
Rollback to a previous deployment:
- Go to the Deployments tab
- Find the deployment you want to rollback to
- Click Rollback
- Confirm the rollback
Rolling back will replace your current deployment with the selected one. Make sure you want to revert to that version.
Logs
Access application and build logs:
- Real-time log streaming
- Search and filter logs
- Download logs for debugging
Deleting a Project
Deleting a project is permanent and cannot be undone. This will stop your application and remove all deployment history.
To delete a project:
- Open the project
- Click the menu button
- Select Delete Project
- Confirm the deletion