--- date: "2016-11-08T16:00:00+02:00" title: "Documentation" slug: "documentation" url: "/en-us/" weight: 10 toc: false draft: false --- # What is Gitea? Gitea is a painless self-hosted Git service. It is similar to GitHub, Bitbucket, and GitLab. Gitea is a fork of [Gogs](http://gogs.io). See the [Gitea Announcement](https://blog.gitea.io/2016/12/welcome-to-gitea/) blog post to read about the justification for a fork. ## Purpose The goal of this project is to provide the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done platform-independently across **all platforms** which Go supports, including Linux, macOS, and Windows, on x86, amd64, ARM and PowerPC architectures. You can try it out using [the online demo](https://try.gitea.io/). ## Features - User Dashboard - Context switcher (organization or current user) - Activity timeline - Commits - Issues - Pull requests - Repository creation - Searchable repository list - List of organizations - A list of mirror repositories - Issues dashboard - Context switcher (organization or current user) - Filter by - Open - Closed - Your repositories - Assigned issues - Your issues - Repository - Sort by - Oldest - Last updated - Number of comments - Pull request dashboard - Same as issue dashboard - Repository types - Mirror - Normal - Migrated - Notifications (email and web) - Read - Unread - Pin - Explore page - Users - Repos - Organizations - Search - Custom templates - Override public files (logo, css, etc) - CSRF and XSS protection - HTTPS support - Set allowed upload sizes and types - Logging - Configuration - Databases - MySQL (>=5.7) - PostgreSQL (>=10) - SQLite3 - MSSQL (>=2008R2 SP3) - TiDB (MySQL protocol) - Configuration file - [app.ini](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini) - Admin panel - Statistics - Actions - Delete inactive accounts - Delete cached repository archives - Delete repositories records which are missing their files - Run garbage collection on repositories - Rewrite SSH keys - Resync hooks - Recreate repositories which are missing - Server status - Uptime - Memory - Current # of goroutines - And more - User management - Search - Sort - Last login - Authentication source - Maximum repositories - Disable account - Admin permissions - Permission to create Git Hooks - Permission to create organizations - Permission to import repositories - Organization management - People - Teams - Avatar - Hooks - Repository management - See all repository information and manage repositories - Authentication sources - OAuth - PAM - LDAP - SMTP - Configuration viewer - Everything in config file - System notices - When something unexpected happens - Monitoring - Current processes - Cron jobs - Update mirrors - Repository health check - Check repository statistics - Clean up old archives - Environment variables - Command line options - Multi-language support ([21 languages](https://github.com/go-gitea/gitea/tree/main/options/locale)) - [Mermaid](https://mermaidjs.github.io/) Diagram support - Mail service - Notifications - Registration confirmation - Password reset - Reverse proxy support - Includes subpaths - Users - Profile - Name - Username - Email - Website - Join date - Followers and following - Organizations - Repositories - Activity - Starred repositories - Settings - Same as profile and more below - Keep email private - Avatar - Gravatar - Libravatar - Custom - Password - Multiple email addresses - SSH Keys - Connected applications - Two factor authentication - Linked OAuth2 sources - Delete account - Repositories - Clone with SSH/HTTP/HTTPS - Git LFS - Watch, Star, Fork - View watchers, stars, and forks - Code - Branch browser - Web based file upload and creation - Clone urls - Download - ZIP - TAR.GZ - Web based editor - Markdown editor - Plain text editor - Syntax highlighting - Diff preview - Preview - Choose where to commit to - View file history - Delete file - View raw - Issues - Issue templates - Milestones - Labels - Assign issues - Track time - Reactions - Filter - Open - Closed - Assigned person - Created by you - Mentioning you - Sort - Oldest - Last updated - Number of comments - Search - Comments - Attachments - Pull requests - Same features as issues - Commits - Commit graph - Commits by branch - Search - Search in all branches - View diff - View SHA - View author - Browse files in commit - Releases - Attachments - Title - Content - Delete - Mark as pre-release - Choose branch - Wiki - Import - Markdown editor - Settings - Options - Name - Description - Private/Public - Website - Wiki - Enabled/disabled - Internal/external - Issues - Enabled/disabled - Internal/external - External supports url rewriting for better integration - Enable/disable pull requests - Transfer repository - Delete wiki - Delete repository - Collaboration - Read/write/admin - Branches - Default branch - Branch protection - Webhooks - Git Hooks - Deploy keys - Package Registries - Composer - Conan - Container - Generic - Helm - Maven - NPM - Nuget - PyPI - RubyGems ## System Requirements - A Raspberry Pi 3 is powerful enough to run Gitea for small workloads. - 2 CPU cores and 1GB RAM is typically sufficient for small teams/projects. - Gitea should be run with a dedicated non-root system account on UNIX-type systems. - Note: Gitea manages the `~/.ssh/authorized_keys` file. Running Gitea as a regular user could break that user's ability to log in. - [Git](https://git-scm.com/) version 2.0.0 or later is required. - [Git Large File Storage](https://git-lfs.github.com/) will be available if enabled and if your Git version is >= 2.1.2 - Git commit-graph rendering will be enabled automatically if your Git version is >= 2.18 ## Browser Support - Last 2 versions of Chrome, Firefox, Safari and Edge - Firefox ESR ## Components - Web server framework: [Chi](http://github.com/go-chi/chi) - ORM: [XORM](https://xorm.io) - UI frameworks: - [jQuery](https://jquery.com) - [Fomantic UI](https://fomantic-ui.com) - [Vue2](https://vuejs.org) - and various components (see package.json) - Editors: - [CodeMirror](https://codemirror.net) - [EasyMDE](https://github.com/Ionaru/easy-markdown-editor) - [Monaco Editor](https://microsoft.github.io/monaco-editor) - Database drivers: - [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) - [github.com/lib/pq](https://github.com/lib/pq) - [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) - [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb) ## Software and Service Support - [Drone](https://github.com/drone/drone) (CI)