EN
Log in Create an account

Gitea: What is it? Your own Git server on Saplo

Another developer on the team means another line item on the invoice for GitHub or GitLab organization. Gitea is an open-source Git server with a code browser, pull requests, issues, and wiki, which you set up on your own Box. You get unlimited private and public repositories without a monthly fee for every additional account.

Grzegorz Kalmus ·

Gitea is a free, lightweight platform for hosting Git repositories on your own server, complete with pull requests, issues, and a wiki. GitHub Team charges for each additional account in an organization, GitLab Premium does the same, and an agency serving multiple clients ends up paying for the same repository multiple times because each client wants their own organization. Gitea is an open-source Git server that you set up on your own Box. It provides you with a code browser, pull requests, issues, and a wiki for every repository, and there's no charge for the number of users or repositories. Below, we'll guide you step-by-step on how to set up Gitea on Saplo.

Why Gitea Instead of GitHub or GitLab

Storing code in someone else's cloud makes sense as long as the team is small, but it grows with the number of accounts:

  • GitHub Team and GitLab Premium charge a monthly fee per user in the organization, so an additional developer or agency client means an extra item on the invoice, even if they use the system only once a week.
  • Private client repositories stored in a third-party cloud mean data outside your control, which can be an issue with non-disclosure agreements.
  • An agency handling multiple clients sets up a separate organization for each, and each organization has its own seat counter.

Gitea runs as a single Docker container on your Box, so you can create unlimited repositories, user accounts are added manually by an administrator, and the total cost is just the cost of the Box itself, regardless of whether your team has two or twenty people.

Gitea vs. GitHub and GitLab

All three provide a code browser, pull requests, and issues. The difference lies in where the data is stored and how much it costs with each additional account:

  • GitHub has the largest community and the most integrations, but private organizations pay for each account, and client code is stored on Microsoft's servers.
  • GitLab adds built-in CI/CD, at the cost of even greater resource consumption if you host it yourself. The Premium plan with full features also charges per user.
  • Gitea is lighter than both, starts as a single container instead of an entire stack of microservices, and you can create unlimited repositories and accounts on your own Box.

If a team or agency doesn't need built-in CI/CD or a huge community of public projects, but rather a place for client code under full control, Gitea is the best fit.

Requirements

To set up Gitea on Saplo, you need:

  • A Box with Docker running (the engine automatically enables it during installation from the catalog; container nesting is required, which Saplo has by default).
  • At least 512 MB of free RAM on the Box and 5 GB of disk space, meaning a Box S plan is sufficient.
  • A domain or subdomain *.saploapp.pl included with every plan, under which the Gitea panel will be accessible.
  • You do NOT manually set up a separate database - the engine automatically creates a MySQL database and connects it to the container, just like with WordPress or Ghost.

Step-by-step installation

  1. In the Saplo panel, go to App catalog and select Gitea ("Business" category).
  2. Choose a Box with at least 512 MB of free RAM, where the Git server will be installed, and the Domain or subdomain under which the panel will operate.
  3. Confirm the installation. The engine deploys a container from the official gitea/gitea image, sets up a MySQL database, skips the web installation wizard, and immediately creates an administrator account with a random password, connected to nginx, which serves the panel under the specified Domain with free SSL.
  4. After docker compose up, the engine waits for Gitea to complete the database schema Migration before attempting to create the administrator Account, and checks if the container is actually running before considering the installation complete.
  5. Administrator login details (login, password) are saved to the GITEA-SETUP.txt file in the application directory.

First configuration

  1. Go to your domain address, for example kod.saploapp.pl, and log in with username admin and the password from the GITEA-SETUP.txt file.
  2. Change your password immediately after the first login (account icon in the top right corner, Settings, Account).
  3. Public registration is disabled - you add new users manually in Site Administration, Users, Create User Account, just like in Ghost or Listmonk, because this is a private team tool, not a public service.
  4. Create your first repository (New Repository), clone it at the domain address via HTTPS, and push your first commit - the built-in SSH server is disabled, cloning and pushing only work via HTTPS.
  5. For client repositories, you can create a separate organization (Create Organization) and add only those users who should have access to it.

Gitea on Saplo vs. GitHub Team and GitLab Premium

GitHub Team GitLab Premium Gitea on Saplo
Additional user fee yes yes no
Private repositories limit none none none
Where is the code hosted? GitHub's servers GitLab's servers On your Box
Built-in CI/CD GitHub Actions separately paid after limit yes, included in plan price no, separate runner needed
Price from $4 per user per month from $29 per user per month the cost of the Box itself

FAQ

Can I clone repositories via SSH? No, access to Gitea on Saplo is only via HTTPS. The built-in SSH server is disabled because Saplo does not expose client application port 22 externally.

Can anyone create an account independently? No, public registration is disabled. New accounts are manually created by the administrator in the Site Administration panel.

Does Gitea have built-in CI/CD like GitLab? Not in this installation. Gitea focuses on repositories, pull requests, issues, and wikis. For build automation, you need a separate runner or an external tool.

Is it possible to migrate existing repositories from GitHub or GitLab? Yes, Gitea has a built-in repository importer from a URL. Just provide the link to the source repository and access credentials if it's private.

If your team or agency is currently paying for additional accounts on GitHub or GitLab and wants full control over client code, contact us. We'll help you choose the right Box for your team.

  • #DevOps
  • #Git
  • #Gitea
  • #Guide