Overview
This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.
WHAT IS GITEA
Gitea is a lightweight, open-source self-hosted Git service written in Go. It provides a complete code hosting platform including repositories, branches, tags, code review, pull requests, issue tracking, milestones, wikis, and webhooks - all in a single binary with minimal resource requirements.
Gitea is compatible with the GitHub API, enabling existing GitHub clients and integrations to work with minimal reconfiguration. Gitea Actions support is included, providing GitHub Actions-compatible CI/CD workflows using standard YAML syntax. SSH clone is available on port 2222; HTTPS clone on port 443.
WHY SELF-HOST YOUR GIT SERVICE
Cloud Git platforms expose your proprietary code to third-party infrastructure. Self-hosted Gitea keeps all repositories, commit history, and CI/CD artifacts within your own VPC. For regulated industries, GDPR compliance, or avoiding vendor lock-in, a self-hosted Git service is the practical solution.
The Gitea binary is approximately 100 MB with no external runtime dependencies - significantly lighter than GitLab CE, which requires multiple processes and services.
ENHANCED SECURITY OUT OF THE BOX
Default Gitea installations require manual steps to configure a database, set up a reverse proxy, generate internal secrets, and restrict network access. Leaving these unconfigured exposes the instance to unauthorized repository access and data leakage.
This AMI pre-configures all of these for you at first boot.
WHAT THIS AMI ADDS
Security defaults:
- Admin account created with a unique password (EC2 Instance ID) at first boot
- Four internal secrets generated per instance at first boot - INTERNAL_TOKEN, JWT_SECRET, LFS_JWT_SECRET, SECRET_KEY - never shared across deployments
- Gitea binary verified with upstream GPG signature before installation
- Nginx reverse proxy with TLS - HTTP on port 80 redirects to HTTPS on port 443
- UFW firewall - ports 22, 80, 443, and 2222 open; all other ports blocked
- fail2ban - SSH brute-force protection
- AppArmor - mandatory access control
Database:
- PostgreSQL 16 local database, listening on 127.0.0.1 only - not exposed to the network
OS hardening (CIS Level 1):
- CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
- auditd - system call auditing
- SSH hardening - PasswordAuthentication disabled, key-only access
- Kernel hardening - SYN cookies, ASLR, rp_filter, TCP BBR
- IMDSv2 enforced - SSRF protection
Compliance artifacts (inside the AMI):
- SBOM - CycloneDX 1.6 software bill of materials at /etc/lynxroute/sbom.json
- CIS Conformance Report - OpenSCAP HTML report at /etc/lynxroute/cis-report.html
- Tailored CIS profile - documents all applied controls and deviations at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
Quick Start:
- Launch instance (t3.small recommended)
- Open Security Group - allow TCP 443 and TCP 2222 from your IP
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Read credentials: sudo cat /root/gitea-credentials.txt
- Open https://<PUBLIC_IP> in your browser - accept the self-signed certificate warning
- Log in with admin credentials from the credentials file
Admin password equals the EC2 Instance ID. Credentials are saved to /root/gitea-credentials.txt at first boot. Replace the self-signed TLS certificate with a CA-signed certificate for production use.
Highlights
- Gitea secure by default: PostgreSQL 16 backend, Nginx TLS reverse proxy, unique admin credentials and four internal secrets generated per instance at first boot - no manual database or proxy setup required.
- CIS Level 1 hardened Ubuntu 24.04 LTS: auditd, fail2ban, AppArmor, SSH key-only, IMDSv2 enforced, SBOM and CIS Conformance Report included for compliance and audit teams.
- Full self-hosted Git platform: code hosting, pull requests, issues, wikis, and Gitea Actions CI/CD with GitHub-compatible API - all repositories stay within your own VPC.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
Dimension | Cost/hour |
|---|---|
t3.small Recommended | $0.07 |
t3.micro | $0.05 |
t3.large | $0.10 |
t3.medium | $0.09 |
m6i.large | $0.12 |
Vendor refund policy
We do not offer refunds for this product. AWS infrastructure charges (EC2, EBS, data transfer) are billed separately by AWS and are not refundable by us. If you experience technical issues with the AMI, please contact us at https://lynxroute.com before requesting a refund.
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
Version 1.26.0 - Initial release (April 2026)
- Gitea 1.26.0 on Ubuntu 24.04 LTS
- CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
- PostgreSQL 16 local database - listening on 127.0.0.1 only
- Nginx reverse proxy with TLS - self-signed certificate included, replace for production
- Admin account and four internal secrets generated per instance at first boot
- Admin password equals EC2 Instance ID - change after first login
- SSH clone on port 2222; HTTPS clone on port 443
- Gitea Actions enabled (act_runner not included)
- UFW firewall pre-configured (ports 22, 80, 443, 2222 only)
- fail2ban, auditd, AppArmor pre-configured
- Gitea binary verified with upstream GPG signature
- SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
- CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
- Tailored CIS profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
- IMDSv2 enforced
Additional details
Usage instructions
- Launch instance (t3.small recommended)
- Open Security Group - allow TCP 443 and TCP 2222 from your IP
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Read credentials: sudo cat /root/gitea-credentials.txt
- Open https://<PUBLIC_IP> in your browser - accept the self-signed certificate warning
- Log in with admin credentials from the credentials file
Admin password equals the EC2 Instance ID. Credentials are saved to /root/gitea-credentials.txt at first boot. Replace the self-signed TLS certificate with a CA-signed certificate for production use.
Resources
Vendor resources
Support
Vendor support
Visit us online: https://lynxroute.com
For Gitea upstream issues (bugs, features, repository behavior): https://github.com/go-gitea/gitea/issues
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.
Similar products
