Skip to main content
RapidDev - Software Development Agency
No-Code to Code Migrations12 min readMaintenance mode

Migrating Motor Admin to Code: The Complete Playbook (2026)

Motor Admin (last release June 1, 2024) is stalled with no security updates for 2+ years. Your data is always in your own database — Motor Admin is a proxy. The motor.yml config file is human-readable and is your migration spec. The standalone Docker image (AGPL v3) creates copyleft risk if you serve the tool to others. Target stack: Next.js + Supabase. Typical timeline: 4–8 weeks.

4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members

Migration snapshot

Maintenance mode

Platform

a Motor Admin

Last release 0.4.27 on June 1, 2024; approximately 2 years without a release as of mid-2026 (github.com/motor-admin/motor-admin-rails). Dual-licensed: MIT Rails gem / AGPL v3 standalone Docker. No formal corporate support; single-maintainer project with PRs appearing restricted.

Typical timeline

4–8 weeks

Typical cost

$13K–$25K (agency, fixed)

Why teams leave a Motor Admin

Motor Admin is stalled, not dead — the MIT gem keeps running. But two years without a security patch means accumulating CVE exposure, and the AGPL Docker image creates a real legal risk for SaaS operators. The migration case is security hygiene and, for Docker users, licensing.

Stalled release cadence

Last release was June 1, 2024. No security updates, no dependency bumps for 2+ years as of mid-2026. The Ruby gem dependency chain is accumulating CVEs with no maintainer to address them.

AGPL copyleft risk on Docker image

The standalone Docker distribution (motoradmin/motoradmin) is AGPL v3. If you are offering Motor Admin as a service to others — including internal users in a SaaS context — AGPL requires releasing your modifications. The MIT Rails gem does not carry this restriction.

Single-maintainer project

No formal corporate entity; the project's longevity depends entirely on one maintainer. PRs appear restricted. If the maintainer archives the repo, the gem still runs (MIT) but gets no updates; the Docker image (AGPL) could pose problems without a maintainer to clarify obligations.

Pro features gated externally

White-label, MFA, and SSO/SAML are available on Motor Admin Pro (cloud only). The MIT gem core does not include these; there is no Pro self-host tier. Teams needing SSO on a self-hosted deployment have no path within Motor Admin.

motor.yml is a migration asset

The motor.yml config file is human-readable and version-controllable. It documents exactly what resources Motor Admin surfaces, including columns, filters, scopes, and SQL queries. This is your migration specification — a significant advantage over proprietary internal-tool platforms.

What can you actually take with you?

Your data is entirely yours — Motor Admin is a query proxy. The motor.yml config is your human-readable migration spec. There is no UI code to export but the architecture is transparent.

AssetCan you export it?HowNotes
DataYesMotor Admin connects to your own database (Postgres, MySQL, SQLite); data is entirely yours. CSV export available in-app; the tool is a query proxy — no vendor lock on data.Run rake motor:sync to ensure motor.yml reflects current state before migrating
CodeYesconfig/motor.yml is human-readable, Git-commitable, and synced with rake motor:sync; it is your migration specification documentThis is config, not app code — but it fully documents what pages, resources, and queries to rebuild
Design/UINoMotor Admin UI is the gem's own rendering; no HTML or React exportRebuild UI from the motor.yml resource spec; the UI is generic admin panel — straightforward to replicate
Logic/WorkflowsPartialSQL queries and dashboard definitions stored in motor.yml; readable and extractableMust be reimplemented in the new stack; motor.yml gives you the SQL to port
Users & AuthPartialMotor Admin manages its own user accounts over your app's auth system; extract user list before decommissioningPassword hash export not documented; your existing app's auth system is separate and unaffected

Swipe the table sideways to see the full breakdown.

Where each piece moves in code

Motor Admin maps systematically to Next.js + Supabase: each resource in motor.yml becomes one Next.js page, making this a predictable, scope-bounded migration.

a Motor Admin

Motor Admin (Rails gem / Docker proxy to your DB)

In code

Next.js admin panel with Supabase or Drizzle direct queries

Eliminates the Rails/Docker dependency; Next.js server-side runs within your existing stack

a Motor Admin

motor.yml (resource definitions, columns, filters, scopes)

In code

Use as spec to build one Next.js page per resource

motor.yml is the complete list of pages to build — use it as a checklist

a Motor Admin

Motor Admin data grids (table + filter + sort)

In code

shadcn/ui DataTable with TanStack Table

TanStack Table handles sorting, filtering, pagination natively

a Motor Admin

Motor Admin CRUD forms (create/edit/delete)

In code

react-hook-form + zod + Supabase mutations

Schema-validated forms with server-side mutations via Supabase

a Motor Admin

Motor Admin SQL queries and dashboards

In code

Supabase SQL editor queries surfaced in Next.js charts (Recharts)

