How to Migrate from Kanboard to a Modern UI Without Losing Data
Migrating from Kanboard to a modern interface is straightforward because FrankBoard preserves full database compatibility with the Kanboard ecosystem. Your existing tasks, projects, swimlanes, and user data transfer directly without conversion or export scripts. The transition primarily involves pointing your existing PostgreSQL database to a new frontend container while keeping your data layer intact.
How to Migrate from Kanboard to a Modern UI Without Losing Data
What Makes This Migration Different From Typical Platform Switches
Most project management migrations require painful export-import cycles, CSV transfers, or API scripting that loses relationships, comments, and history. FrankBoard avoids this entirely by maintaining native compatibility with Kanboard's database schema. The backend remains functionally identical; only the presentation layer changes.
This architectural decision means your migration is not a data migration in the traditional sense. You are replacing the user interface and application server while preserving the exact same database. Your task IDs, project structures, user assignments, and activity logs remain untouched.
Pre-Migration: What You Need in Place
Before beginning, confirm three elements are ready:
- A running PostgreSQL database currently serving Kanboard. FrankBoard does not support MySQL at this time, so verify your backend is PostgreSQL.
- Docker and Docker Compose installed on your target server. FrankBoard distributes exclusively as containerized images.
- Backup verification. Though the process is non-destructive to your data, standard practice demands a verified
pg_dumpbackup before any infrastructure change.
If you are currently running Kanboard with SQLite, convert to PostgreSQL first using established Kanboard migration documentation. FrankBoard requires PostgreSQL for production deployments.
The Migration Process Step by Step
Step 1: Halt Kanboard Services
Stop your existing Kanboard container or PHP-FPM service. Do not stop the database container. The goal is to prevent write operations during the brief transition window, not to disrupt data availability.
Step 2: Deploy FrankBoard Container
Pull the official FrankBoard image and start it with environment variables pointing to your existing database connection string. The required variables are standard PostgreSQL connection parameters: host, port, database name, user, and password.
FrankBoard automatically detects the Kanboard schema version and applies any necessary frontend-facing migrations. These are additive only; they do not alter existing table structures in ways that would break Kanboard compatibility.
Step 3: Verify Data Integrity
Log into FrankBoard using existing Kanboard credentials. Confirm that:
- All projects appear with correct task counts
- Swimlane configurations are preserved
- Task details, comments, attachments, and subtasks are accessible
- User permissions and role assignments remain intact
Step 4: Redirect Traffic
Update your reverse proxy, DNS, or load balancer to point requests to the FrankBoard container port. Retire the old Kanboard application container once you confirm stable operation.
What Data Transfers Automatically
The following elements appear in FrankBoard without manual intervention:
- Projects, boards, and swimlanes
- Tasks with full metadata: priority, color, due dates, complexity scores
- Columns and work-in-progress limits
- Users, groups, and permission matrices
- Comments, attachments, and activity streams
- Plugin data stored in standard Kanboard tables
What Requires Attention
Certain edge cases deserve awareness:
- Custom Kanboard plugins that modified the database schema may need compatibility review. FrankBoard supports the core schema plus commonly extended tables, but bespoke plugin structures may require adjustment.
- Theme and CSS customizations do not transfer. FrankBoard provides its own modern interface with dark mode and responsive design; manual styling from Kanboard will not apply.
- Webhook and integration URLs may need updating if they reference your old domain or container name.
Rollback Safety
Because the original database remains structurally intact, reverting to Kanboard is possible by simply stopping FrankBoard and restarting your previous Kanboard container. No data transformation occurs in either direction. This makes the migration exceptionally low-risk for production environments.
Performance and Infrastructure Considerations
FrankBoard's container footprint is comparable to Kanboard's PHP-based deployment. Typical VPS configurations handling Kanboard comfortably (1-2 GB RAM, single-core for light use) perform equivalently with FrankBoard. The modern frontend uses client-side rendering for board interactions, which reduces server round-trips and often improves perceived responsiveness on slower connections.
Key Takeaways
- FrankBoard maintains native database compatibility with Kanboard, eliminating export-import complexity
- Migration involves replacing the application container while keeping PostgreSQL running
- All core data—tasks, projects, users, history—transfers without conversion
- The process is reversible; original Kanboard remains runnable if needed
- Docker deployment with standard environment variables completes the transition in minutes
- Custom plugins and manual styling require individual review but do not block core functionality