Creating Projects¶
Projects are the core unit in GoForge. Each project represents an application that you want to build and deploy from a Git repository.
Creating a Project¶
- Navigate to Projects in the sidebar
- Click New Project
- Fill in the project details:
- Name -- A descriptive name for your project
- Repository URL -- The Git repository URL
- Git Source -- Optional linked Git provider
- Default Branch -- Branch to deploy from (defaults to
main) - Dockerfile Path -- Path to Dockerfile (defaults to
Dockerfile) - Build Context -- Docker build context directory (defaults to
.)
Connecting a Git Source¶
After creating a project, connect it to a Git repository:
- Go to the project's Settings > Git Source
- Choose your provider (GitHub, GitLab, or Gitea)
- Authenticate with the provider
- Select the repository and branch
Supported Providers¶
| Provider | Authentication | Features |
|---|---|---|
| GitHub | OAuth token | Repos, branches, tags, file browser, webhooks |
| GitLab | Personal access token | Repos, branches, tags, webhooks |
| Gitea | Personal access token | Repos, branches, tags, webhooks |
Environments¶
Each project starts with a default environment. Environments allow you to manage different configurations (e.g., staging vs. production).
Managing Environments¶
- Go to the project page
- Click the Environments tab
- Create or select an environment
- Configure environment variables specific to that environment
Environment Variables¶
Set configuration values for your application:
- Navigate to the environment's Variables tab
- Add key-value pairs
- Toggle Secret for sensitive values (passwords, API keys)
- Click Save
Secret variables are encrypted at rest using AES-256-GCM.
Bulk import
You can import environment variables from a .env file format:
Project Settings¶
| Setting | Description |
|---|---|
| Name | Display name for the project |
| Description | Optional project description |
| Repository URL | Git repository URL |
| Default Branch | Git branch to deploy from (default: main) |
| Dockerfile Path | Path to Dockerfile (default: Dockerfile) |
| Build Context | Docker build context directory (default: .) |
| Auto Deploy | Automatically deploy on git push |
| Custom Domain | Custom domain for the project |
Port and Domain
Port and Domain are configured at the Environment level, not the project level. Each environment can have its own domain and port settings, allowing different configurations for staging vs. production.
Deleting a Project¶
Deleting a project will:
- Stop and remove all running containers
- Delete all deployments and logs
- Remove all environments and variables
- Delete the git source configuration
- Remove the project record
Warning
Project deletion is permanent and cannot be undone. All deployment history and container data will be lost.