Docs
Getting started
Install InfraLedger on one server, deploy an application and connect a database.
Installation files and configuration values are provided with early access. Request access
Overview
InfraLedger is a self-hosted platform made of three parts that run together:
- An API that manages organizations, projects, applications and data services
- A web dashboard that developers use instead of Docker commands, YAML or SSH
- A PostgreSQL database that stores the platform's own state and audit log
On a single server, InfraLedger runs workloads with Docker. On a cluster, it runs the same workloads on Kubernetes.
Requirements
- A 64-bit Linux server with Docker Engine and the Docker Compose plugin
- Ports 80 and 443 reachable, so InfraLedger can serve apps over HTTPS
- A domain or subdomain that points to the server, for the dashboard and your apps
Server sizing depends on how many applications and databases you plan to run. We size it with you during onboarding.
Install
Clone the files you received with your access, then start the platform:
git clone <your-access-url> infraledger
cd infraledger
docker compose up -d
Docker Compose starts the API, the dashboard, the platform database and the reverse proxy. Check that everything is running with docker compose ps.
Open the dashboard
Visit the domain you configured for the dashboard. For a local evaluation, use app.localhost. Create your account, then create an organization and a first project. Projects group the applications and databases that belong together, and each gets its own private network.
Deploy your first app
- In your project, open Applications and choose New application.
- Pick a source: a Git repository or an image from a container registry.
- Add any environment variables. They're encrypted at rest.
- Choose Deploy. InfraLedger builds the app, issues a certificate and starts it.
Every deploy appears in the app's history with its build log, and in the organization's audit log.
Add a database
Open Databases, choose Add service and pick an engine: PostgreSQL, MySQL, MariaDB, Redis, object storage or RabbitMQ. Connection credentials can be shared with applications in the same project through project-level variables. Set a backup schedule from the service's settings.
Add a custom domain
Point a DNS record for your domain at the server, then add the domain in the application's settings. InfraLedger requests a certificate from Let's Encrypt and renews it automatically. You can also manage DNS zones for your own domains from the dashboard.
| Domain | Certificate | Status |
|---|---|---|
| shop.example.com | Let's Encrypt, auto-renew | Active |
| api.example.com | Let's Encrypt, auto-renew | Active |
| new.example.com | Waiting for DNS | Pending |
Point an A record for new.example.com to 203.0.113.10. The certificate is issued as soon as DNS resolves.
Move to Kubernetes
When one server isn't enough, InfraLedger can run the same applications and databases on a Kubernetes cluster through its Kubernetes provider. Developers keep the same dashboard and workflow. Our engineers guide this move with you.
Getting help
Email hello@etdledger.com or send us a request. ETDLedger engineers help with installation, onboarding and ongoing support.