Overview
This AMI runs Healthchecks, the open-source cron job and scheduled-task monitoring service, with PostgreSQL 17 on Ubuntu 24.04 LTS. The vendor's own image (healthchecks/healthchecks, published by the Healthchecks project) is pinned to v5.0.3, with PostgreSQL 17.11, and baked into the AMI, so first start does not depend on a registry. Healthchecks is an independent open-source project and Perimattic is not affiliated with it or with the hosted service healthchecks.io; product names are trademarks of their respective owners.
Why Healthchecks?
Your jobs ping a unique URL when they run. If a ping does not arrive on schedule, Healthchecks raises an alert. It supports simple periods and cron expressions, grace times, start and fail signals, pings from curl, email or HTTP, a public status badge and status pages, a management API, and notification integrations such as Slack, Telegram, webhooks and many others.
What Perimattic adds
Administrator created for you, sign-up closed: during first-login setup this AMI creates the one administrator (your email address and a random 24-character password generated on your server) and Healthchecks starts with REGISTRATION_OPEN=False, so nobody else can create an account. Setup then checks that the password works, that a wrong password is refused, that the sign-up page and its API answer 403 and that anonymous requests to the dashboard and the management API are refused. SECRET_KEY, the database password and the administrator password are generated per instance; there are no default or shared credentials in the image.
HTTPS: Apache is configured as a reverse proxy and a free Let's Encrypt certificate is requested for your domain with certbot. SITE_ROOT and ALLOWED_HOSTS are set to your domain. Healthchecks listens only on the loopback interface and PostgreSQL is reachable only inside the Docker network.
Patched base: Ubuntu 24.04 LTS built through an automated EC2 Image Builder pipeline, with security updates applied at build time.
What you should know
Email alerts need your own mail server. None is configured or shipped, so Healthchecks cannot send alert emails, and the email sign-in link is off (you sign in with your email address and password). Add your SMTP settings to the compose file to receive alerts by email (use port 587 or 465: Amazon EC2 blocks outbound port 25). Other channels such as Slack or Telegram are configured in the web interface with your own accounts and tokens.
The ping URLs (/ping/) are public by design, because your jobs call them without a login: anyone who knows a check's UUID can send it a ping, so treat the UUIDs as secrets. Badges and status pages you publish are readable by anyone with the link.
Healthchecks is light: about 325 MB of memory for the application and about 75 MB for PostgreSQL in our tests, so a t3.small (2 GB) is the recommended starting size.
Licence
Healthchecks is released under the BSD 3-Clause licence (copyright Peteris Caune and contributors); this AMI runs the unmodified upstream image, whose source is at github.com/healthchecks/healthchecks. PostgreSQL is released under the PostgreSQL License.
Getting Started Launch the AMI and open ports 22, 80 and 443 in the security group SSH in and answer the setup prompts (domain and admin email) Open https://your-domain and sign in with your email address and the password printed at the end of setup Create checks and point your cron jobs at their ping URLs
A domain name with an A record pointing at the instance is required, because the site is served over HTTPS.
This AMI is built and supported by Perimattic.
Book a free setup consultation at https://cal.com/gaurav-pareek-perimattic/marketplace-setup-consultations or email us at aws-support@perimattic.com .
Support Managed and supported by Perimattic, a cloud infrastructure company with 13+ years of experience serving global clients. We offer free setup assistance, custom integrations, infrastructure consulting, and 24/7 support.
Highlights
- Healthchecks 5.0.3 (BSD-3-Clause) with PostgreSQL 17.11, pinned and pre-installed: self-hosted cron and job monitoring. Alert email needs your own SMTP server.
- Secure first login: the administrator is created with a random 24-character password before the site is published and sign-up is closed; anonymous requests refused; HTTPS through Apache and Let's Encrypt.
- Built on patched Ubuntu 24.04 LTS and supported by Perimattic: free setup assistance at aws-support@perimattic.com.
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
- ...
Dimension | Cost/hour |
|---|---|
t3.small Recommended | $0.03 |
t3.micro | $0.03 |
c3.2xlarge | $0.03 |
c3.4xlarge | $0.03 |
c3.8xlarge | $0.03 |
c3.large | $0.03 |
c3.xlarge | $0.03 |
c4.2xlarge | $0.03 |
c4.4xlarge | $0.03 |
c4.8xlarge | $0.03 |
Vendor refund policy
For any questions or concerns, please contact: Perimattic.com Email: aws-support@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
Initial release.
- Application: Healthchecks 5.0.3 (container image pinned, baked into the AMI).
- Base: Ubuntu 24.04 LTS, fully patched at build time, built by an automated EC2 Image Builder pipeline.
- TLS: Apache reverse proxy with a Let's Encrypt certificate requested by certbot at first login.
- Credentials are generated on the instance at first login; none are present in the image.
- A random admin password is generated at first login and given only to the command that creates the administrator before the site is published; sign-up is closed (REGISTRATION_OPEN=False); setup verifies that the password works, that a wrong password is refused, that sign-up answers 403 and that anonymous dashboard and API requests are refused.
- Application: Healthchecks 5.0.3 (BSD-3-Clause, unmodified upstream image healthchecks/healthchecks) with PostgreSQL 17.11 (both pinned). SITE_ROOT and ALLOWED_HOSTS are set to the buyer's domain.
- No SMTP is configured: the buyer must add their own mail server to receive alert email. Ping URLs are public by design.
- Database: reachable only inside the Docker network.
Additional details
Usage instructions
-
Launch an Instance
From AWS Marketplace, click Continue to Subscribe and then Continue to Configuration to launch the AMI.
-
Choose the Recommended Instance Type
t3.small (2 GB of memory) is the recommended starting size: Healthchecks used about 325 MB and PostgreSQL about 75 MB in our tests. Alert email needs your own SMTP server.
-
Configure Security Group
Allow inbound traffic on the following ports:
- 22 (SSH) - terminal access for setup
- 80 (HTTP) - needed to validate your domain for the TLS certificate
- 443 (HTTPS) - access to Healthchecks
-
Point a domain at the instance
Create a DNS A record (for example checks.example.com) pointing to the instance's public IP before you log in.
-
Connect to the Instance
ssh -i <your-key.pem> ubuntu@<public-ip>
-
First-Login Setup
The first SSH login runs a guided setup:
- Prompts for your domain and admin email and checks the DNS A record
- Generates a random 24-character admin password, a database password and the application's secret key on your server
- Starts PostgreSQL and Healthchecks (sign-up is closed from the first start) and creates the administrator
- Checks that the password works, that a wrong password is refused, that sign-up answers 403 and that anonymous requests to the dashboard and the API are refused
- Configures Apache as an HTTPS reverse proxy and requests a Let's Encrypt certificate
- Prints the URL and the admin credentials; they are also stored in /opt/app/access.txt (root only)
If a step fails, fix the problem shown and log in again: the setup resumes where it stopped.
-
Access Healthchecks
Open https://<your-domain> and sign in with your email address and the generated password (view it again with: sudo cat /opt/app/access.txt). Add SMTP settings to /opt/app/docker-compose.yml to receive alert email.
-
Credentials
Generated on your server, never shared between customers. View them again with:
sudo cat /opt/app/access.txt
-
Manage the Services
cd /opt/app sudo docker compose ps sudo docker compose restart
Data is in the PostgreSQL database in /opt/app/postgres: back up all of /opt/app or snapshot the volume before upgrades. Healthchecks cannot send email until you add your SMTP settings (EMAIL_HOST and related variables) to /opt/app/docker-compose.yml; EC2 blocks outbound port 25, so use 587 or 465. The ping URLs, badges and published status pages are public by design.
Thank you for subscribing.
Need Support or Customization? Perimattic's team can help with setup issues, custom features and integrations:
Email us: aws-support@perimattic.com WhatsApp: +91-92142 66896 Learn more: <www.perimattic.com >
We offer free setup assistance, custom development and integrations, and infrastructure consulting.
Resources
Support
Vendor support
Support by Perimattic
Perimattic provides 24/7 support for all AWS Marketplace products. Our team has 13+ years of cloud infrastructure expertise serving global clients.
Contact Channels: Email: aws-support@perimattic.com WhatsApp: +91-92142 66896 Website: <www.perimattic.com >
What We Help With: Initial setup and configuration assistance (free) Troubleshooting connectivity, performance, and backup issues Custom development and integrations Infrastructure consulting and architecture review Migration planning from other solutions Automation solutions and scaling guidance
Instance Sizing Guidance: t2.medium or t3.medium: Development environments, small applications m5.large: Production workloads with moderate traffic m5.xlarge: High-traffic production deployments and larger datasets
For workload-specific sizing recommendations, contact our team for a free consultation.
Refunds and Issues: If you experience any issues or need to request a refund, contact us at aws-support@perimattic.com and we will respond promptly.
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.