Port SQL queries from motor.yml; wire to Recharts for dashboard visualization

a Motor Admin

Motor Admin audit log

In code

Supabase table with server-side write trigger

Insert a row on every mutation in Server Actions; query in an audit log page

a Motor Admin

Motor Admin Pro features (SSO/SAML, MFA, white-label)

In code

NextAuth v5 or Clerk with SAML provider

These features never existed in the MIT gem self-host; add fresh in the new build

a Motor Admin

Motor Admin Docker (AGPL)

In code

Eliminated — Next.js + Supabase on Vercel removes the AGPL concern entirely

Eliminating the AGPL Docker image resolves the copyleft risk immediately

The migration roadmap

Four phases: sync and commit motor.yml first (your spec), build the foundation, port each resource as a page, and cut over with an AGPL assessment resolved.

1

Spec Extraction & AGPL Assessment

3–5 days
  • Run rake motor:sync and commit the resulting motor.yml — this is your migration spec
  • Count resources in motor.yml: this is the exact number of Next.js pages to build
  • Determine if you are running the MIT gem or the AGPL Docker image
  • If Docker: assess AGPL obligations with legal counsel if operating in a SaaS context
  • Run bundle audit (MIT gem) or check Docker image CVEs to quantify security exposure

Watch out: Do not skip the AGPL assessment if using Docker — migration urgency increases if copyleft obligations are active

2

Foundation Setup

1 week
  • Provision Supabase with connections to your existing Postgres/MySQL databases
  • Set up Next.js (App Router), Tailwind, shadcn/ui, TanStack Table
  • Implement user table and role-based access mirroring Motor Admin's permission model
  • Configure Supabase Auth; plan user password reset flow
  • If adding SSO (never existed in gem): configure NextAuth v5 or Clerk with your SAML IdP
3

Per-Resource Page Migration

2–4 weeks
  • Build one Next.js page per resource listed in motor.yml
  • Implement DataTable with sorting, filtering, and pagination per resource
  • Add CRUD forms (react-hook-form + zod) for each resource
  • Port SQL queries and dashboards from motor.yml to Supabase + Recharts
  • Implement audit log table if compliance requires it
4

Cutover

2–3 days
  • Validate parity against Motor Admin using screenshots
  • Export user list and implement forced password reset flow
  • Decommission Motor Admin Docker or remove the gem from your Rails app
  • Confirm AGPL Docker image is no longer running in any environment

Watch out: Every additional day running the AGPL Docker image in a SaaS context extends potential copyleft obligations

Three ways to migrate — honestly

Every path has a real trade-off. Here is what each costs, how long it takes, and where it bites.

DIY (with AI tools)

$0–500 + time

3–6 weeks part-time

Fits

Rails developers comfortable with Next.js; small motor.yml with fewer than 10 resources; no SSO or audit log requirements

Risks

Dashboard SQL query porting is the most time-intensive part; underestimating it is the most common DIY failure mode

Freelancer

$3K–8K

4–6 weeks

Fits

Apps with clear resource inventory in motor.yml and no compliance requirements; a fixed-scope engagement works well here

Risks

Freelancers unfamiliar with Rails may not know to run rake motor:sync first; specify this in the project brief

Agency (RapidDev)

Done-for-you

$13K–25K fixed

4–8 weeks

Fits

Teams with AGPL compliance urgency, audit log requirements, SSO/SAML addition, or dashboards with complex SQL queries requiring careful porting

Risks

Highest upfront cost; justified when AGPL legal risk or compliance features make open-ended scope risky

The real risks — and how to defuse them

AGPL copyleft exposure from Docker image

Mitigation: If currently using the AGPL Docker image in a SaaS or multi-tenant context, each day of delay potentially extends copyleft obligations. Get a legal opinion and escalate migration timeline immediately if SaaS use is confirmed.

Ruby gem CVE accumulation

Mitigation: Run bundle audit immediately to quantify current exposure; share results with your security team to establish timeline urgency. Do not patch Basetool — migrate to a maintained stack instead.

Single-maintainer longevity

Mitigation: If the maintainer archives the repo, the MIT gem still runs but gets no updates. Plan migration before a critical CVE forces an emergency rebuild — scheduled migration beats reactive migration.

Audit log continuity

Mitigation: If Motor Admin's audit log tracks compliance-sensitive actions, implement the Supabase audit log table before cutover and validate it captures all required events. Do not decommission Motor Admin until audit continuity is confirmed.

Should you actually migrate?

Migrating is a real project. Sometimes staying is the right call — here is the honest split.

Stay if

  • You are using the MIT Rails gem (not Docker), your app is internal-only (not SaaS), and your security team has not flagged gem CVEs in any audit
  • The core CRUD features cover all your needs and you have no SSO, MFA, or white-label requirements
  • The admin panel is low-usage (a few ops people) and migration cost genuinely outweighs risk at this moment — freeze access and plan for the next quarter

