Getting started¶
This page takes you from the AWS Marketplace listing to a signed-in Uptime Kuma dashboard with your first monitor. It takes about fifteen minutes.
You need: an AWS account with permission to subscribe to AWS Marketplace products and launch EC2 instances, and, on your workstation, the AWS CLI with the Session Manager plugin.
1. Subscribe¶
Open the Uptime Kuma Monitoring listing, choose View purchase options, review the terms and subscribe.
2. Launch the instance¶
Choose Launch your software and use these settings:
- Instance type:
t3.medium. The image needs at least 4 GiB of RAM. - Storage: an encrypted gp3 root volume of at least 16 GiB.
- IAM instance profile: a role with the AWS managed policy
AmazonSSMManagedInstanceCore, so you can connect with Session Manager. - Security group: no inbound rules are needed. If you want SSH as well, allow port 22 only from your own administrative network.
- Metadata: require IMDSv2.
Do not open port 8443 or 3001 to the internet
Both listen on loopback only. You reach the dashboard through Session Manager port forwarding, so there is nothing to open.
3. Connect and wait for first boot¶
In the EC2 console, select the instance, choose Connect, then
Session Manager. In the shell, switch to the ubuntu user and wait for
first boot to finish:
sudo -iu ubuntu
cloud-init status --wait
systemctl is-active sushi-uptime-kuma-firstboot.service uptime-kuma.service nginx sushi-uptime-kuma-admin.service
All four units should report active. On first boot the image creates its
TLS certificate and admin password, starts Uptime Kuma and nginx, then creates
the admin account.
4. Run the walkthrough¶
It checks that the services are running and bound to loopback, that the
dashboard answers over HTTPS, that the private key and password are not
readable by ubuntu, and then runs the image's self-test. It ends with
SUSHI_CUSTOMER_DEMO_PASSED.
5. Get the admin password¶
The password is stored only on the instance, readable by root:
The user name is admin. Keep the password out of tickets, chat and screen
recordings.
6. Open the dashboard¶
On your workstation, start a port-forwarding session to the instance. Replace
<instance-id> with your instance ID, and use the instance's region:
aws ssm start-session \
--target <instance-id> \
--document-name AWS-StartPortForwardingSession \
--parameters '{"portNumber":["8443"],"localPortNumber":["8443"]}'
Leave it running and open https://localhost:8443/dashboard in your browser.
Sign in as admin with the password from step 5.
Certificate warning
The certificate is self-signed and created for this instance, for
localhost and 127.0.0.1, so your browser does not trust it by default.
To check it, compare the fingerprint your browser shows with the one on
the instance:
7. Add your first monitor¶
A new instance has no monitors, so it makes no outbound checks until you add one. In the dashboard, choose Add New Monitor, pick a type such as HTTP, TCP port, DNS or ping, enter the target and save. Results start to appear within one check interval.
Next: Configuration.