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.

  1. Open the Workspace module
  2. In the Linked Repositories panel, click the Gitea Repo button
  3. 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
  1. 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:

  1. Click Add Submodule
  2. 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
  3. Or enter a custom URL manually (e.g., https://git.teamide.dev/org/repo.git)
  4. Adjust the path if needed
  5. 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:

  1. Right-click a repo in the workspace navigation
  2. Select New TeamIDE Submodule
  3. Enter a name and set visibility
  4. 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:

  1. Open the repo settings in the workspace dashboard
  2. Exclude users who should not have access to that repo
  3. 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


Changelog

Date Changes
2026-02-15 Initial documentation