Migrate if

  • You are using the AGPL Docker image in a SaaS or multi-tenant context — AGPL copyleft obligations are a real legal risk that begins on day one
  • Your security team has flagged unmaintained gem dependencies in an audit
  • You need Pro features (SSO/SAML, MFA, white-label) that are not available in the MIT self-host at any price

Our honest verdict

Motor Admin is the gentlest migration in this group: your data is external, motor.yml is your spec, and the target architecture is well-known. The primary escalating risk is AGPL exposure on Docker — if you are running Docker in a SaaS context, escalate now.

Do this today: pre-migration checklist

Whatever path you choose, protect yourself first. Work through this before you touch a line of code.

Run rake motor:sync and commit the resulting motor.yml to Git

motor.yml is your complete migration spec; it must reflect current state before you start building

Determine if you are running the MIT gem or the AGPL Docker image

The AGPL vs MIT distinction changes migration urgency significantly; Docker users in SaaS contexts have legal exposure

Run bundle audit (MIT gem) or check Docker image CVEs to quantify current security exposure

The audit output gives you the security argument for timeline and prevents surprises from your security team mid-migration

Export user list from Motor Admin before decommissioning

Motor Admin manages its own user accounts; extract name, email, and role before the instance is gone

Inventory every resource in motor.yml — count pages, filters, scopes, and custom SQL queries

Resource count is your migration scope; each resource is one Next.js page; knowing the count gives you an accurate timeline

Confirm your underlying database (Postgres/MySQL) credentials are accessible outside Motor Admin

Direct database access is the foundation of the new stack; verify credentials before writing a line of code

Frequently asked questions

Can I export my Motor Admin configuration?

Yes — config/motor.yml is human-readable, Git-commitable, and fully documents your resources, columns, filters, scopes, and SQL queries. Run rake motor:sync to ensure it reflects the current state before migrating. This is your migration spec; most proprietary admin tools offer nothing comparable.

Is Motor Admin shutting down?

Not formally — the last release (0.4.27) was June 1, 2024, and the MIT gem can keep running indefinitely without a maintainer. However, there have been no security patches or dependency updates for 2+ years as of mid-2026. The project is effectively in maintenance-only status with a single maintainer and restricted PRs.

What is the AGPL risk with Motor Admin Docker?

The standalone Docker image (motoradmin/motoradmin) is licensed under AGPL v3. If you are running Motor Admin as a service for other users — including employees in a SaaS product context — AGPL requires you to release your modifications under AGPL as well. The MIT Rails gem does not carry this restriction. If you are unsure whether your use case triggers AGPL, consult legal counsel before continuing to run the Docker image.

What is the difference between the MIT gem and the AGPL Docker image?

The Rails gem (motor-admin on RubyGems) is MIT licensed — permissive, no copyleft, use it how you want in any context. The Docker image (motoradmin/motoradmin on Docker Hub) is AGPL v3 — copyleft applies if you serve it to others. If you installed Motor Admin as a Rails gem, you are on MIT. If you run it as a standalone Docker container without Rails, you are on AGPL.

How long does migrating from Motor Admin take?

Typically 4–8 weeks. motor.yml gives you a precise scope: count the resources (each becomes one Next.js page) and the SQL queries (each needs porting). Dashboards with complex SQL are the main variable. Apps with fewer than 10 resources and no dashboards are on the shorter end.

What happens to my users when I migrate off Motor Admin?

Motor Admin manages its own user accounts over your app's auth system. Extract the user list (name, email, role) before decommissioning. Password hashes are not documented as exportable; users will need a forced password reset on the new platform. Your existing application's auth system is separate and completely unaffected.

Can RapidDev migrate our Motor Admin instance?

Yes. RapidDev offers fixed-price Motor Admin migrations ($13K–$25K, 4–8 weeks), including AGPL Docker elimination, SSO/SAML addition, audit log implementation, and dashboard SQL porting. Book a free scoping call to count your motor.yml resources and get an accurate estimate.

Can I just keep running Motor Admin with the MIT gem?

If you are using the MIT Rails gem (not Docker), the app is internal-only (not SaaS), and your security team has not flagged CVEs, you can continue running it while planning a migration. The MIT license does not create legal risk. The risk is purely security: unmaintained Ruby gem dependencies accumulate CVEs. Run bundle audit now to quantify current exposure, then set a migration deadline.

RapidDev

We migrate no-code apps to production code

  • Fixed price — $13K–$25K (agency, fixed)
  • No data loss, no downtime
  • You own 100% of the code
Get a fixed-price quote

30-min call. Quote within 48 hours.

Your next step

Still weighing your options?

Talk to a team that ships on all of these platforms. A free consultation gets you an honest recommendation for your specific project — even if the answer is a tool, not us.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.