All technical content published by GitLab lives in the documentation, including:
[GitLab](https://about.gitlab.com/) is a Git-based fully featured platform for software development.
-**General Documentation**
-[User docs](#user-documentation): general documentation dedicated to regular users of GitLab
-[Admin docs](#administrator-documentation): general documentation dedicated to administrators of GitLab instances
-[Contributor docs](#contributor-documentation): general documentation on how to develop and contribute to GitLab
-[GitLab University](university/README.md): guides to learn Git and GitLab
through courses and videos.
**[GitLab Enterprise Edition (EE)](https://about.gitlab.com/gitlab-ee/)** is an opencore product, self-hosted, available under distinct [subscriptions](https://about.gitlab.com/products/).
## User documentation
GitLab EE contains all the features available in [GitLab Community Edition (CE)](https://docs.gitlab.com/ce/), plus premium features available in each version: **Enterprise Edition Starter** (**EES**) and **Enterprise Edition Premium** (**EEP**). Everything available in **EES** is also available in **EEP**.
-[Account Security](user/profile/account/two_factor_authentication.md) Securing your account via two-factor authentication, etc.
-[API](api/README.md) Automate GitLab via a simple and powerful API.
-[CI/CD](ci/README.md) GitLab Continuous Integration (CI) and Continuous Delivery (CD) getting started, `.gitlab-ci.yml` options, and examples.
-[Container Registry](user/project/container_registry.md) Learn how to use GitLab Container Registry.
-[Discussions](user/discussions/index.md) Threads, comments, and resolvable discussions in issues, commits, and merge requests.
-[Git Attributes](user/project/git_attributes.md) Managing Git attributes using a `.gitattributes` file.
-[Git cheatsheet](https://gitlab.com/gitlab-com/marketing/raw/master/design/print/git-cheatsheet/print-pdf/git-cheatsheet.pdf) Download a PDF describing the most used Git operations.
-[GitLab as OAuth2 authentication service provider](integration/oauth_provider.md). It allows you to login to other applications from GitLab.
-[GitLab basics](gitlab-basics/README.md) Find step by step how to start working on your commandline and on GitLab.
-[GitLab Pages](user/project/pages/index.md) Using GitLab Pages.
-[GitLab Basics](gitlab-basics/README.md): Start working on your command line and on GitLab.
-[GitLab Workflow](workflow/README.md): Enhance your workflow with the best of GitLab Workflow.
- See also [GitLab Workflow - an overview](https://about.gitlab.com/2016/10/25/gitlab-workflow-an-overview/).
-[GitLab Markdown](user/markdown.md): GitLab's advanced formatting system (GitLab Flavored Markdown).
-[GitLab Slash Commands](user/project/slash_commands.md): Textual shortcuts for common actions on issues or merge requests that are usually done by clicking buttons or dropdowns in GitLab's UI
### User account
-[Authentication](topics/authentication/index.md): Account security with two-factor authentication, setup your ssh keys and deploy keys for secure access to your projects.
-[Profile settings](profile/README.md): Manage your profile settings, two factor authentication and more.
-[User permissions](user/permissions.md): Learn what each role in a project (external/guest/reporter/developer/master/owner) can do.
### Projects and groups
-[Create a project](gitlab-basics/create-project.md)
-[Fork a project](gitlab-basics/fork-project.md)
-[Importing and exporting projects between instances](user/project/settings/import_export.md).
-[Importing to GitLab](workflow/importing/README.md) Import your projects from GitHub, Bitbucket, GitLab.com, FogBugz and SVN into GitLab.
-[Merge Request discussion resolution](user/discussions/index.md#moving-a-single-discussion-to-a-new-issue): Resolve discussions, move discussions in a merge request to an issue, only allow merge requests to be merged if all discussions are resolved.
-**(EES/EEP)**[Merge Request approval](user/project/merge_requests/merge_request_approvals.md): Make sure every merge request is approved by one or more people before getting merged.
-[Milestones](user/project/milestones/index.md): Organize issues and merge requests into a cohesive group, optionally setting a due date.
-**(EES/EEP)**[Burndown Charts](user/project/milestones/index.md#burndown-charts): Watch your project's progress throughout a specific milestone.
-[Todos](workflow/todos.md): A chronological list of to-dos that are waiting for your input, all in a simple dashboard.
### Git and GitLab
-[Git](topics/git/index.md): Getting started with Git, branching strategies, Git LFS, advanced use.
-[Git cheatsheet](https://gitlab.com/gitlab-com/marketing/raw/master/design/print/git-cheatsheet/print-pdf/git-cheatsheet.pdf): Download a PDF describing the most used Git operations.
-[GitLab Flow](workflow/gitlab_flow.md): explore the best of Git with the GitLab Flow strategy.
### Migrate and import your projects from other platforms
-[Importing to GitLab](workflow/importing/README.md): Import your projects from GitHub, Bitbucket, GitLab.com, FogBugz and SVN into GitLab.
-[Migrating from SVN](workflow/importing/migrating_from_svn.md): Convert a SVN repository to Git and GitLab.
## GitLab's superpowers
Take a step ahead and dive into GitLab's advanced features.
-**(EEP)**[GitLab Service Desk](user/project/service_desk.md): A simple way to allow people to create issues in your GitLab instance without needing their own user account.
-**(EEP)**[File Locking](user/project/file_lock.md): Lock a file to avoid merge conflicts.
-**(EES/EEP)**[Contribution Analytics](analytics/contribution_analytics.md): See detailed statistics of projects' contributors.
-[GitLab Pages](user/project/pages/index.md): Build, test, and deploy your static website with GitLab Pages.
-[Snippets](user/snippets.md): Snippets allow you to create little bits of code.
-[Wikis](workflow/project_features.md#wiki): Enhance your repository documentation with built-in wikis.
### Continuous Integration, Delivery, and Deployment
-[GitLab CI](ci/README.md): Explore the features and capabilities of Continuous Integration, Continuous Delivery, and Continuous Deployment with GitLab.
-[Auto Deploy](ci/autodeploy/index.md): Configure GitLab CI for the deployment of your application.
-[Review Apps](ci/review_apps/index.md): Preview changes to your app right from a merge request.
-**(EEP)**[Deploy Boards](user/project/deploy_boards.md): View of the current health and status of each CI environment running on Kubernetes, displaying the status of the pods in the deployment.
-**(EEP)**[Canary Deployments](user/project/deploy_boards.md#canary-deployments): A popular CI strategy, where a small portion of the fleet is updated to the new version first.
-[GitLab Cycle Analytics](user/project/cycle_analytics.md): Cycle Analytics measures the time it takes to go from an [idea to production](https://about.gitlab.com/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/#from-idea-to-production-with-gitlab) for each project you have.
-[GitLab Container Registry](user/project/container_registry.md): Learn how to use GitLab's built-in Container Registry.
### Automation
-[API](api/README.md): Automate GitLab via a simple and powerful API.
-[GitLab Webhooks](user/project/integrations/webhooks.md): Let GitLab notify you when new code has been pushed to your project.
### Integrations
-[Project Services](user/project/integrations/project_services.md): Integrate a project with external services, such as CI and chat.
-[GitLab Integrations](integration/README.md): Integrate with multiple third-party services with GitLab to allow external issue trackers and external authentication.
----
## Administrator documentation
Learn how to administer your GitLab instance. Regular users don't
have access to GitLab administration tools and settings.
### Install, update, upgrade, migrate
-[Install](install/README.md): Requirements, directory structures and installation from source.
-[Mattermost](https://docs.gitlab.com/omnibus/gitlab-mattermost/): Integrate [Mattermost](https://about.mattermost.com/) with your GitLab installation.
-[Migrate GitLab CI to CE/EE](migrate_ci_to_ce/README.md): If you have an old GitLab installation (older than 8.0), follow this guide to migrate your existing GitLab CI data to GitLab CE/EE.
-[Restart GitLab](administration/restart_gitlab.md): Learn how to restart GitLab and its components.
-[Update](update/README.md): Update guides to upgrade your installation.
-[Upload your GitLab License](user/admin_area/license.md) Upload the license you purchased for GitLab Enterprise Edition to unlock its features.
-[Audit Events](administration/audit_events.md) Check how user access changed in projects and groups.
-[Access restrictions](user/admin_area/settings/visibility_and_access_controls.md#enabled-git-access-protocols) Define which Git access protocols can be used to talk to GitLab
-[Authentication/Authorization](administration/auth/README.md) Configure external authentication with LDAP, SAML, CAS and additional Omniauth providers.
-[Changing the appearance of the login page](customization/branded_login_page.md) Make the login page branded for your GitLab instance.
-[Email](tools/email.md) Email GitLab users from GitLab
-[Push Rules](push_rules/push_rules.md) Advanced push rules for your project.
-[Help message](customization/help_message.md) Set information about administrators of your GitLab instance.
-[Changing the appearance of the login page](customization/branded_login_page.md) Make the login page branded for your GitLab instance.
-[Email](tools/email.md) Email GitLab users from GitLab
-[Push Rules](push_rules/push_rules.md) Advanced push rules for your project.
-[Help message](customization/help_message.md) Set information about administrators of your GitLab instance.
-[Container Registry](administration/container_registry.md) Configure Docker Registry with GitLab.
-[Custom Git hooks](administration/custom_hooks.md) Custom Git hooks (on the filesystem) for when webhooks aren't enough.
-[Debugging Tips](administration/troubleshooting/debug.md) Tips to debug problems when things go wrong
-[Environment Variables](administration/environment_variables.md) to configure GitLab.
-[GitLab performance monitoring with InfluxDB](administration/monitoring/performance/introduction.md) Configure GitLab and InfluxDB for measuring performance metrics.
-[GitLab performance monitoring with Prometheus](administration/monitoring/prometheus/index.md) Configure GitLab and Prometheus for measuring performance metrics.
-[Header logo](customization/branded_page_and_email_header.md) Change the logo on the overall page and email header.
-[High Availability](administration/high_availability/README.md) Configure multiple servers for scaling or high availability.
-[Housekeeping](administration/housekeeping.md) Keep your Git repository tidy and fast.
-[Install](install/README.md) Requirements, directory structures and installation from source.
-[Integration](integration/README.md) How to integrate with systems such as JIRA, Redmine, Twitter.
-[Issue closing pattern](administration/issue_closing_pattern.md) Customize how to close an issue from commit messages.
-[Koding](administration/integration/koding.md) Set up Koding to use with GitLab.
-[Libravatar](customization/libravatar.md) Use Libravatar instead of Gravatar for user avatars.
-[Log system](administration/logs.md) Log system.
-[Migrate GitLab CI to CE/EE](migrate_ci_to_ce/README.md) Follow this guide to migrate your existing GitLab CI data to GitLab CE/EE.
-[Monitoring uptime](user/admin_area/monitoring/health_check.md) Check the server status using the health check endpoint.
-[Operations](administration/operations.md) Keeping GitLab up and running.
-[Polling](administration/polling.md) Configure how often the GitLab UI polls for updates
-[Raketasks](raketasks/README.md) Backups, maintenance, automatic webhook setup and the importing of projects.
-[Reply by email](administration/reply_by_email.md) Allow users to comment on issues and merge requests by replying to notification emails.
-[GitLab GEO](gitlab-geo/README.md) Configure GitLab GEO, a secondary read-only GitLab instance.
-[Repository restrictions](user/admin_area/settings/account_and_limit_settings.md#repository-size-limit) Define size restrictions for your repositories to limit the space they occupy in your storage device. Includes LFS objects.
-[Auditor users](administration/auditor_users.md) Create auditor users, with read-only access to the entire system.
-[User cohorts](user/admin_area/user_cohorts.md) View user activity over time.
### User permissions
-[Access restrictions](user/admin_area/settings/visibility_and_access_controls.md#enabled-git-access-protocols): Define which Git access protocols can be used to talk to GitLab
-[Authentication/Authorization](topics/authentication/index.md#gitlab-administrators): Enforce 2FA, configure external authentication with LDAP, SAML, CAS and additional Omniauth providers.
-[High Availability](administration/high_availability/README.md): Configure multiple servers for scaling or high availability.
-[User cohorts](user/admin_area/user_cohorts.md): View user activity over time.
-[Web terminals](administration/integration/terminal.md): Provide terminal access to environments from within GitLab.
-**(EES/EEP)**[Audit logs and events](administration/audit_events.md): View the changes made within the GitLab server.
-**(EES/EEP)**[Elasticsearch](integration/elasticsearch.md): A flexible, scalable and powerful search service to keep GitLab's search fast when dealing with huge amount of data.
-**(EES/EEP)**[Email users](tools/email.md): Email GitLab users from within GitLab.
-**(EES/EEP)**[Limit project size](user/admin_area/settings/account_and_limit_settings.md): Set a hard limit for your repositories' size.
-**(EEP)**[Auditor users](administration/auditor_users.md): Users with read-only access to all projects, groups, and other resources on the GitLab instance.
-**(EEP)**[GitLab GEO](gitlab-geo/README.md): Replicate your GitLab instance to other geographical locations as a read-only fully operational version.
-**(EEP)**[Pivotal Tile](https://about.gitlab.com/2015/11/03/pivotal-cloud-foundry-tile-for-gitlab-ee/): Deploy GitLab as a pre-configured appliance using Ops Manager (BOSH) for Pivotal Cloud Foundry. See also: [Pivotal documentation](https://docs.pivotal.io/partners/gitlab/index.html).
-**(EES/EEP)**[Database load balancing](administration/database_load_balancing.md): Distribute database queries among multiple database servers.
-**(EES/EEP)**[Omnibus support for external MySQL DB](https://docs.gitlab.com/omnibus/settings/database.html#using-a-mysql-database-management-server-enterprise-edition-only): Omnibus package supports configuring an external MySQL database.
-**(EES/EEP)**[Omnibus support for log forwarding](https://docs.gitlab.com/omnibus/settings/logs.html#udp-log-shipping-gitlab-enterprise-edition-only)
- GitLab CI
-[CI admin settings](user/admin_area/settings/continuous_integration.md): Define max artifacts size and expiration.
### Integrations
-[Integrations](integration/README.md): How to integrate with systems such as JIRA, Redmine, Twitter.
-[Koding](administration/integration/koding.md): Set up Koding to use with GitLab.
-[Mattermost](user/project/integrations/mattermost.md): Set up GitLab with Mattermost.
-**(EES/EEP)**[Jenkins](integration/jenkins.md): Set up GitLab with Jenkins.
### Monitoring
-[GitLab performance monitoring with InfluxDB](administration/monitoring/performance/introduction.md): Configure GitLab and InfluxDB for measuring performance metrics.
-[GitLab performance monitoring with Prometheus](administration/monitoring/prometheus/index.md): Configure GitLab and Prometheus for measuring performance metrics.
-[Monitoring uptime](user/admin_area/monitoring/health_check.md): Check the server status using the health check endpoint.
### Performance
-[Housekeeping](administration/housekeeping.md): Keep your Git repository tidy and fast.
-[Operations](administration/operations.md): Keeping GitLab up and running.
-[Polling](administration/polling.md): Configure how often the GitLab UI polls for updates
-[Request Profiling](administration/monitoring/performance/request_profiling.md): Get a detailed profile on slow requests.
### Customization
-[Adjust your instance's timezone](workflow/timezone.md): Customize the default time zone of GitLab.
-[Environment variables](administration/environment_variables.md): Supported environment variables that can be used to override their defaults values in order to configure GitLab.
-[Header logo](customization/branded_page_and_email_header.md): Change the logo on the overall page and email header.
-[Issue closing pattern](administration/issue_closing_pattern.md): Customize how to close an issue from commit messages.
-[Libravatar](customization/libravatar.md): Use Libravatar instead of Gravatar for user avatars.
-[Welcome message](customization/welcome_message.md): Add a custom welcome message to the sign-in page.
### Admin tools
-[Raketasks](raketasks/README.md): Backups, maintenance, automatic webhook setup and the importing of projects.
-[Backup and restore](raketasks/backup_restore.md): Backup and restore your GitLab instance.
-[Reply by email](administration/reply_by_email.md): Allow users to comment on issues and merge requests by replying to notification emails.
-[Git-Annex to Git-LFS migration guide](https://docs.gitlab.com/ee/workflow/lfs/migrate_from_git_annex_to_git_lfs.html)
-[Git-Annex to Git-LFS migration guide](../../workflow/lfs/migrate_from_git_annex_to_git_lfs.md)
-**Articles:**
-[Getting Started with Git LFS](https://about.gitlab.com/2017/01/30/getting-started-with-git-lfs-tutorial/)
-[Towards a production quality open source Git LFS server](https://about.gitlab.com/2015/08/13/towards-a-production-quality-open-source-git-lfs-server/)