Gitea Repositories
Host Git repositories directly on TeamIDE servers for your workspace
Overview
TeamIDE includes a built-in Git server powered by Gitea, available at
git.teamide.dev. This lets you create and manage
repositories hosted on TeamIDE infrastructure alongside your
existing GitHub and GitLab repos.
Gitea repos are useful for:
- Internal documentation - Keep docs in version control without cluttering your main codebase
- Shared notes and configs - Workspace-wide files that don’t belong in any single repo
- Submodules - Add Gitea repos as submodules to your GitHub repos for modular project structure
- Private workspace assets - Store files that should only be accessible to workspace members
Your Gitea account is created automatically when you sign in to TeamIDE with GitHub - no extra setup required.
Creating a Gitea Repository
Requires Admin or Owner role in the workspace.
- Open the Workspace module
- In the Linked Repositories panel, click the Gitea Repo button
- Fill in the creation dialog:
| Field | Required | Description |
|---|---|---|
| Repository name | Yes | Alphanumeric, hyphens, dots, and underscores (e.g.,
docs, shared-notes) |
| Private | No | Defaults to private. Private repos are only accessible to
workspace members. Public repos are visible at
git.teamide.dev |
| Companion GitHub repo | No | Link an existing GitHub repo (e.g., owner/repo)
for submodule use |
- Click Create
The new repo appears in the Linked Repositories list with a Gitea provider icon and a visibility badge (grey for private, green for public).
Gitea Repos in the Repository List
Gitea repositories appear alongside GitHub and GitLab repos in the Linked Repositories panel. Each repo shows:
- Provider icon - Distinguishes Gitea, GitHub, and GitLab repos
- Repository name - The short name of the repo
- Full name - The org/repo path as a caption
- Visibility badge - Private (grey) or Public (green), shown only for Gitea repos
Click any repo to open its dashboard with tabs for Overview, Subrepos, Hosting, Database, and Settings.
Submodule Workflow
Gitea repos integrate tightly with Git submodules, making it easy to compose your project from multiple repositories.
Adding a Gitea Repo as a Submodule
From any repo’s Subrepos tab in the workspace dashboard:
- Click Add Submodule
- In the dialog, you’ll see a quick-pick list of Gitea repos in the workspace - click one to auto-fill the URL and path
- Or enter a custom URL manually (e.g.,
https://git.teamide.dev/org/repo.git) - Adjust the path if needed
- Click Add Submodule
The Gitea repo is added as a Git submodule to your project.
Commit and push the .gitmodules file and submodule
reference to save the link.
Creating a New Submodule
You can create a new Gitea repo and add it as a submodule in one step:
- Right-click a repo in the workspace navigation
- Select New TeamIDE Submodule
- Enter a name and set visibility
- Click Create & Add
A progress bar shows the three stages: 1. Creating the repo on TeamIDE servers 2. Adding it as a submodule to the target repo 3. Refreshing workspace data
Managing Submodules
The Subrepos tab shows all submodules with status indicators:
| Badge | Status | Meaning |
|---|---|---|
| Green | Clean | Up to date, no changes |
| Orange | Dirty | Has uncommitted changes |
| Blue | Ahead | Has commits not pushed |
| Purple | Behind | Remote has newer commits |
| Red | Diverged | Both ahead and behind |
| Grey | Uninitialized | Not yet cloned |
Each submodule has individual Fetch, Pull, and Push buttons. Use Fetch All and Pull All for bulk operations across all submodules.
If submodules are uninitialized, click Initialize All
Submodules to run
git submodule update --init --recursive.
Collaborator Access
Workspace members are automatically added as collaborators to Gitea repos in the workspace.
Automatic Sync
- Member joins workspace - They are automatically added to all Gitea organizations and repos in the workspace
- Member leaves workspace - They are automatically removed from all Gitea organizations and repos
Excluding Members from Specific Repos
Admins and owners can exclude specific members from individual Gitea repos:
- Open the repo settings in the workspace dashboard
- Exclude users who should not have access to that repo
- Excluded members can be re-included at any time
This is useful when a workspace has multiple Gitea repos but not all members need access to every repo.
Visibility Settings
| Setting | Access |
|---|---|
| Private (default) | Only workspace members with Gitea accounts can clone and push |
| Public | Anyone can view the repo at git.teamide.dev.
Only collaborators can push |
You can change visibility after creation through the repo update settings.
How It Works
- Automatic account creation - Your Gitea account is provisioned when you sign in to TeamIDE via GitHub. No separate registration needed.
- Workspace organizations - Each workspace maps to a Gitea organization. Repos are created under this org.
- Fire-and-forget provisioning - Gitea account creation runs in the background. If the Gitea server is temporarily unavailable, your login is not affected.
Tips
When to Use Gitea Repos vs GitHub Repos
| Use Case | Recommended |
|---|---|
| Open source code | GitHub |
| Code with CI/CD pipelines | GitHub |
| Internal workspace documentation | Gitea |
| Shared configuration files | Gitea |
| Assets that don’t need GitHub features | Gitea |
| Repos that should stay on TeamIDE infrastructure | Gitea |
Submodule Best Practices
- Use Gitea repos as submodules for content that should be version-controlled but separate from your main codebase
- The “companion GitHub repo” field helps track which GitHub repo a Gitea submodule belongs to
- Commit submodule references in the parent repo after making changes in the submodule
Related
- Workspace Module - Workspace management and team collaboration
- Git Integration - Clone, stage, commit, push, submodule status
- Authentication - GitHub account setup
Changelog
| Date | Changes |
|---|---|
| 2026-02-15 | Initial documentation |