Getting started with self-hosting

Register with portal.vdf.ai, get approved, generate credentials, and land your first self-hosted package — end to end in one walkthrough.

On this page

What this walkthrough covers

By the end of this guide you’ll have:

  1. A portal.vdf.ai account, verified and approved.
  2. A working set of credentials for pulling packages.
  3. A deployed package running in your environment.
  4. Validated that the services are healthy and reachable.

Most teams complete this in one business day — the longest wait is the account approval (typically under 24 hours), not the deploy itself.

Do the registration first. Approval takes some real-world time. Get the account moving while your platform team confirms target environment, sizing, and network access. By the time approval comes through, you're ready to deploy.

Step 1 — Register at portal.vdf.ai

Open portal.vdf.ai and click Create account.

You’ll provide:

  • Your name and work email. Use a real, monitored address — the verification link and approval email both land there.
  • Company name and country. Used for the access record and any compliance touchpoints.
  • Job title and company size. Helps our team understand who’s on the other side.
  • A short note on your use case. One or two sentences. The more concrete the better (“we’re deploying for our regulated EU customers; air-gapped K8s in our own region”).
  • A password. Standard complexity rules.

Submit. The portal sends a verification email immediately.

Step 2 — Verify your email

Click the link in the verification email. Your account status moves from Pending verification to Pending approval.

If the email didn’t arrive within a few minutes, check spam, then use the “Resend verification” option on the portal sign-in screen.

Step 3 — Wait for approval

Our team reviews new accounts manually. The typical window is less than one business day; in some cases it lands within a few hours.

You’ll receive an email when your account is approved. The portal status changes to Active, and the package catalog becomes visible.

While you wait, prep your environment. Confirm your target host or cluster, install Docker (or your orchestrator of choice), and clear any firewall rules for outbound image pulls. The infrastructure requirements page lists exactly what you need.

Step 4 — Browse the package catalog

After approval, sign in and open the Packages area. Today the catalog includes:

  • VDF AI Compliance Foundation — the full EU AI Act compliance platform.

More packages will appear in the catalog over the coming releases. For each package you’ll see:

  • A short description and who it’s for.
  • The current version available to your account.
  • The system requirements (compute, memory, storage, network).
  • A list of services that come together as that package.

Pick the package you came for. For most first-time self-hosters, that’s VDF AI Compliance Foundation — see the package detail page for a tour of what it contains.

Step 5 — Generate download credentials

From the package detail screen in the portal, click Generate credentials.

The portal returns:

  • A docker login command you can paste into your terminal.
  • A list of docker pull commands — one per service in the package.
  • A countdown showing how long the credentials remain valid.

Credentials are time-limited. They expire automatically — typically within 12 hours of generation. This is a deliberate security choice. If they expire mid-deploy, just generate a fresh set. The portal allows new credentials on demand.

The credentials grant read-only access scoped to your package(s). They can’t push, delete, or reach anything outside the package registry — even if leaked.

Step 6 — Pull the package images

On your target environment, paste the docker login command. Then run the docker pull commands one by one (or in parallel — Docker handles concurrent pulls fine).

Pull times vary with your network. A typical self-hosted package is a few gigabytes total. On a fast connection that’s a few minutes; on a slow one, expect more.

If your environment is air-gapped and can’t reach the registry, see the air-gapped path in Infrastructure requirements — you’ll mirror the images locally first.

Step 7 — Bring up the package

Each package ships with a recommended startup configuration. For most packages today that means:

  • A docker-compose.yml file that brings up all the services together.
  • A small .env file for the few values you need to set (database password, hostname, optional integrations).
  • An install guide specific to the package, available in the portal.

For your first deployment, Docker Compose on a single host is the fastest path. Production setups commonly move to Kubernetes after the first deployment is validated.

A typical first bring-up:

docker compose up -d

The services start, the database initializes, and the frontend becomes reachable on the port you configured.

Step 8 — Validate

Walk through these checks before considering the deploy “done”:

  1. All services are running.

    docker compose ps shows every service in a healthy state. None are stuck restarting.

  2. The frontend is reachable.

    Open the URL in a browser. You should see the package's sign-in page.

  3. You can create an admin user.

    Follow the package's first-run setup to provision the initial admin account.

  4. Logs are clean.

    Spot-check docker compose logs for the last few minutes. Brief startup chatter is normal; persistent error loops are not.

  5. A basic flow works.

    Sign in. Run one task the package is built for. Confirm the result is what you'd expect.

If all five pass, your deployment is healthy.

Step 9 — Hand off to your team

Now that the package is running, the work shifts to enabling your users:

  • Add the rest of your team. The deployed package has its own user management — create accounts for everyone who’ll use it.
  • Connect sources and integrations. If the package supports connected apps (most do), wire up Google, Microsoft, Slack, Jira, and others.
  • Set the operational cadence. Log retention, backup schedule, monitoring, and the rhythm for pulling updates. See Operations for a starting checklist.
  • The portal — account states, credentials, multi-user access.
  • Infrastructure requirements — exact compute, network, and storage detail.
  • Operations — updates, monitoring, scaling once you’re running.
  • FAQ — common questions about approval, air-gapped deploys, and licensing.