💻 Self-hosted, full-stack Gitea service designed for use with Traefik https://habd.as/code/high-tea/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Josh Habdas 8c76aa1ada
chore: allow .env.example environment files
2 years ago
.dockerignore chore(develop): create development environment 2 years ago
.gitignore chore: allow .env.example environment files 2 years ago
CHANGELOG.md chore(release): 1.0.0 2 years ago
COPYING initial commit 2 years ago
README.md docs(readme): update badges 2 years ago
docker-compose.dev.yml chore(develop): create development environment 2 years ago
docker-compose.yml chore(develop): create development environment 2 years ago
package-lock.json chore(develop): create development environment 2 years ago
package.json chore(develop): create development environment 2 years ago


High Tea

Self-hosted git server with Docker, Gitea, Postgres and Traefik.

Latest NPM version NPM downloads per month WTFPL licensed

Basic Usage

Start the stack daemonized with docker-compose up -d. View the logs with docker-compose logs. Restart with restart and stop to stop.



  1. Follow the Traefik Let's Encrypt Networking guide.
  2. Copy this repository to the host machine.
  3. Set traefik.frontend.rule in docker-compose.yml for your domain.
  4. Start the stack with docker compose up -d.
  5. Navigate to the host machine in a browser.
  6. Access /install and complete initial configuration.

Initial Configuration

Select PostgreSQL as the database type. Use db as the host and set the user, password and database name using environment variables.

Defaults in docker-compose.yml:


Under General Settings set Site Title, SSH Server Domain and Gitea Base URL. These can be changed later in the Gitea app.ini config file.

Configure the admin user under the Administrator Account Settings then Install Gitea to complete initial configuration.

Using the Dark Theme

To use the dark theme modify app.ini as specified in Customizing the look of Gitea then restart Gitea with docker-compose restart gitea.

Accessing via SSH

Until Traefik supports TCP SSH connections to Gitea are exposed directly from the container to the host on port 2222 using the ports setting in docker-compose.yml. While it's possible to bind from the container directly to port 22 on the host chances are your host already has an SSH daemon running on this port.

To automatically use port 2222 when using git to interact with the remote create a config file in ~/.ssh/ on your client and add Port like:

Host gitea git.example.com
    HostName git.example.com
    Port 2222
    IdentityFile ~/.ssh/gitea_rsa
    User exampleuser

Where git.example.com matches your host domain and someuser matches your Gitea username.

Additional Configuration

See the Gitea Docs for additional configuration options. For support head over to the Gitea Forums.

Migration Tips

Moving off GitHub, GitLab or Bitbucket? If so, the following resources may come in handy during the move:


For development install configure Docker on your machine:

Run docker-compose up to start the app on localhost:80. See Basic Usage for additional commands.


Copyright (C) 2018 Josh Habdas jhabdas@protonmail.com

This work is free. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See the COPYING file for more details.