For macOS, Windows and Linux

Your AWS infrastructure.
One desktop app.

Set up networking, deploy containers to Amazon ECS and keep them healthy, with Terraform it runs for you. Everything is created in your own AWS account, and stays yours.

Checking the latest release…

Take the tour
doIT's dashboard: six applications across prod and uat, each with its live cluster CPU, health and anything to review.

12

installers: Intel and ARM, for macOS, Windows and Linux

0

doIT servers between you and AWS. Your keys stay on your computer.

100%

of what it builds lives in your own AWS account

The tour

Everything about an application.
On one page.

Dashboard

Every application, at a glance.

Each application you deploy, with its live cluster CPU, its health, and anything worth a look, across every account and region you use.

The dashboard with six applications and their live CPU.

Services

Many services, one load balancer.

Add components that serve their own paths, like /api or /checkout, each its own ECS service. Change an image, size or task count in place, restart a service, and give the application PostgreSQL: disposable for tests, or Amazon RDS with backups and Multi-AZ.

An application's three services, each with its route, tasks and health, above its RDS database.

Monitoring

Live CPU and memory, per service.

Charts read from CloudWatch for every service, with a crosshair to read any minute.

CPU and memory charts for the web, api and checkout services.

Health

Know when something is wrong.

Running and desired tasks, rollouts, load-balancer targets with the reason any fail, and the CloudWatch alarms that watch it, firing ones first.

The Health section: a healthy application, its database and three CloudWatch alarms.

Logs

Follow container logs as they happen.

Pick a service and a window from five minutes to a day, filter by text, pause and follow. Every line shows its time and its task.

Container logs of the web service, followed live, above the numbered deployments.

Recommendations

Advice that pays for itself.

Right-sizing from real usage with the saving priced, schedules for quiet hours, ports open to the internet, broad IAM policies, plain-text secrets and image findings. Resize or schedule in one click.

Recommendations: resize an oversized service, schedule a quiet one and review image findings, with the monthly savings.

Environments

Promote uat to prod, with confidence.

Run an application as uat and prod, each in its own network, account or region. See what differs, then promote: prod keeps its own size, schedules and settings.

The uat and prod environments side by side, with the images that differ and a Promote uat to prod button.

Cost

Know the bill before AWS sends it.

Every application's monthly cost at AWS list prices, line by line, while you size it and once it runs.

A monthly cost estimate of about $460, line by line: instances, load balancer, addresses and the RDS database.

Images

From a folder of code to a container.

doIT recognises Node.js, Python, .NET, Go, Java and static sites, writes the Dockerfile, builds with Docker or Podman, pushes to Amazon ECR, and checks every dependency's license against your policy.

The Images page: a Node.js project detected, ready to build, with its dependency licenses checked.
The dashboard with six applications and their live CPU. An application's three services with their routes, tasks and health. CPU and memory charts per service. The Health section with CloudWatch alarms. Container logs followed live. Recommendations with their monthly savings. The uat and prod environments, ready to promote. A monthly cost estimate, line by line. A Node.js project ready to build, with its licenses checked.

doIT runs Terraform for you, in your account, with your keys, and keeps the state in your own S3 bucket. Stop using it tomorrow, and everything it built keeps running.

How it works

Runs on your computer.
Builds in your account.

Your computer

doIT
Terraform pinned · verified
~/.aws your keys

Your AWS account

VPC · public and private subnets · NAT

Load balancer
web /*
api /api/*
checkout /checkout/*
PostgreSQL
S3 state with locking
CloudWatch metrics · logs · alarms
ECR your images
  1. On your computer

    doIT signs every AWS request with your own profile. Keys are checked with STS and never leave your machine.

  2. Terraform, handled

    It downloads a pinned, checksum-verified Terraform release and runs it, one run at a time, with the output on screen.

  3. Built in your account

    Networks, load balancers, ECS services and databases are created in your AWS account, on your bill, under your control.

  4. State you own

    Terraform state lives in an S3 bucket in your account, with locking, so the desktop app and the CLI never collide.

Features

Day one to day two hundred.

From the first network to the hundredth deployment, the work you would script, done in one place.

Config as code

The app, or one command.

Describe an application in YAML and apply it. Diff it in CI, export a running one, promote between environments. Everything in the app is in the doit CLI too.

$ doit diff -f shop.yaml --environment prod
~ web   image acme/shop-web:2.3.1 → 2.4.0
~ api   desired tasks 2 → 3
$ doit apply -f shop.yaml --environment prod
Applying 2 changes to Shop (prod)…
✓ Deployment #12 is running
$ doit application health --id shop-prod
✓ healthy · web 3/3 · api 3/3 · checkout 2/2

Networking, ready

A VPC with public and private subnets, NAT and endpoints, or adopt one you already have. doIT picks a free range if you don't.

No Dockerfile needed

Point at a project folder; doIT detects the stack, builds the image and pushes it to Amazon ECR.

License policy

Every npm, PyPI, Go, Alpine, Debian and RPM package checked. Warn on or block what you forbid, and save the SBOM.

Roll back anything

Every apply is a numbered deployment. Edit in place, restart, retry a failed change or return to any earlier one.

Drift, caught

A read-only plan shows what changed outside doIT, a console hotfix or a deleted resource. Reconcile it in one click.

PostgreSQL, two ways

Versions 16 to 18: a disposable task for tests, or Amazon RDS with backups, Multi-AZ, snapshots and in-place upgrades.

Scheduled capacity

Four tasks on weekdays, one at night, in your time zone. AWS applies the schedule even while doIT is closed.

Never stuck

A run that stopped half-way can leave a state lock. doIT shows who holds it and releases it once nothing uses it.

Yours to keep

Your infrastructure never depends on doIT.

In every plan, and after a plan lapses: destroy and teardown, forget, export, and read-only access to everything you built. doIT never disables, degrades or deletes what runs in your account.

Download

Get doIT.

Install

doIT is not code-signed yet, so each operating system asks you to confirm the first time you open it.

macOS

  1. Open the .dmg and drag doIT to Applications.
  2. If macOS will not open doIT, go to System Settings › Privacy & Security and click Open Anyway next to doIT.
  3. If it says doIT “is damaged”, run this in Terminal, then open it again: xattr -dr com.apple.quarantine /Applications/doIT.app

Windows

  1. Run the .exe installer for your PC, x64 or ARM64, and choose where to install doIT.
  2. If Microsoft Defender SmartScreen shows “Windows protected your PC”, click More info, then Run anyway.
  3. Open doIT from the Start menu.

Linux

  1. AppImage: make it executable and run it: chmod +x doIT-*.AppImage && ./doIT-*.AppImage AppImages need FUSE 2; on Ubuntu install libfuse2 (libfuse2t64 on 24.04).
  2. Debian or Ubuntu: sudo apt install ./doIT-*.deb

Check a download

Compare the file's SHA-256 with the one listed above:

  • macOS: shasum -a 256 <file>
  • Linux: sha256sum <file>
  • Windows (PowerShell): Get-FileHash <file> -Algorithm SHA256

Requirements

  • A 64-bit Mac (Apple Silicon or Intel), Windows PC or Linux PC, x64 or ARM64.
  • An AWS account, and access keys or an AWS CLI profile for it. They stay on your computer and are never sent to doIT.
  • Docker or Podman, only to build container images.
  • Internet access: doIT downloads Terraform on first use and talks to AWS.