https://docs.gitlab.com/ee/user/usage_quotas.html#namespace-storage-limit-enforcement-schedule GitLab documentation home Docs * * What's new? * Get free trial GitLab Docs Learn GitLab with tutorials Choose a subscription GitLab SaaS subscriptions Self-managed subscriptions GitLab Dedicated subscriptions Quarterly reconciliation Storage usage quota CI/CD minutes quota Free user limit Activate Enterprise Edition Features available to Starter and Bronze subscribers Install GitLab Requirements PostgreSQL extensions Installation methods Linux packages (Omnibus) Architecture Omnibus packages and images Package information Package defaults Package licensing Package signatures PostgreSQL versions Installation Deprecation policy Supported OSes Manual installation Install JiHu Edition Configure Action Cable Backups Configuration options Custom environment variables Database GitLab Mattermost Grafana High availability roles Logs NGINX Gitaly Cluster Prometheus Puma Raspberry Pi Redis SMTP SSL DNS Image scaling Memory-constrained environments Release process Maintain Troubleshoot Cloud Native Install with Helm Charts Install Required tools Cloud cluster preparation AKS EKS GKE OpenShift Install with Helm Charts Upgrade Release notes 6.0 Release notes 5.0 Release notes 4.0 Release notes 3.0 Release notes 2.0 Release notes 1.0 Backup and Restore Backup Restore Migrate from Omnibus Migrate from the Linux package Migrate to the Linux package Migrate between Helm versions Migrate to MinIO Version mappings Configure Globals GitLab sub-charts Gitaly chart GitLab Exporter chart GitLab Grafana chart GitLab Pages chart GitLab Runner chart GitLab Shell chart KAS chart Migrations chart Praefect chart Sidekiq chart Toolbox chart Webservice chart Minio chart Nginx chart Redis chart Redis HA chart Registry chart Advanced Custom Docker images External database External Gitaly External GitLab Pages External Mattermost External Nginx External object storage External Redis FIPS-compliant images Geo Internal TLS between services Persistent volumes Red Hat UBI-based images Troubleshoot Install with GitLab Operator Install Backup and restore Upgrade GitLab Support for Git over SSH Upgrade the Operator Security context constraints Docker From source Install under a relative URL Troubleshooting Cloud providers guides Azure Google Cloud Platform (GCP) Amazon Web Services (AWS) EKS best practices GitLab SRE for AWS GitLab Cloud Native Hybrid on AWS EKS Manual install on AWS Offline GitLab Offline GitLab installation Reference Architectures Up to 1,000 users Up to 2,000 users Up to 3,000 users Up to 5,000 users Up to 10,000 users Up to 25,000 users Up to 50,000 users Steps after installing Upgrade GitLab Plan an upgrade Upgrade Omnibus instance Convert to Omnibus Convert to Enterprise Edition Package signatures GitLab 15 changes GitLab 14 changes GitLab 13 changes GitLab 12 changes GitLab 11 changes GitLab 10 changes Downgrade Upgrade source instance Patch versions Change from Community Edition to Enterprise Edition Zero-downtime upgrades for multi-node instances Upgrades with downtime for multi-node instances Change from Enterprise Edition to Community Edition Releases and maintenance Deprecations by version Removals by version What's new Install GitLab Runner Install Docker FreeBSD Kubernetes (Helm Chart) Kubernetes (Agent) Kubernetes (Operator) Linux macOS Windows Bleeding edge releases Official Linux packages Old GitLab Runner URLs Configure Advanced config Autoscale config Autoscale on AWS EC2 Autoscale on AWS Fargate Commands Feature flags macOS setup Runner Operator on OpenShift Running behind a proxy Rate limited requests Self-signed certificates System services Speed up job execution Troubleshoot Integrate applications Akismet Arkose Protect Datadog Elasticsearch Elasticsearch troubleshooting Gitpod Jira integrations Configure the Jira integration GitLab for Jira app Jira DVCS connector Jira Development Panel Create Jira Server user Create Jira Cloud API token Jira integration issue management Kroki diagrams Mailgun PlantUML Project integration management Project integrations Asana Bamboo CI Discord Emails on push GitHub Google Chat Harbor Irker Jenkins Mattermost notifications Mattermost slash commands Microsoft Teams Mock CI Pipeline status emails Pivotal Tracker Prometheus ServiceNow Slack notifications Slack slash commands Slash commands Slack application Unify Circuit Webex Teams Webhooks Webhook events External issue tracker Bugzilla Custom issue tracker IBM Engineering Workflow Management Redmine YouTrack ZenTao Gmail actions buttons reCAPTCHA Security partners Sourcegraph Trello Visual Studio Code extension Administer GitLab Get started Configure your installation Authentication and authorization AliCloud Atlassian Crowd Atlassian Auth0 Authentiq AWS Cognito Azure Bitbucket Cloud CAS DingTalk Facebook Generic OAuth2 GitHub GitLab.com Google JWT Kerberos LDAP LDAP synchronization LDAP (Google Secure) LDAP troubleshooting OAuth service provider OmniAuth OpenID Connect OmniAuth OpenID Connect identity Salesforce SAML Smartcard Twitter Vault CI/CD Configuration and Admin Area Admin Area settings Account and limit settings Appearance Authentication Batched background migrations CI/CD Application cache interval Custom instance-level project templates Deprecated API rate limits Diff limits Email External authorization External pipeline validation Enable features with feature flags Available GitLab feature flags Federated Learning of Cohorts (FLoC) Geo sites Git abuse rate limit Git LFS administration GitLab Pages GitLab Pages for source installations Health Check Incident management rate limits Instance template repository Job artifacts Job logs Labels Log system Parsing GitLab logs with jq Maintenance Mode Merge request approvals Package Registry rate limits Polling interval multiplier Protected paths Push event activities limit Rate limits on Repository files API Rate limits on Git LFS Rate limits on issue creation Rate limits on raw endpoints Rate limits on note creation Rate limits on Users API Rate limits on pipeline creation Reply by email Repository checks Sign-in and help page text Sign-in restrictions Sign-up restrictions Spamcheck System Hooks Third-party offers Timezone Uploads User Cohorts Visibility and access controls Consul Environment variables File hooks Git protocol v2 Incoming email Instance limits Instance Review PostgreSQL Replication and failover Standalone packaged database PgBouncer Database Load Balancing External database service Move instances Load balancer NFS Postfix Redis Configure the bundled Redis for replication Configure your own Redis for replication Standalone Redis configuration Troubleshooting Sidekiq Sidekiq health check Sidekiq job size limits S/MIME signing Repository storage Repository storage types Gitaly and Gitaly Cluster Configure Gitaly Configure Gitaly Cluster Monitoring Recovery options Troubleshooting Gitaly reference Gitaly timeouts Object storage Merge request diffs storage Static objects external storage Geo Setting up Geo Database replication External PostgreSQL instances Configuration Using a Geo site Configure secondary proxying Location-aware public URL Upgrading Geo sites Version-specific upgrades Using object storage Using Docker Registry Geo for multiple servers Geo security review Location-aware Git remote URLs Tuning Geo Disable Geo Removing a Geo site Supported data types Frequently asked questions Troubleshooting Validation tests Geo Glossary Disaster recovery (Geo) Planned failover Bring primary back Automatic background verification Agent server for Kubernetes Server hooks Terraform state Packages Container Registry Dependency Proxy Web terminals Wikis Invalidate Markdown cache Issue closing pattern Snippets Host the product documentation Maintain your installation Housekeeping Fast SSH key lookup Filesystem benchmarking Multiple Sidekiq processes Sidekiq routing rules Rails console Sidekiq MemoryKiller Use SSH certificates Enable encrypted configuration Rake tasks Backup and restore Back up GitLab Restore GitLab Clean up General maintenance Geo tasks GitHub import Sidekiq job migration SMTP SPDX license list import Import repositories Inactive project deletion Move repositories Integrity check LDAP maintenance List repositories Migrate snippets Praefect tasks Project import and export Read-only state Repository storage Restart GitLab Sample Prometheus data Uploads migration Uploads sanitization User management Webhooks administration X509 signatures Secure your installation Limits on SSH keys Rate limits Webhooks Information exclusivity Manage the CRIME vulnerability Enforce two-factor authentication (2FA) User email confirmation Security of running jobs Proxying assets CI/CD variables Token overview Compliance features Respond to security incidents Administer users Reset user password Unlock a user Review abuse reports Unknown sign-ins, email notification User file uploads Password storage Credentials inventory Custom password length limits Generated passwords and integrated authentication Global user settings Moderate users Auditor users Configure the libravatar service Broadcast messages Email from GitLab Use GitLab Set up your organization Namespaces Members Groups Manage groups Group access and permissions Custom group-level project templates Group access tokens Group import/export Migrating groups SAML Group Sync SAML SSO for GitLab.com groups SCIM provisioning Example group SAML and SCIM configurations Subgroups Move a personal project to a group User account options Active sessions Permissions and roles Personal access tokens Profile preferences Notification emails Two-factor authentication Report abuse Delete account SSH keys GitLab.com settings Organize work with projects Manage projects Project visibility Project settings Project access tokens Share projects Reserved project and group names Search Advanced Search Advanced Search syntax Badges Code intelligence Compliance License Compliance Compliance report Description templates Deploy keys Deploy tokens File finder GitLab Pages Create from scratch Create using a CI/CD template Create using a forked sample project Create using a project template Default domains, URLs, and baseurls Custom domains and SSL/TLS certificates DNS concepts SSL/TLS concepts Let's Encrypt integration Access control Redirects Exploring GitLab Pages Migrating projects Bitbucket Cloud Bitbucket Server ClearCase CVS FogBugz GitHub GitLab.com Gitea Jira Perforce Helix Phabricator Repo by manifest file Repo by URL SVN TFVC Project import/export Project/Group import/export rate limits Project import achive size limits Plan and track work Epics Manage epics Linked epics Epic boards Issues Manage issues Award emoji Confidential issues Crosslinking issues CSV export CSV import Design management Due dates Issue boards Multiple assignees Linked issues Service Desk Sorting and ordering issue lists Weight Zoom meetings in issues Labels Comments and threads Customer relations (CRM) Iterations Milestones Burndown and burnup charts Requirements Roadmaps Planning hierarchies Tasks Time tracking Wikis Group wikis Keyboard shortcuts Quick actions Autocomplete characters Markdown AsciiDoc CSV files To-Do List Using Git Get started Terminology Installing Git Command line Git Feature branch workflow Feature branch development GitLab Flow Add file to repository Bisect Cherry-pick a commit Feature branching File editing Git add Git log Git stash Merge conflicts Partial clone Rebase, force-push, merge conflicts Roll back commits Subtree Tags Troubleshooting Git Undo with Git Unstage Useful commands Push options Build your application Repositories Code owners Snippets Branches Default branch Forking workflow Git attributes Git LFS Jupyter notebook files Locked files File Blame File History Mirroring Bidirectional mirroring Pull mirroring Push mirroring Protected branches Protected tags Push rules Reduce repository size Signed Commits Signing commits and tags with X.509 Syntax highlighting Web Editor Web IDE Managing large repositories Merge requests Get started Approvals Approval rules Approval settings Changes Cherry pick changes Collaborate across forks Commit message templates Confidential merge requests Create merge requests Draft merge requests Export merge requests to CSV External status checks Merge methods Squash and merge Merge request dependencies Merge request widgets Merge when pipeline succeeds Merge conflicts Reverting changes Reviewing and managing merge requests Suggestions Versions Workflows CI/CD Get started CI/CD concepts Migrate from CircleCI Migrate from Jenkins Enable or disable CI/CD Pipelines Scheduled pipelines Trigger a pipeline Customize pipeline configuration Pipeline architectures Pipeline efficiency Pipeline resource groups Directed acyclic graph (DAG) Multi-project pipelines Parent-child pipelines Merge request pipelines Merged results pipelines Merge trains Jobs Choose when jobs run CI/CD job token Access a terminal for a running job Format scripts and job logs Git submodules Variables Predefined variables Where variables can be used Cache and artifacts Job artifacts Pipeline artifacts .gitlab-ci.yml .gitlab-ci.yml reference Optimize your YAML files Validate syntax Pipeline Editor Artifacts reports Include examples Workflow examples Docker Run CI/CD jobs in Docker containers Use Docker to build Docker images Use kaniko to build Docker images Services MySQL service PostgreSQL service Redis service GitLab as a service Auto DevOps Requirements Stages Customize Upgrade PostgreSQL Upgrade Auto Deploy dependencies Deploy to GKE Deploy to ECS Deploy to EC2 Troubleshooting Testing Accessibility testing Browser performance testing Code quality Fail fast testing Load performance testing Metrics reports Test cases Test coverage visualization Unit test reports Unit test report examples SSH keys External secrets Connect to cloud services Authenticating with HashiCorp Vault Configure OpenID Connect in AWS Configure OpenID Connect with Google Cloud ChatOps External repository integrations Bitbucket Cloud GitHub CI/CD examples Deployment with Dpl End-to-end testing NPM with semantic-release PHP with PHPunit and atoum PHP with NPM and SCP PHP with Laravel and Envoy Troubleshooting CI/CD Runners Runner SaaS Linux macOS VM instances Code signing Windows The scope of runners Register a runner Examples Runner executors Custom libvirt LXD Docker Docker Machine Kubernetes Shell Supported shells SSH Parallels Virtual Box Configure runners Secure runners Scale a fleet of runners Best practices for large repositories Packages & Registries Package Registry Composer Conan Debian Go Proxy Helm Maven npm NuGet PyPI Ruby gems Generic Store all packages in one project Monorepo workflows Reduce Package Registry storage Container Registry Reduce Container Registry storage Reduce Container Registry data transfers Infrastructure Registry Terraform module registry Dependency Proxy Reduce Dependency Proxy storage Secure your application Security Configuration Container Scanning Dependency Scanning Dependency Scanning Analyzers Dependency List Static Application Security Testing Customize rulesets SAST Analyzers Infrastructure as Code (IaC) Scanning Secret Detection Post-processing and revocation Dynamic Application Security Testing (DAST) DAST browser-based crawler Vulnerability checks DAST API DAST Troubleshooting Run DAST offline API Fuzzing HTTP Archive format Coverage-guided fuzz testing Security Dashboard Offline Environments Vulnerability Report View vulnerabilities in a pipeline Generate test vulnerabilities Vulnerability Page Vulnerability severity levels CVE ID requests Policies Scan execution policies Scan result policies Security scanner integration Secure and Protect Terminology Deploy and release your application Environments and deployments Environments Dashboard Protected environments Deployment safety Deployment approvals Roll out an application incrementally Deploy to AWS Deploy to Amazon ECS Releases Release CLI tool Release fields Review Apps Feature flags Monitor application performance Error Tracking Tracing Product analytics Incident management Alerts Escalation policies Paging and notifications Incidents Integrations Status page On-call schedules Metrics dashboard Custom dashboards GitLab-defined metrics dashboards Dashboard YAML properties Dashboard settings Panel types for dashboards Unit formats reference Using variables Templates for custom dashboards Templating variables for dashboards Embedding metrics in Grafana Embedding metrics in Markdown Metrics library Monitoring AWS resources HAProxy Kubernetes NGINX NGINX Ingress NGINX Ingress VTS Set up alerts for metrics Monitor runner performance Manage your infrastructure Infrastructure as Code Terraform state Terraform integration in merge requests Troubleshoot Terraform Create Kubernetes clusters Amazon EKS Google GKE Civo Connect Kubernetes clusters GitOps workflow Manage Kubernetes secrets Track cluster resources GitLab CI/CD workflow Manage cluster applications Install the agent for Kubernetes Work with the agent for Kubernetes Operational container scanning Troubleshoot the agent for Kubernetes Migrate to the agent for Kubernetes Runbooks Analyze GitLab usage CI/CD analytics Code review analytics Contribution analytics DevOps adoption by instance DevOps adoption by group Insights for projects Insights for groups Issue analytics for projects Issue analytics for groups Merge request analytics Productivity analytics Repository analytics Repository analytics for groups Usage trends Value stream analytics for projects Value stream analytics for groups Instance-level analytics Audit events Audit event streaming Audit reports Metrics Configure GitLab Configure Grafana GitHub imports GitLab exporter GitLab Prometheus metrics Self monitoring project IP allowlist endpoints Node exporter PGBouncer exporter PostgreSQL server exporter Prometheus Performance bar Performance monitoring Redis exporter Registry exporter Usage statistics Web exporter Use the API REST API resources .gitignore (templates) .gitlab-ci.yml (templates) Access requests Agent for Kubernetes Alert Management Appearance (application) Applications Audit events Avatar Award emoji Badges (project) Badges (group) Branches Broadcast messages Commits Composer Conan Container Registry Custom attributes Dashboard annotations Debian Debian group distributions Debian project distributions Dependencies Dependency Proxy Deploy keys Deploy tokens Deployments Discussions Dockerfile (templates) DORA4 metrics Environments Epics Error tracking Events Experiments External status checks Feature flags Feature flag user lists Freeze periods Geo nodes GitLab Pages Go Proxy Group access tokens Group activity analytics Group Import/Export Group relations export Group repository storage moves Groups Helm Import Instance-level CI/CD variables Integrations Invitations Issue boards (project) Issue boards (group) Issues Issues (epic) Issues statistics Iterations (project) Iterations (group) Jobs Job artifacts Keys Labels (project) Labels (group) License Licenses (templates) Linked epics Links (issue) Links (epic) Managed licenses Markdown Maven Members Merge request approvals Merge request context commits Merge requests Merge trains Metadata Migrations (bulk imports) Milestones (project) Milestones (group) Namespaces Notes (comments) Notification settings npm NuGet Packages Pages domains Personal access tokens Pipelines schedules Pipeline triggers Pipelines Plan limits Project access tokens Project aliases Project import/export Project relations export Project remote mirrors Project repository storage moves Project statistics Project templates Project vulnerabilities Projects Protected branches Project-level protected environments Group-level protected environments Protected tags PyPI Releases Group releases Release links Repositories Repository files Repository submodules Resource group Resource iteration events Resource label events Resource milestone events Resource state events Resource weight events Ruby gems Runners SCIM Search Settings (application) Sidekiq metrics Sidekiq queues Snippet repository storage moves Snippets Snippets (project) Statistics (application) Suggestions System hooks Tags To-Do lists Topics Service Data Users User-starred metrics dashboards Variables (project) Variables (group) Version Visual Review discussions Vulnerabilities Vulnerability export Vulnerability Findings Wikis (group) Wikis (project) OpenAPI GraphQL Get started using GraphQL GraphQL reference Create audit report (example) Identify issue boards (example) Query users (example) Use custom emojis (example) Removed items Lint .gitlab-ci.yml GitLab as an OAuth2 provider Contribute to GitLab development Contribute to GitLab Architecture Documentation Style guide Creating a GraphQL example page RESTful API style guide Recommended word list Topic types Process Testing Site architecture Folder structure Global navigation Documenting product versions Deployment process Documentation review apps Redirects Development Rake tasks Mass insert Rails models Development processes Changelog entries ChatOps on GitLab.com Code review guidelines Community roles Danger bot Deprecation guidelines Experiments Implementing experiments Testing experiments Experiment code reviews Experiment rollouts Feature flags for GitLab development Controlling feature flags Documenting feature flags Feature flags API Framework - DeclarativePolicy Issues workflow Merge request concepts Merge request workflow Secure partner onboarding process Testing standards and styles Flaky tests Frontend testing standards and style guidelines Review apps Smoke tests Testing best practices Testing levels Testing Rails migrations Testing Rake tasks Testing (contract) Writing consumer tests Writing provider tests Testing (end to end) Beginner's guide to writing end-to-end tests Best practices when writing end-to-end tests Dynamic element validation Flows in GitLab QA Page objects in GitLab QA Resource class in GitLab QA Style guide for writing end-to-end tests Testing with feature flags Troubleshooting Translate GitLab Externalization Translation Proofreading Merging Development style guides Frontend style guides API style guide Go standards and style guidelines GraphQL API style guide Guidelines for shell commands HTML style guide JavaScript style guide Newlines style guide Python development guidelines Ruby style guide SCSS style guide Shell scripting standards and style guidelines Vue style guide Feature development Approval rules development Audit Event development Auto DevOps development Built-in project templates CI/CD development Documenting keywords Contribute to the CI/CD schema CI/CD template development Pipeline Wizard Code intelligence CodeSandbox development environment Create - Source Code backend Gitaly touch points Source Code REST endpoints Database development Avoiding downtime in migrations Background migrations Case study - filtering by label Case study - namespaces storage statistics CI mirrored tables Database Lab and Postgres.ai Database review guidelines Database check-migrations job Delete existing migrations Layout and access patterns Migrations style guide Pagination guidelines Pagination performance guidelines Keyset pagination Post-deployment migrations Query comments with Marginalia Query Recorder SQL guidelines Swapping tables Table partitioning Troubleshooting and Debugging Database Understanding EXPLAIN plans Multiple databases Loose Foreign Keys Design and UI Developer guide to logging Distributed tracing Frontend development Accessibility Architecture Axios Content Editor Dark mode Dependencies Design anti-patterns Design patterns Development process Event tracking Emojis Frontend FAQ GraphQL HAML Icons and SVG illustrations Keyboard shortcuts Logging Merge request widget extensions Performance Principles Registry architecture Security Source editor Tooling Troubleshooting ViewComponent Vuex Vue Vue 3 migration Widgets Geo development Geo framework Geo proxying Git LFS Gitaly development GitLab Flavored Markdown (GLFM) developer documentation GitLab Flavored Markdown (GLFM) specification guide GitLab group migration GraphQL development GraphQL authorization GraphQL BatchLoader GraphQL pagination GraphQL Pro Import/Export Integrations Internal API Internal allowed API Internal users Issuable-like Rails models utilities Issue types Jenkins in local environments Jira development environment Kubernetes integration Observability for stage groups Dashboards Stage group dashboard Error budget detail Package development Package settings Package structure Support new formats Debian repository Permissions Product Qualified Lead (PQL) guide Real-time features Service Ping guide Metrics lifecycle Implement Service Ping Metrics instrumentation Metrics dictionary guide Metrics dictionary Metrics Performance Indicator Review guidelines Troubleshooting Sidekiq development Compatibility across updates Job idempotency and job deduplication Limited capacity worker Logging Worker attributes Snowplow Implement Snowplow Snowplow Infrastructure Schemas Event dictionary guide Event dictionary Review guidelines Troubleshooting Spam protection and CAPTCHA Model and services REST API spam protection GraphQL API spam protection Web UI spam protection Exploratory testing Uploads Adding new uploads Value Stream Analytics Verify stage development Wikis Work items and work item types Workhorse Adding new features to Workhorse Configuration Features that rely on Workhorse Websocket channel support Prometheus metrics Workspace GitLab Development Kit GitLab Design System GitLab project pipelines Contribute to Omnibus GitLab Get started Build locally Build Omnibus GitLab package Build all-in-one Docker image Information for GitLab team members Set up a development environment CI variables Change package behavior Change YAML config options Add deprecation messages Add new gitlab-ctl commands Add new services Add new software definitions Create patches Add or remove configuration options Manage PostgreSQL versions Omnibus mirror Version format for the packages and Docker images Pipelines Work with public_attributes.json Upgrade Chef Handle vulnerabilities Handle broken master pipelines Deprecate and remove support for an OS Contribute to GitLab Pages Contribute to GitLab Runner Review GitLab Runner Add new Windows version support for Docker executor Contribute to GitLab Helm Charts Architecture of Cloud native GitLab Helm charts Backup and Restore Goals Architecture Design Decisions Resource Usage Environment setup Style guide Versioning and release ) beside their name. Excess storage example The following example describes an excess storage scenario for namespace Example Company: Repository Storage used Excess storage Quota Status Red 10 GB 0 GB 10 GB Locked Blue 8 GB 0 GB 10 GB Not locked Green 10 GB 0 GB 10 GB Locked Yellow 2 GB 0 GB 10 GB Not locked Totals 30 GB 0 GB - - The Red and Green projects are locked because their repositories have reached the quota. In this example, no additional storage has yet been purchased. To unlock the Red and Green projects, 50 GB additional storage is purchased. Assuming the Green and Red projects' repositories grow past the 10 GB quota, the purchased storage available decreases. All projects remain unlocked because 40 GB purchased storage is available: 50 GB (purchased storage) - 10 GB (total excess storage used). Repository Storage used Excess storage Quota Status Red 15 GB 5 GB 10 GB Not locked Blue 14 GB 4 GB 10 GB Not locked Green 11 GB 1 GB 10 GB Not locked Yellow 5 GB 0 GB 10 GB Not locked Totals 45 GB 10 GB - -