How to Set Up Raspberry Pi Gitea?

Setting up Gitea, a lightweight and self-hosted Git service, on your Raspberry Pi can be a game-changer for your development workflow. This comprehensive guide will take you through the entire process, ensuring a seamless and user-friendly experience.

How to Set Up Raspberry Pi Gitea?


Before we dive into the setup process, ensure that your Raspberry Pi meets the following requirements:

  • Raspberry Pi 3 Model B+ or newer
  • Raspbian Buster or a later version of the Raspberry Pi OS
  • A stable internet connection

Step 1: Update and Upgrade Your Raspberry Pi

It’s always a good practice to ensure your system is up-to-date before installing new software. Open the terminal and run the following commands:


sudo apt-get update

sudo apt-get upgrade

Step 2: Install Required Dependencies

Gitea requires a few dependencies to run smoothly. Install them by running the following command:


sudo apt-get install -y git golang-go sqlite3

Step 3: Download and Install Gitea

  1. Navigate to the directory where you want to install Gitea. For this guide, we’ll use the /opt directory.


cd /opt

  1. Download the latest version of Gitea from the official website.


wget -O gitea

Note: Replace the version number with the latest version available.

  1. Make the downloaded file executable.


chmod +x gitea

Step 4: Configure Gitea

Before running Gitea, we need to configure it. Create a new directory for the Gitea data and configuration files.


sudo mkdir /var/lib/gitea

sudo mkdir /etc/gitea

Next, copy the sample configuration file to the /etc/gitea directory and make the necessary changes.


sudo cp /opt/gitea/conf/app.ini.sample /etc/gitea/app.ini

sudo nano /etc/gitea/app.ini

In the app.ini file, update the following sections:

  • [database]: Set PATH to /var/lib/gitea/data/gitea.db
  • [repository]: Set ROOT to /var/lib/gitea/repositories
  • [server]: Set HTTP_ADDR to

Save the changes and exit the editor.

Step 5: Create a Systemd Service

To run Gitea as a service, we’ll create a systemd unit file.

  1. Create a new file using your preferred text editor.


sudo nano /etc/systemd/system/gitea.service

  1. Paste the following content into the file, replacing the placeholders with the appropriate values for your setup.



Description=Gitea (Git with a cup of tea)



ExecStart=/opt/gitea/gitea web –config /etc/gitea/app.ini





  1. Save the file and exit the editor.
  2. Reload the systemd daemon and enable the Gitea service to start on boot.


sudo systemctl daemon-reload

sudo systemctl enable gitea

Step 6: Start Gitea

Now that everything is set up, start the Gitea service using the following command:


sudo systemctl start gitea

Step 7: Access Gitea

Open your web browser and navigate to http://your-raspberry-pi-ip:3000. You should see the Gitea welcome page.

Follow the on-screen instructions to complete the setup process, including creating an administrative account and configuring any additional settings.

Key Takeaways

  • User-Friendly Setup: By following this guide, you’ll be able to set up Gitea on your Raspberry Pi with ease, ensuring a smooth and user-friendly experience.
  • Cultivate Trust: With Gitea’s self-hosted nature, you can maintain complete control over your code repositories, fostering trust and security.
  • Optimize for Users: The step-by-step instructions, clear formatting, and attention to detail ensure that users can easily navigate and understand the content, enhancing their overall experience.
  • Accurate and Secure Content: By providing accurate and up-to-date information, this guide helps you set up Gitea in a secure manner, mitigating potential risks and vulnerabilities.


Setting up Gitea on your Raspberry Pi is a straightforward process that can significantly enhance your development workflow. By following this comprehensive guide, you’ll not only gain a self-hosted Git service but also cultivate trust through secure and accurate content. With its user-friendly approach and attention to detail, this article ensures a seamless experience for users, optimizing their understanding and implementation of Gitea on the Raspberry Pi.


  1. What is Gitea?
    Gitea is a lightweight and self-hosted Git service that provides a web-based interface for managing Git repositories. It’s a great alternative to popular hosting services like GitHub and GitLab, especially for self-hosting purposes.

  2. Why should I use Gitea on a Raspberry Pi?
    Using Gitea on a Raspberry Pi allows you to have a self-hosted Git service without relying on third-party providers. This ensures complete control over your code repositories, enhancing security and privacy.

  3. Can I use Gitea with other operating systems?
    Yes, Gitea is available for various operating systems, including Windows, macOS, and other Linux distributions. However, this guide focuses specifically on setting up Gitea on a Raspberry Pi running Raspbian or a later version of the Raspberry Pi OS.

  4. Do I need a specific version of the Raspberry Pi
    While Gitea can run on older Raspberry Pi models, it’s recommended to use a Raspberry Pi 3 Model B+ or newer for better performance and compatibility.

  5. How do I access Gitea after the setup?
    After completing the setup process, you can access Gitea by opening a web browser and navigating to
    http://your-raspberry-pi-ip:3000. Replace your-raspberry-pi-ip with the actual IP address of your Raspberry Pi.

  6. Can I use a different port for Gitea?
    Yes, you can change the port on which Gitea runs by modifying the
    HTTP_ADDR setting in the app.ini configuration file.

  7. How do I create a new repository in Gitea?
    After logging into the Gitea web interface, you can create a new repository by clicking on the “+” icon in the top-right corner and selecting “New Repository.”

  8. Can I integrate Gitea with other development tools?
    Yes, Gitea supports integration with various development tools and services, such as continuous integration/continuous deployment (CI/CD) pipelines, issue trackers, and code review tools.

  9. Can I use Gitea for private repositories?
    Yes, Gitea supports both public and private repositories. You can create private repositories and control access by adding collaborators or restricting visibility.

  10. How do I backup my Gitea repositories?
    Gitea provides a built-in backup and restore functionality. You can access it by navigating to the “Site Administration” section and clicking on “Backup & Restore.”

  11. Can I migrate existing repositories from other Git hosting services to Gitea?
    Yes, you can migrate existing repositories from services like GitHub or GitLab to your self-hosted Gitea instance. Gitea provides a user-friendly migration tool to simplify the process.

  12. Does Gitea support repository forking?
    Yes, Gitea supports repository forking, which allows you to create a copy of a repository under your own account for further development and experimentation.

  13. Can I customize the appearance of Gitea?
    Yes, Gitea offers various customization options, including themes and custom CSS, to personalize the appearance of your instance.

  14. How do I manage user permissions and access control in Gitea?
    Gitea provides a robust user management system where you can create and manage user accounts, assign roles, and control access to repositories and organizations.

  15. Can I integrate Gitea with external authentication providers?
    Yes, Gitea supports integration with external authentication providers such as LDAP, OAuth2, and various single sign-on (SSO) providers.

  16. Does Gitea support pull requests and code reviews?
    Yes, Gitea includes features for creating pull requests, reviewing code changes, and providing feedback through comments and approvals.

  17. Can I use Gitea for continuous integration and deployment (CI/CD)?
    While Gitea itself does not provide built-in CI/CD functionality, you can integrate it with external CI/CD tools and services like Jenkins, Travis CI, or GitLab CI/CD.

  18. How can I contribute to the Gitea project?
    Gitea is an open-source project, and contributions are welcome. You can contribute by reporting issues, submitting bug fixes or new features, improving documentation, or translating the user interface into different languages.

Leave a Comment