Overview
This AMI provides a fully automated deployment of GitLab Enterprise Edition using Docker Compose. Designed for developers and DevOps teams, it eliminates manual installation steps and config headaches that come with configuring GitLab from scratch.
Upon boot:
The instance guides you through domain setup
Automatically configures GitLab with your domain and admin email
Generates secure admin credentials
Sets up HTTPS using Let's Encrypt (Certbot) and Apache
Deploys a production-ready GitLab environment with Docker
No technical expertise required - answer a few prompts (domain + email), and the system provisions everything end-to-end. Ideal for private Git repos, CI/CD pipelines, project management, and secure collaboration.
Included Components
GitLab Enterprise Edition (Docker-based)
Built-in GitLab registry
Apache reverse proxy + HTTPS via Let's Encrypt
Automated first-boot scripts (domain validation, SMTP config, SSL setup)
Highlights
- Zero-touch Setup: the AMI auto-installs GitLab, configures domain, SSL certificates, and generates admin credentials.
- Secure by Default: HTTPS enforced, SMTP ready, and GitLab exposed through a reverse proxy.
- Production Ready: Docker-compose based structure ensures easy upgrades, rollback, volume persistence, and scaling.
Details
Unlock automation with AI agent solutions

Features and programs
Financing for AWS Marketplace purchases
Pricing
Vendor refund policy
This product is currently offered free of charge on AWS Marketplace. Since there are no fees associated with the use of this AMI, refunds are not applicable.
Buyers may cancel use of the product at any time by terminating the associated Amazon EC2 instance.
For any questions or concerns, please contact: Perimattic.com Email: aws@perimattic.comÂ
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
- Automated First Boot Setup - Fully scripted initialization that configures GitLab automatically without manual intervention.
- Domain + DNS Validation Workflow - Prompts the user to enter a domain and validates DNS (A record) before proceeding.
- Automatic SSL Certificate Generation - Integrates Let's Encrypt via Certbot to auto-provision and configure HTTPS on the domain.
- Secure Admin Credential Generation - Automatically generates a strong GitLab root password and stores it in the .env file.
- Docker Compose-Based Deployment - GitLab is deployed using Docker Compose for easy management, upgrades, and reproducibility.
- SMTP Email Configuration Ready - Preconfigured SMTP fields inside docker-compose.yml for GitLab email notifications (password reset, repo activity, etc.).
- Persistent Storage Setup - Data, logs, and config volumes are mapped to /opt/app/ ensuring persistence across container restarts.
- Automatic Progress Feedback - Includes progress bar and status messages to indicate deployment stages and success.
- Apache Reverse Proxy Pre-Configured - GitLab runs behind Apache, making it compatible with SSL, vhosts, redirects, and production proxies.
- Optimized for AWS EC2 Marketplace Use - Pre-baked AMI with GitLab + necessary tooling (Docker, Docker Compose, Apache, Certbot) to reduce setup time from hours to minutes.
Additional details
Usage instructions
- Launch an Instance
From AWS Marketplace, click Continue to Subscribe, then Continue to Configuration, and launch the AMI.
- Choose the Recommended Instance Type
Select c6a.xlarge or higher for smooth GitLab performance.
GitLab is resource-intensive - larger instance types will improve performance during CI/CD operations and repository cloning.
-
Configure Security Group
Allow inbound traffic on the following ports:
-
22 (SSH) - For secure terminal access
-
80 (HTTP) - Required temporarily during SSL validation
-
443 (HTTPS) - To securely access the Jenkins web UI
-
-
Connect to the Instance
ssh -i <your-key.pem> ubuntu@<public-ip>
- First-Boot Setup
On first boot, the AMI automatically launches an interactive guided setup:
- Detects public IP of the server
- Prompts for the domain name to map to GitLab (Example: gitlab.example.com)
- Validates DNS mapping and confirms A-record propagation
- Asks for admin email (used for SSL)
- Generates a secure root password
- Updates Docker Compose configuration with your domain and credentials
- Configures Apache as a reverse proxy for HTTPS access
- Automatically requests and installs a Let's Encrypt SSL certificate
After setup completes, GitLab starts automatically and becomes accessible over HTTPS.
- Configure DNS
Before (or during) the setup script, add this DNS A record in your domain provider:
gitlab.example.com <your-instance-public-IP>
The script automatically checks DNS propagation and continues only when the A record resolves correctly.
- Automatic SSL Setup
Once DNS mapping is verified:
- A free SSL certificate is issued via Let's Encrypt
- HTTPS is enabled
- All traffic is routed securely to GitLab
- Start or Restart GitLab Manually (if needed)
cd /opt/app docker compose ps docker compose restart
- Access GitLab Web UI
Open your browser and visit:
https://<your-domain>
- Login Credentials
Your GitLab root credentials are stored here:
cat /opt/app/.env
This file includes:
- ADMIN_EMAIL
- SOFTWARE_PASSWORD (GitLab root user password)
- DOMAIN
Support
Vendor support
For any assistance or inquiries, our dedicated support team is here to help 24/7. Feel free to reach out to us anytime. Email: aws@perimattic.com We are committed to providing timely and effective solutions to meet your needs.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.