{"id":22398107,"url":"https://github.com/feskol/gitlab-arm64","last_synced_at":"2025-10-15T16:30:24.606Z","repository":{"id":265156472,"uuid":"895196097","full_name":"feskol/gitlab-arm64","owner":"feskol","description":"GitLab (CE/EE) Docker Image for ARM64 - Up-to-Date Images through automated GitHub-Actions","archived":false,"fork":false,"pushed_at":"2025-01-31T00:46:05.000Z","size":111,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-31T01:27:14.244Z","etag":null,"topics":["arm","arm64","arm64-images","containers","docker","docker-image","gitlab","gitlab-arm64","gitlab-ce","gitlab-ce-docker","gitlab-docker","gitlab-docker-image","gitlab-ee","gitlab-ee-docker","raspberry-pi","raspberry-pi-3","raspberry-pi-4","raspberry-pi-docker"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/feskol/gitlab","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feskol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-27T18:27:02.000Z","updated_at":"2025-01-31T00:46:08.000Z","dependencies_parsed_at":"2024-12-30T22:24:30.888Z","dependency_job_id":"d6861138-f3ad-4de8-9e74-cc517ad1f8b0","html_url":"https://github.com/feskol/gitlab-arm64","commit_stats":null,"previous_names":["feskol/gitlab-arm64"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feskol%2Fgitlab-arm64","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feskol%2Fgitlab-arm64/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feskol%2Fgitlab-arm64/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feskol%2Fgitlab-arm64/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feskol","download_url":"https://codeload.github.com/feskol/gitlab-arm64/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236619979,"owners_count":19178234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arm","arm64","arm64-images","containers","docker","docker-image","gitlab","gitlab-arm64","gitlab-ce","gitlab-ce-docker","gitlab-docker","gitlab-docker-image","gitlab-ee","gitlab-ee-docker","raspberry-pi","raspberry-pi-3","raspberry-pi-4","raspberry-pi-docker"],"created_at":"2024-12-05T07:08:52.500Z","updated_at":"2025-10-15T16:30:24.599Z","avatar_url":"https://github.com/feskol.png","language":"Shell","funding_links":["https://buymeacoffee.com/feskol","https://paypal.me/feskol"],"categories":[],"sub_categories":[],"readme":"# GitLab (CE/EE) Docker Image for ARM64\n\n[![build-github-action][github-actions-badge-build]][github-actions-build]\n[![syncversion-github-action][github-actions-badge-syncversion]][github-actions-syncversion]\n[![GitHub Discussions][github-discussions-badge]][github-discussions-link]  \n[![Docker Image][feskol-docker-image-badge]][dockerhub-link]\n[![Docker Pulls][dockerhub-badge-pulls]][dockerhub-tags]\n[![gitlab-ce-latest][dockerhub-badge-latest-version-ce]][dockerhub-tags]\n[![gitlab-ee-latest][dockerhub-badge-latest-version-ee]][dockerhub-tags]\n[![gitlab-ce-latest-size][dockerhub-badge-image-size-ce]][dockerhub-tags]\n[![gitlab-ee-latest-size][dockerhub-badge-image-size-ee]][dockerhub-tags]  \n[![Supported GitLab Versions][supported-gitlab-versions-badge]][dockerhub-link]  \n[![Buy Me A Coffee][support-badge-buy-me-coffee]][support-buy-me-coffee]\n[![PayPal][support-badge-paypal-me]][support-paypal-me]\n\n[github-actions-build]: https://github.com/feskol/gitlab-arm64/actions/workflows/build.yml?query=branch%3Amain\n[github-actions-badge-build]: https://github.com/feskol/gitlab-arm64/actions/workflows/build.yml/badge.svg?branch=main\n[github-actions-syncversion]: https://github.com/feskol/gitlab-arm64/actions/workflows/syncversion.yml?query=branch%3Amain\n[github-actions-badge-syncversion]: https://github.com/feskol/gitlab-arm64/actions/workflows/syncversion.yml/badge.svg?branch=main\n[github-discussions-badge]: https://img.shields.io/github/discussions/feskol/gitlab-arm64?logo=github\u0026logoColor=959da5\u0026label=Discussions\u0026labelColor=333a40\u0026color=f479bb\n[github-discussions-link]: https://github.com/feskol/gitlab-arm64/discussions\n[feskol-docker-image-badge]: https://img.shields.io/badge/Image-feskol/gitlab-blue?logo=docker\n[dockerhub-link]: https://hub.docker.com/r/feskol/gitlab\n[dockerhub-tags]: https://hub.docker.com/r/feskol/gitlab/tags\n[github-package-gitlab]: https://github.com/feskol/gitlab-arm64/pkgs/container/gitlab\n[dockerhub-badge-pulls]: https://img.shields.io/docker/pulls/feskol/gitlab?logo=docker\n[dockerhub-badge-latest-version-ce]: https://img.shields.io/docker/v/feskol/gitlab/ce?label=gitlab-ce\u0026logo=docker\n[dockerhub-badge-latest-version-ee]: https://img.shields.io/docker/v/feskol/gitlab/ee?label=gitlab-ee\u0026logo=docker\n[dockerhub-badge-image-size-ce]: https://img.shields.io/docker/image-size/feskol/gitlab/ce?label=gitlab-ce\u0026logo=docker\n[dockerhub-badge-image-size-ee]: https://img.shields.io/docker/image-size/feskol/gitlab/ee?label=gitlab-ee\u0026logo=docker\n[supported-gitlab-versions-badge]: https://img.shields.io/badge/Supported_GitLab_Versions-^17_|_^18-orange?logo=gitlab\n[support-buy-me-coffee]: https://buymeacoffee.com/feskol\n[support-badge-buy-me-coffee]: https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?\u0026logo=buy-me-a-coffee\u0026logoColor=black\n[support-paypal-me]: https://paypal.me/feskol\n[support-badge-paypal-me]: https://img.shields.io/badge/PayPal_Me-003087?logo=paypal\u0026logoColor=fff\n\n## 🚀 Overview\n\nThis repository provides **GitLab Docker images for the ARM64 architecture**.\n\n**GitLab** officially supports **ARM64 images** since version `18.1`.  \nThis repository was originally created before **official ARM64 Docker** images were available.  \nIt will continue to be maintained to support custom tags.\n\nThis repository provides a GitHub Action that checks for new releases daily and\nautomatically builds the custom **Docker image** tags using the official GitLab images.\n\nThe custom Docker image tags are typically available **within 12 hours** after the official GitLab Docker images get\nreleased.\n\n## ✨ Features\n\n- **Automated Updates**:  \n  A GitHub Action checks the latest releases of the official GitLab Docker images and triggers the build process when\n  a new version is available.  \n  This ensures the repository always provides up-to-date images for ARM64.\n\n- **Fully Automatic**:  \n  No manual intervention is required. The entire process, from release checking to image building is automated.\n\n- **Compatibility**:  \n  These images are build for **ARM64 architecture**, making GitLab accessible to users on **ARM-based platforms**.  \n  They are also compatible with **AMD64 architecture**. For more details,\n  see [Multi-Architecture Support](#-multi-architecture-support)\n\n## 📋 Requirements\n\nTo use the Docker images built by this repository, you need:\n\n- **ARM64 Architecture** (e.g. Raspberry Pi 4/5, ARM64 servers)\n  or **AMD64 Architecture** (See [Multi-Architecture Support](#-multi-architecture-support))\n- **Docker** installed on your system\n\n## 🛠️ Usage\n\n### Pull the Docker images:\n\nThe Docker images are available on [Docker Hub][dockerhub-tags] and [GitHub Packages][github-package-gitlab].  \nBoth registries contain identical tags.\n\n*For clarity, we use the Docker Hub image wherever a Docker image is used.  \nIf you prefer to use the GitHub Packages image, simply add `ghcr.io/` as a prefix to the image name.*  \n*Example: `feskol/gitlab:latest `→ `ghcr.io/feskol/gitlab:latest`*\n\n#### Docker Hub\n\nPull the Docker images from [Docker Hub][dockerhub-tags].\n\n```bash\n# latest GitLab Community Edition (CE)\ndocker pull feskol/gitlab:latest\ndocker pull feskol/gitlab:ce     # \"ce\" is same as \"latest\"\n\n# latest GitLab Enterprise Edition (EE)\ndocker pull feskol/gitlab:ee\n\n# Specific version - replace \"-ce\" to \"-ee\" for Enterprise Edition\ndocker pull feskol/gitlab:18-ce\ndocker pull feskol/gitlab:18.0-ce\ndocker pull feskol/gitlab:18.0.1-ce\ndocker pull feskol/gitlab:18.0.1-ce.0\n```\n\n#### GitHub packages\n\nPull the Docker images from [GitHub Packages][github-package-gitlab].\n\n```bash\n# latest GitLab Community Edition (CE)\ndocker pull ghcr.io/feskol/gitlab:latest\ndocker pull ghcr.io/feskol/gitlab:ce     # \"ce\" is same as \"latest\"\n\n# latest GitLab Enterprise Edition (EE)\ndocker pull ghcr.io/feskol/gitlab:ee\n\n# Specific version - replace \"-ce\" to \"-ee\" for Enterprise Edition\ndocker pull ghcr.io/feskol/gitlab:18-ce\ndocker pull ghcr.io/feskol/gitlab:18.0-ce\ndocker pull ghcr.io/feskol/gitlab:18.0.1-ce\ndocker pull ghcr.io/feskol/gitlab:18.0.1-ce.0\n```\n\n### Setup instructions\n\nThese images are used like GitLab’s official Docker images.  \nRefer to **GitLab's Docker** documentation for setup instructions:\n\n- [https://docs.gitlab.com/ee/install/docker/installation.html](https://docs.gitlab.com/ee/install/docker/installation.html)\n\nHere’s an example setup using `docker-compose.yaml`:\n\n```yaml\nservices:\n    gitlab:\n        image: feskol/gitlab:18.0.1-ce # change the tag to your needs\n        container_name: gitlab\n        restart: unless-stopped\n        hostname: 'gitlab.example.com'\n        environment:\n            GITLAB_OMNIBUS_CONFIG: |\n                # Add any other gitlab.rb configuration here, each on its own line\n                # For example: Reduce the number of running workers in order to reduce memory usage\n                puma['worker_processes'] = 2\n                sidekiq['concurrency'] = 9\n        ports:\n            - '80:80'\n            - '443:443'\n            - '22:22'\n        volumes:\n            - './config:/etc/gitlab'\n            - './logs:/var/log/gitlab'\n            - './data:/var/opt/gitlab'\n        shm_size: '256m'\n```\n\n---\n\n## 🐳 Multi-Architecture Support\n\nThis repository supports multi-architecture Docker images in addition to ARM64 images. This enhancement ensures\nthat the Docker images can run seamlessly on both AMD64 and ARM64 architectures.\n\n### Supported Architectures\n\n- **ARM64**: Optimized for ARM64 systems. (Since `\u003e= 18.1` also using the official GitLab Docker image)\n- **AMD64**: Uses the official GitLab Docker image.\n\n### Benefits\n\n- **Cross-Platform Compatibility**: Use the same image across multiple platforms.\n- **Streamlined Workflows**: Unified image tagging for multi-arch builds simplifies deployment.\n\n### How It Works\n\nThe build process creates a docker manifest for multi-arch images. For **AMD64** and **ARM64** (since version `\u003e= 18.1`), the process leverages the official\nGitLab Docker image to ensure compatibility and reliability.\n\n### Usage\n\nTo pull the appropriate image for your architecture, simply use:\n\n```bash\ndocker pull feskol/gitlab:latest    # you can use here any tag from the DockerHub (e.g. 17.6.2-ce / 17.6-ce / ce )\n```\n\nDocker will automatically fetch the image matching your system architecture.\n\n## 🏷️ Tags\n\nThe following tags are available for the Docker images, providing flexibility and alignment with GitLab's versioning\nsystem:\n\n- **`latest`**:  \n  Points to the newest Community Edition (CE) release available.\n\n- **`ce`**:  \n  Represents the newest Community Edition (CE) release available.\n\n- **`ee`**:  \n  Represents the newest Enterprise Edition (EE) release available.\n\n- **Version-specific tags**:  \n  Tags are generated based on GitLab's versioning system: **`(major).(minor).(patch)-(edition).0`**.  \n  For example, if the newest version is `17.6.1-ce.0`,\n  the following Docker image tags are created pointing to that version:\n    - `17.6.1-ce.0` (original GitLab version)\n    - `17.6.1-ce` (version without the `.0` suffix)\n    - `17.6-ce` (major and minor version)\n    - `17-ce` (major version only)\n\nFind [all available tags on Docker Hub](https://hub.docker.com/r/feskol/gitlab/tags).\n\n\u003e [!NOTE]  \n\u003e This project supports **GitLab (CE/EE)** starting from version **17 and higher**!\n\n## 🔄 Update\n\n#### Using Docker Compose\n\n1. Stop the container:\n\n```bash\ndocker compose down\n```\n\n2. Update the `docker-compose.yaml` file to the new version tag.\n\n```yaml\n# Old image tag:\nservices:\n    gitlab:\n        image: feskol/gitlab:17.5.4-ce # outdated version\n...\n\n# New image tag\nservices:\n    gitlab:\n        image: feskol/gitlab:17.6.2-ce # updated version\n...\n```\n\n3. Start the container:\n\n````bash\ndocker compose up -d\n````\n\n\u003e [!WARNING]  \n\u003e Always follow the [official update guide](https://docs.gitlab.com/ee/update/).  \n\u003e Use GitLab's [Upgrade Path Tool](https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/?distro=docker) for\n\u003e step-by-step guidance on update paths.\n\n## 🌐 Links\n\nHere are the links used by this repository:\n\n- [GitLab Omnibus Docker Files](https://gitlab.com/gitlab-org/omnibus-gitlab/-/tree/master/docker)\n- [GitLab CE Versions](https://packages.gitlab.com/gitlab/gitlab-ce)\n- [GitLab EE Versions](https://packages.gitlab.com/gitlab/gitlab-ee)\n- [DockerHub Gitlab CE](https://hub.docker.com/r/gitlab/gitlab-ce)\n- [DockerHub Gitlab EE](https://hub.docker.com/r/gitlab/gitlab-ee)\n\n\n## 🤝 Contribution Guidelines\n\nWe welcome contributions to this project!  \nTo ensure clarity and fairness for all contributors, we require that all\ncontributors sign our **Contributor License Agreement (CLA)**.\n\nPlease read the [Contribution Guidelines](.github/CONTRIBUTING.md).\n\n## 🧪 Testing\n\nTests can be found in the `./tests/unit`.  \nTo ensure everyone uses the same test suite, I provided a Dockerfile with a docker-compose.yaml file that runs the\ntests.\n\nWe're using [bashunit](https://bashunit.typeddevs.com/) for testing our scripts. Its binary is located in the `./lib`\ndirectory.  \nTo ensure dependencies remain up-to-date, a GitHub Action (`.github/workflows/bashunit-update.yml`) has been set up to\ncheck for new releases on a weekly basis. If a new release is found, a pull request (PR) is automatically created. Since\nthere are existing GitHub Actions that run tests using `bashunit`, it tries to automatically merge the PR if no errors\noccur.\n\n#### Command:\n\nTo run the tests, run:\n\n```bash\n# Run all tests\ndocker compose run --rm test\n\n# Run tests for specific folder\ndocker compose run --rm test ../lib/bashunit ./unit/workflows/build\n```\n\nIf you encounter errors, try using the `--verbose` option for more details:\n\n```bash\ndocker compose run --rm test ../lib/bashunit --verbose ./unit\n```\n\n## ❤️ Support This Project\n\nIf you find this project helpful and would like to support my work:\n\n- 🌟 **Star the repository** to show your appreciation.\n- 💸 **Donate via**:\n    - Buy Me a Coffe: [![Buy Me A Coffee][support-badge-buy-me-coffee]][support-buy-me-coffee]\n    - PayPal: [![PayPal][support-badge-paypal-me]][support-paypal-me]\n\nThank you for your support!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeskol%2Fgitlab-arm64","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeskol%2Fgitlab-arm64","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeskol%2Fgitlab-arm64/lists"}