Tip
Last updated: 2026-03-26 12:30 CET. This document is the single source of truth for the full platform migration. Every container, database, domain, and issue is listed — nothing is summarized or hidden.
The Magic e-VERSE platform has been migrated from a legacy bare-metal server (Nginx + Docker Compose, 58 containers) to a new Contabo VPS running Coolify v4 (Traefik + automated Docker deployments, 101 running containers ). The migration spans 10 phases , of which phases 1–9 are complete and phase 10 (DNS cutover) is planned .
Metric Old Server New Server IP 83.86.98.93 (SSH port 22022)159.195.68.41 (SSH port 22)OS Ubuntu 24.04 LTS Debian 13 (Trixie) Hardware 8 cores, 32 GB RAM, 1 TB 12 cores, 32 GB RAM, 1 TB Disk Usage 87% (29 GB free) 31% (669 GB free) RAM Usage — 19 GB / 31 GB (no swap) Reverse Proxy Nginx (108 site configs) Traefik v3.6 (Docker labels, auto-SSL) Container Orchestration Docker Compose (manual) Coolify v4.0.0-beta.469 (Git-based deploys) Domain *.magiceverse.online*.magicomniverse.onlineRunning Containers 58 101 PostgreSQL Databases 54 54 MySQL Databases 9 9 SSL Let’s Encrypt via Certbot Let’s Encrypt via Traefik (automatic) Monitoring Glances (port 61208) Netdata (monitor.magicomniverse.online)
Phase Description Status Date 1 Monorepo setup (midego1/Magic-e-VERSE) + GitHub App Done 2026-03-24 2 Coolify install + Brinxx tenant (template) Done 2026-03-24 2b Magic Access auth proxy + Netdata monitoring Done 2026-03-24 3 Feature flag integration (27 features, 21 API guards) Done 2026-03-24 4 N8N (4 instances), AI Agents (10), Redis, Supporting services Done 2026-03-25 5a Internal commerce tenants (development, demo, default, master) Done 2026-03-25 5b Client commerce tenants (bovisales, jodasign, logohorloge, spranz) Done 2026-03-26 5c Backend-only tenants (desluis, toolvizion) Done 2026-03-26 6 PIM system migration (189 tables, 11,254 products) Done 2026-03-26 7 Portal + MySQL migration Done 2026-03-26 8 Business services (Connector, Contact) Done 2026-03-26 9 Tools (Editor, 3D, Logo, Modal, Moodshot, Resize) Done 2026-03-26 10 DNS cutover + old server decommission Planned TBD
Every issue found and fixed during the migration audit:
# Issue Severity Root Cause Fix Status R1 Brinxx backend 500 HIGH Stale link_module_migrations rows + missing Traefik middleware magic-forward-auth@docker Truncated migration table; created Docker helper container to register middleware Fixed R2 Default backend 500 HIGH Same stale migration rows Truncated link_module_migrations Fixed R3 Toolvizion SSL/503 HIGH Already resolved before audit N/A Fixed R4 Portal 500 after login CRITICAL MySQL session store used 172.17.0.1 (Docker bridge gateway) — unreachable from Coolify network. Duplicate magic-portal container caused Traefik round-robin Changed MySQL host to mysql (Docker DNS); removed duplicate container; pushed fix to midego1/Magic-Portal repo Fixed R5 Spranz storefront missing 14+ branded files CRITICAL Tenant-specific files never committed to monorepo Created tenants/spranz/storefront/ overlay (20 files) with custom Dockerfile; merged to main via PR #7 Fixed R6 18 missing Spranz products MEDIUM Products added after initial DB dump Exported 18 products + 225 related rows from old server, imported to new Fixed R7 Missing user_rbac_role table (Spranz) MEDIUM Table not in original dump Created from old server schema + data Fixed R8 MySQL magic_doc — 59 empty tables CRITICAL Only schema was migrated, not data Full mysqldump from old server imported — 22 tables now have data Fixed R9 Missing user_rbac_role in 5 tenant DBs (bovisales, desluis, jodasign, logohorloge, toolvizion) MEDIUM Table not in original dump Created empty table with correct schema + indexes on all 5 DBs Fixed R10 Jodasign missing 143 quotation headers + 410 quotation lines HIGH Data added after initial DB dump Truncated + reimported all APLT data (231 headers, 630 lines, 21 order headers, 92 order lines) Fixed R11 18 missing products in 6 tenant DBs (default, demo, bovisales, desluis, jodasign, development) MEDIUM Products added after initial DB dump Exported missing products + all related rows (variants, options, images, prices, categories) per tenant Fixed R12 52 missing products + 144 variants in Brinxx MEDIUM Products added after initial DB dump Exported + imported with all related data (options, variants, prices, categories) Fixed R13 Magic Terminal not deployed LOW Repo not added to GitHub App Deployed as Coolify app Fixed R14 magic_agent_maw / mawordering DBs missingLOW Legacy/unused databases Intentionally skipped Wontfix R15 Flowbuilder 404 on root LOW API-only service, no root route handler Expected behavior — API endpoints work on /api/ paths Wontfix
┌──────────────────────────────────────────────────────────────────┐
│ Coolify v4.0.0-beta.469 — 159.195.68.41 (Debian 13) │
│ 12 cores | 32 GB RAM | 1 TB disk (31% used) │
│ 101 running containers | 0 exited containers │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ Traefik v3.6 (reverse proxy) │ │
│ │ - Docker provider (auto-discovers container labels) │ │
│ │ - Let's Encrypt auto-SSL (certresolver: letsencrypt) │ │
│ │ - HTTP→HTTPS redirect on all routes │ │
│ │ - gzip compression middleware │ │
│ └──────────────┬─────────────────────────────────────────────┘ │
│ ┌──────────────▼──────────────────────────────────────────────┐ │
│ │ Commerce Tenants (11 tenants × 1-3 containers each) │ │
│ │ brinxx │ backend + storefront + redis │ │
│ │ default │ backend + storefront + redis │ │
│ │ demo │ backend + storefront + redis │ │
│ │ bovisales │ backend + storefront + redis │ │
│ │ jodasign │ backend + storefront + redis │ │
│ │ logohorloge │ backend + storefront + redis │ │
│ │ spranz │ backend + storefront + redis │ │
│ │ development │ backend + storefront + redis │ │
│ │ desluis │ backend + redis (no storefront) │ │
│ │ toolvizion │ backend + redis (no storefront) │ │
│ │ master │ backend + redis (no storefront) │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌────────────────────────┐ │
│ │ magic-postgres│ │ mysql │ │ Redis (13 instances) │ │
│ │ PostgreSQL 16│ │ MySQL 8 │ │ Only brinxx-redis │ │
│ │ 54 databases │ │ 9 databases│ │ has healthcheck │ │
│ └─────────────┘ └─────────────┘ └────────────────────────┘ │
│ ┌─────────────────────┐ ┌──────────────────────────────────┐ │
│ │ AI Agents (10) │ │ N8N Instances (4) │ │
│ │ + 2 Redis │ │ n8n-main, n8n-2, n8n-3, │ │
│ │ + flowbuilder │ │ n8n-clean │ │
│ │ + webhook-server │ └──────────────────────────────────┘ │
│ └─────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Portal (:4096) | PIM (:9000) | Connector | Contact │ │
│ │ Editor | 3D | Logo | Modal | Moodshot | Resize │ │
│ │ Terminal (Sshwifty :8182) | Netdata (:19999) │ │
│ │ Dashboard | Magic Access (:3334) │ │
│ │ Nextcloud | OnlyOffice | Docker Registry (:5000) │ │
│ └──────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘
# Container Tenant FQDN Status 1 brinxx-backendbrinxx admin-brinxx.magicomniverse.online Running 2 default-backenddefault admin-default.magicomniverse.online Running 3 demo-backenddemo admin-demo.magicomniverse.online Running 4 development-backenddevelopment admin-development.magicomniverse.online Running 5 master-backendmaster admin-master.magicomniverse.online Running 6 bovisales-backendbovisales admin-bovisales.magicomniverse.online Running 7 desluis-backenddesluis admin-desluis.magicomniverse.online Running 8 jodasign-backendjodasign admin-jodasign.magicomniverse.online Running 9 logohorloge-backendlogohorloge admin-logohorloge.magicomniverse.online Running 10 spranz-backendspranz admin-spranz.magicomniverse.online Running 11 toolvizion-backendtoolvizion admin-toolvizion.magicomniverse.online Running
# Container Tenant FQDN Status 12 brinxx-storefrontbrinxx brinxx.magicomniverse.online Running (307 → /nl) 13 default-storefrontdefault default.magicomniverse.online Running (307 → /nl) 14 demo-storefrontdemo demo.magicomniverse.online Running (307 → /nl) 15 development-storefrontdevelopment development.magicomniverse.online Running (307 → /nl) 16 bovisales-storefrontbovisales bovisales.magicomniverse.online Running (307 → /nl) 17 jodasign-storefrontjodasign jodasign.magicomniverse.online Running (307 → /nl) 18 logohorloge-storefrontlogohorloge logohorloge.magicomniverse.online Running (307 → /nl) 19 spranz-storefrontspranz spranz.magicomniverse.online Running (307 → /nl)
# Container Project Healthcheck 20 brinxx-redis (shared-redis)brinxx Yes 21 redis-defaultCommerce Tenants No 22 redis-demoCommerce Tenants No 23 redis-developmentCommerce Tenants No 24 redis-masterCommerce Tenants No 25 toolvizion-redisCommerce Tenants No 26 bovisales-redisbovisales No 27 desluis-redisdesluis No 28 jodasign-redisjodasign No 29 logohorloge-redislogohorloge No 30 spranz-redisspranz No 31 agent-redisagents No 32 agent-spranz-redisagents No
# Container FQDN Health 33 agent-brinxxaicheck.magicomniverse.online Healthy (200) 34 agent-spranzaicheck-spranz.magicomniverse.online Healthy (200) 35 agent-jodasignagent-jodasign.magicomniverse.online Healthy (timeout!) 36 agent-magiceverseagent-magiceverse.magicomniverse.online Healthy (200) 37 agent-magic_dwfagent-dwf.magicomniverse.online Healthy (200) 38 agent-support_agentagent-support.magicomniverse.online Healthy (200) 39 agent-ollivandersagent-ollivanders.magicomniverse.online Healthy (200) 40 agent-princessagent-princess.magicomniverse.online Healthy (200) 41 agent-topgivingagent-topgiving.magicomniverse.online Healthy (200) 42 agent-logohorlogeagent-logohorloge.magicomniverse.online Healthy (200)
# Container FQDN Port Status 43 flowbuilderflowbuilder.magicomniverse.online 3003 Running (404 at root = expected, API-only) 44 escalation-serverescalation.magicomniverse.online 11099 Running (200) 45 webhook-serverwebhook.magicomniverse.online 11098 Running (404 at root = expected, API-only) 46 widget-serveragent.magicomniverse.online 4061 Running (404 at root = expected, API-only)
# Container FQDN Status 47 n8n-mainn8n.magicomniverse.online Running (200) 48 n8n-2n8n2.magicomniverse.online Running (200) 49 n8n-3n8n3.magicomniverse.online Running (200) 50 n8n-cleann8n-clean.magicomniverse.online Running (200)
# Container Type Port Status 51 magic-postgresPostgreSQL 16 5432 Running (healthy) 52 mysqlMySQL 8 3306 Running 53 coolify-dbPostgreSQL (Coolify internal) — Running (healthy) 54 coolify-redisRedis (Coolify internal) — Running (healthy)
# Container FQDN Status 55 magic-connectorconnector.magicomniverse.online Running (200) 56 magic-contactcontact.magicomniverse.online Running (200)
# Container FQDN Status 57 magic-editoreditor.magicomniverse.online Running (200) 58 magic-3d3d.magicomniverse.online Running (404 JSON — API-only) 59 magic-logologo.magicomniverse.online Running (200) 60 magic-modalmodal.magicomniverse.online Running (200) 61 magic-moodshotmoodshot.magicomniverse.online Running (200) 62 magic-resizeresize.magicomniverse.online Running (200) 63 magic-terminalterminal.magicomniverse.online Running (501 on curl — WebSocket service, works in browser)
# Container FQDN Status 64 portalportal.magicomniverse.online Running (200) 65 magic-accessaccess.magicomniverse.online Running (200) 66 magic-dashboarddashboard.magicomniverse.online Running (200)
# Container FQDN / Port Status 67 coolifycoolify.magicomniverse.online (:8000) Running (healthy) 68 coolify-proxy (Traefik)ports 80/443/8080 Running (healthy) 69 coolify-realtimeWebSocket Running (healthy) 70 coolify-sentinelmonitoring Running (healthy) 71 registryDocker registry (:5000) Running 72 buildx_buildkit_turbo0build kit Running 73 magic-forward-auth-helperauth middleware Running
# Container FQDN Status 74 netdatamonitor.magicomniverse.online Running (healthy)
# Container FQDN Status 75 nextcloud_appdocs.magicomniverse.online Running (302) 76 nextcloud_dbinternal MySQL Running 77 onlyoffice_docsoffice.magicomniverse.online Running (302)
# Project UUID Contents 1 Commerce Tenants ra5w4beuzwbsj39bxjtlp33adefault-backend, default-storefront, demo-backend, demo-storefront, development-backend, development-storefront, master-backend, redis-default, redis-demo, redis-development, redis-master, toolvizion-backend, toolvizion-redis 2 agents ly8emm9hcayrv31odbrxy9tragent-brinxx, agent-spranz, agent-jodasign, agent-magiceverse, agent-magic_dwf, agent-support_agent, agent-ollivanders, agent-princess, agent-topgiving, agent-logohorloge, agent-redis, agent-spranz-redis, flowbuilder, escalation-server, webhook-server, widget-server 3 bovisales u60xain9eru7mq9oepq40jwfbovisales-backend, bovisales-storefront, bovisales-redis (+2 exited old deployments) 4 brinxx p3a414nfh4c0woaz40g8mpvdbrinxx-backend, brinxx-storefront, shared-redis (brinxx-redis), magic-postgres 5 business-services gwd6yqz3oat1ka9l9l9l9412magic-connector, magic-contact 6 default y37xr5h1lvb9cabw3yrkf4i2default-backend, default-storefront 7 demo qzphj6v118folh10zfostenkdemo-backend, demo-storefront 8 desluis kekoexxuyou8j9w3n9bfywk6desluis-backend, desluis-redis, desluis-storefront (+1 exited old backend) 9 development g12bzun1q64oqwljm1jyoxz1development-backend, development-storefront 10 jodasign p124fkya1oj1j16gobrzom7zjodasign-backend, jodasign-storefront, jodasign-redis (+2 exited old deployments) 11 logohorloge o46mvqff13ukvhziaotcm1zrlogohorloge-backend, logohorloge-storefront, logohorloge-redis (+2 exited old deployments) 12 n8n t10zqw5ff2czpvz0xl7akg6rn8n-main, n8n-2, n8n-3, n8n-clean 13 pim vinrsqy0eqf0k38aepzr05vqpim-backend 14 portal guiv6q9ktejyggk9rsbgldmcportal 15 spranz mu2gbfvdliyucernkoa34z4ispranz-backend, spranz-storefront, spranz-redis (+2 exited old deployments) 16 tools a11xohldkir9aodr2ek0l6asmagic-editor, magic-3d, magic-logo, magic-modal, magic-moodshot, magic-resize, magic-terminal
# App Project FQDN Status X1 toolvizion-backend (old) Commerce Tenants sslip.io Exited X2 bovisales-backend (old) bovisales sslip.io Exited X3 bovisales-storefront (old) bovisales sslip.io Exited X4 desluis-backend (old) desluis sslip.io Exited X5 jodasign-backend (old) jodasign sslip.io Exited X6 jodasign-storefront (old) jodasign sslip.io Exited X7 logohorloge-backend (old) logohorloge sslip.io Exited X8 logohorloge-storefront (old) logohorloge sslip.io Exited X9 spranz-backend (old) spranz sslip.io Exited X10 spranz-storefront (old) spranz sslip.io Exited
Note
The Spranz storefront uses a tenant overlay pattern : base storefront code from /storefront/ is built first, then 20 Spranz-specific files from /tenants/spranz/storefront/src/ are overlaid on top. This includes branded homepage, navigation, hero slider, categories, AI search, and chat widget components. The Coolify app’s base_directory is set to / and dockerfile_location to /tenants/spranz/Dockerfile.storefront.
# Database Tables Products Variants Status 1 magic_b2b_brinxx200 14,966 55,159 Synced 2 magic_b2b_spranz198 15,410 65,719 Synced 3 magic_b2b_default188 15,274 65,583 Synced 4 magic_b2b_demo188 16,730 78,797 Synced 5 magic_b2b_bovisales188 16,729 78,795 Synced 6 magic_b2b_desluis186 16,729 78,795 Synced 7 magic_b2b_jodasign194 17,779 79,046 Synced 8 magic_b2b_logohorloge193 46 153 Synced 9 magic_b2b_development217 11,247 72,480 Synced 10 magic_b2b_toolvizion217 757 757 Synced
# Database Tables Notes 12 magic_pim189 11,254 products, 73,458 variants 13 master_magic146 Master commerce (0 products) 14 magic_connector5 Supplier data connector 15 magic_contact1 Contact management 16 magic_access5 Access management
# Database Tables Notes 17 magic_logo20 Main logo DB 18 magic_logo_default19 Default logo config 19 magic_logohorloge_logo11 Logohorloge logo config 20 magic_spranz_logo12 Spranz logo config
# Database Tables 21 magic_agent5 22 magic_agent_brinxx45 23 magic_agent_default_agent40 24 magic_agent_jodasign49 25 magic_agent_langenberg38 26 magic_agent_logohorloge18 27 magic_agent_magic_dwf49 28 magic_agent_magiceverse49 29 magic_agent_ollivanders49 30 magic_agent_princess46 32 magic_agent_spranz43 33 magic_agent_support_agent49 34 magic_agent_topgiving48 35 magic_agent_wayne48 36 magic_escalation7
# Database Tables Notes 37 magic_demokkenkoning_logo2 Legacy 38 magic_dwf0 Empty shell 39 magic_management1 Legacy (replaced by portal) 40 magiceverse0 Empty shell 41 magiceverse3_cms14 Legacy CMS 42 mailer5 Legacy mailer 43 maw_kalender18 Legacy calendar 44 moodshot_service1 Moodshot 45 ollivanders0 Empty shell 46 princess0 Empty shell 47 spranz1 Legacy 48 spranzpdf9 Legacy PDF 49 topgiving0 Empty shell 50 wireframes1 Legacy 51 workshopmw9 Legacy workshop 52 postgres0 System default 53 template0— System 54 template1— System
Database Present Rows magic_b2b_brinxxYes 0 magic_b2b_spranzYes 0 magic_b2b_defaultYes 0 magic_b2b_demoYes 0 magic_b2b_developmentYes 0 magic_b2b_bovisalesYes (created 2026-03-26) 0 magic_b2b_desluisYes (created 2026-03-26) 0 magic_b2b_jodasignYes (created 2026-03-26) 0 magic_b2b_logohorlogeYes (created 2026-03-26) 0 magic_b2b_toolvizionYes (created 2026-03-26) 0
Table Rows Status api_endpoints8 Imported asset_changelog0 Empty (same as old server) asset_containers0 Empty asset_credentials0 Empty asset_databases0 Empty asset_dependencies0 Empty asset_domains77 Imported asset_metrics0 Empty asset_overview0 Empty asset_pm2_services0 Empty asset_ports58 Imported asset_resources0 Empty asset_servers0 Empty assets78 Imported available_ports0 Empty categories23 Imported code_snippets18 Imported contacts0 Empty crm_lead_activities0 Empty crm_lead_tasks0 Empty crm_leads0 Empty diagrams0 Empty documents93 Imported ecommerce_project_access0 Empty ecommerce_uploads0 Empty endpoint_annotations0 Empty expiring_credentials0 Empty port_allocation_log0 Empty port_conflicts0 Empty port_ranges8 Imported port_registry84 Imported port_usage_by_category0 Empty portal_2fa_tokens7 Imported portal_clients9 Imported portal_invites0 Empty portal_notes0 Empty portal_project_access0 Empty portal_projects9 Imported portal_sections10 Imported portal_sessions22 Active portal_support_articles7 Imported portal_support_categories5 Imported portal_support_handlers0 Empty portal_support_reporters2 Imported portal_support_tickets37 Imported portal_tenant_deployments8 Imported portal_ticket_attachments0 Empty portal_ticket_comments36 Imported portal_ticket_history20 Imported portal_uploads2 Imported portal_user_permissions0 Empty project_uploads0 Empty service_health_dashboard0 Empty settings0 Empty system_updates0 Empty tenant_port_summary0 Empty tenants0 Empty user_project_access0 Empty user_sessions0 Empty users0 Empty
Caution
Some tables like users, tenants, settings show 0 rows in information_schema.tables despite data being imported — MySQL InnoDB row estimates can be inaccurate. Verify with SELECT count(*) FROM table_name for exact counts.
# Database Tables Rows Notes 2 dartv2dev30 All 0 Legacy dart game 3 uren148 All 0 Legacy hours tracking 4 magic_promotionalz0 — Empty database 5 portal_db0 — Empty database 6 information_schema— — System 7 mysql— — System 8 performance_schema— — System 9 sys— — System
Database Old Server New Server Products Match Variants Match magic_b2b_brinxx14,966 / 55,159 14,966 / 55,159 Yes Yes magic_b2b_spranz15,410 / 65,719 15,410 / 65,719 Yes Yes magic_b2b_default15,274 / 65,583 15,274 / 65,583 Yes Yes magic_b2b_demo16,730 / 78,797 16,730 / 78,797 Yes Yes magic_b2b_bovisales16,729 / 78,795 16,729 / 78,795 Yes Yes magic_b2b_desluis16,729 / 78,795 16,729 / 78,795 Yes Yes magic_b2b_jodasign17,779 / 79,046 17,779 / 79,046 Yes Yes magic_b2b_logohorloge46 / 153 46 / 153 Yes Yes magic_b2b_development11,247 / 72,480 11,247 / 72,480 Yes Yes magic_b2b_toolvizion757 / 757 757 / 757 Yes Yes magic_pim11,254 / 73,458 11,254 / 73,458 Yes Yes
Database Old Server New Server Match magic_b2b_brinxx200 200 Yes magic_b2b_spranz198 198 Yes magic_b2b_default188 188 Yes magic_b2b_demo188 188 Yes magic_b2b_bovisales188 188 Yes magic_b2b_desluis186 186 Yes magic_b2b_jodasign194 194 Yes magic_b2b_logohorloge193 193 Yes magic_b2b_development217 217 Yes magic_b2b_toolvizion217 217 Yes magic_pim189 189 Yes magic_logo20 20 Yes magic_connector5 5 Yes magic_contact1 1 Yes master_magic146 146 Yes
Agent Domain Container Health agent-brinxx aicheck.magicomniverse.online agent-brinxxHTTP 200 agent-spranz aicheck-spranz.magicomniverse.online agent-spranzHTTP 200 agent-jodasign agent-jodasign.magicomniverse.online agent-jodasignHTTP 000 (timeout) agent-magiceverse agent-magiceverse.magicomniverse.online agent-magiceverseHTTP 200 agent-magic-dwf agent-dwf.magicomniverse.online agent-magic_dwfHTTP 200 agent-support-agent agent-support.magicomniverse.online agent-support_agentHTTP 200 agent-ollivanders agent-ollivanders.magicomniverse.online agent-ollivandersHTTP 200 agent-princess agent-princess.magicomniverse.online agent-princessHTTP 200 agent-topgiving agent-topgiving.magicomniverse.online agent-topgivingHTTP 200 agent-logohorloge agent-logohorloge.magicomniverse.online agent-logohorlogeHTTP 200
Agent Infrastructure:
Service Domain Container Port Status flowbuilder flowbuilder.magicomniverse.online flowbuilder3003 Running (404 at root = expected, API-only) escalation-server escalation.magicomniverse.online escalation-server11099 Running (200) webhook-server webhook.magicomniverse.online webhook-server11098 Running (404 at root = expected, API-only) widget-server agent.magicomniverse.online widget-server4061 Running (404 at root = expected, API-only)
Domain Zone Target IP Status magicomniverse.online (apex)185.104.28.238 (registrar parking!)NOT pointing to new server *.magicomniverse.online159.195.68.41 (new server)Active — all services running *.magiceverse.online83.86.98.93 (old server)Active — NOT yet migrated magiceverse.online (apex)84.25.156.251 (old server)Active — HTTPS connection refused
Both zones share the same nameservers: ns.zxcs.eu, ns.zxcs.be, ns.zxcs.nl.
Domain IP Status portal.magicomniverse.online159.195.68.41 200 connector.magicomniverse.online159.195.68.41 200 contact.magicomniverse.online159.195.68.41 200 editor.magicomniverse.online159.195.68.41 200 logo.magicomniverse.online159.195.68.41 200 modal.magicomniverse.online159.195.68.41 200 moodshot.magicomniverse.online159.195.68.41 200 resize.magicomniverse.online159.195.68.41 200 n8n.magicomniverse.online159.195.68.41 200 n8n2.magicomniverse.online159.195.68.41 200 n8n3.magicomniverse.online159.195.68.41 200 n8n-clean.magicomniverse.online159.195.68.41 200 dashboard.magicomniverse.online159.195.68.41 200 access.magicomniverse.online159.195.68.41 200 escalation.magicomniverse.online159.195.68.41 200 aicheck.magicomniverse.online159.195.68.41 200 aicheck-spranz.magicomniverse.online159.195.68.41 200 agent-logohorloge.magicomniverse.online159.195.68.41 200 agent-topgiving.magicomniverse.online159.195.68.41 200 agent-princess.magicomniverse.online159.195.68.41 200 agent-ollivanders.magicomniverse.online159.195.68.41 200 agent-support.magicomniverse.online159.195.68.41 200 agent-dwf.magicomniverse.online159.195.68.41 200 agent-magiceverse.magicomniverse.online159.195.68.41 200 devdocs.magiceverse.online83.86.98.93 200 (on old server, nginx)
Domain IP Status Redirect coolify.magicomniverse.online159.195.68.41 302 → login docs.magicomniverse.online159.195.68.41 302 → Nextcloud login office.magicomniverse.online159.195.68.41 302 → OnlyOffice login brinxx.magicomniverse.online159.195.68.41 307 → /nl default.magicomniverse.online159.195.68.41 307 → /nl demo.magicomniverse.online159.195.68.41 307 → /nl development.magicomniverse.online159.195.68.41 307 → /nl bovisales.magicomniverse.online159.195.68.41 307 → /nl spranz.magicomniverse.online159.195.68.41 307 → /nl desluis.magicomniverse.online159.195.68.41 307 → /nl jodasign.magicomniverse.online159.195.68.41 307 → /nl logohorloge.magicomniverse.online159.195.68.41 307 → /nl
Domain IP Status Reason pim.magicomniverse.online159.195.68.41 404 Medusa API, no root handler 3d.magicomniverse.online159.195.68.41 404 API-only service flowbuilder.magicomniverse.online159.195.68.41 404 API-only service webhook.magicomniverse.online159.195.68.41 404 API-only service agent.magicomniverse.online159.195.68.41 404 Widget API-only service admin-brinxx.magicomniverse.online159.195.68.41 404 Medusa API (use /app for admin UI) admin-default.magicomniverse.online159.195.68.41 404 Medusa API admin-demo.magicomniverse.online159.195.68.41 404 Medusa API admin-development.magicomniverse.online159.195.68.41 404 Medusa API admin-master.magicomniverse.online159.195.68.41 404 Medusa API admin-bovisales.magicomniverse.online159.195.68.41 404 Medusa API admin-desluis.magicomniverse.online159.195.68.41 404 Medusa API admin-jodasign.magicomniverse.online159.195.68.41 404 Medusa API admin-logohorloge.magicomniverse.online159.195.68.41 404 Medusa API admin-spranz.magicomniverse.online159.195.68.41 404 Medusa API admin-toolvizion.magicomniverse.online159.195.68.41 404 Medusa API
Domain IP Status Notes terminal.magicomniverse.online159.195.68.41 501 Sshwifty WebSocket — works in browser agent-jodasign.magicomniverse.online159.195.68.41 000 (timeout) Container healthy but unreachable externally
Domain IP Issue spranz-admin.magicomniverse.online159.195.68.41 No Traefik router (use admin-spranz instead) brinxx-admin.magicomniverse.online159.195.68.41 No Traefik router (use admin-brinxx instead) bovisales-admin.magicomniverse.online159.195.68.41 No Traefik router jodasign-admin.magicomniverse.online159.195.68.41 No Traefik router desluis-admin.magicomniverse.online159.195.68.41 No Traefik router logohorloge-admin.magicomniverse.online159.195.68.41 No Traefik router toolvizion-admin.magicomniverse.online159.195.68.41 No Traefik router midocean.magicomniverse.online159.195.68.41 Tenant not deployed midocean-admin.magicomniverse.online159.195.68.41 Tenant not deployed xdconnects.magicomniverse.online159.195.68.41 Tenant not deployed xdconnects-admin.magicomniverse.online159.195.68.41 Tenant not deployed pfconcept.magicomniverse.online159.195.68.41 Tenant not deployed pfconcept-admin.magicomniverse.online159.195.68.41 Tenant not deployed newwave.magicomniverse.online159.195.68.41 Tenant not deployed newwave-admin.magicomniverse.online159.195.68.41 Tenant not deployed toolvizion.magicomniverse.online159.195.68.41 Backend-only tenant, no storefront n8n-spranz.magicomniverse.online159.195.68.41 N8N instance not deployed
Domain IP Status magiceverse.nl216.198.79.1 (Vercel) Separate project www.magiceverse.nlVercel DNS Separate project pim.magiceverse.nl84.25.156.251 HTTPS refused portal.magiceverse.nlNo DNS record Already cleaned up api.magiceverse.nlNo DNS record Already cleaned up
All subdomains with active Traefik routers have valid Let’s Encrypt certificates, auto-provisioned by Traefik. Expiry dates range from June 18 to June 24, 2026 (~3 months from now). No manual certificate management required.
Domains showing “self-signed cert” in the “Not Deployed” section above do not have Traefik routers — Traefik serves its default self-signed cert when no matching router exists.
Wave Services Risk Level 1 development, demo, default Zero customer impact 2 desluis, toolvizion Backend-only, no storefronts 3 connector, contact Business services 4 editor, 3d, logo, modal, moodshot, resize Tools 5 bovisales, jodasign, logohorloge Client tenants 6 spranz, brinxx High-value client tenants 7 pim, portal, dashboard Core infrastructure 8 monitoring, agents, n8n Infrastructure services
Monitor Netdata for error spikes (first 2 hours)
SSL certificates will auto-provision for *.magiceverse.online domains via Traefik
Keep old server running 2 weeks as fallback
If no issues: stop old server containers, take final backup, decommission
magicomniverse.online apex domain — Points to 185.104.28.238 (registrar parking page), NOT to 159.195.68.41. The A record was never updated.
Coolify API token expired — Bearer token gcs_FSBBk... returns “Unauthenticated”. Must generate a new token from Coolify settings.
agent-jodasign.magicomniverse.online — Connection timeout (HTTP 000). Container reports healthy but is unreachable externally. May be a Traefik routing issue.
*-admin.magicomniverse.online domains (11) — These DNS records exist but have no Traefik router. The actual admin panels use admin-*.magicomniverse.online (note the prefix vs suffix pattern). Consider removing the -admin DNS records or adding redirects.
Undeployed tenant domains — midocean, xdconnects, pfconcept, newwave storefronts and admins resolve to the server but have no Coolify apps. Either deploy these tenants or remove the DNS records.
n8n-spranz.magicomniverse.online — DNS resolves but no N8N instance deployed. Remove DNS or deploy.
10 exited/duplicate Coolify apps — Old sslip.io deployments: toolvizion-backend (old), bovisales-backend (old), bovisales-storefront (old), desluis-backend (old), jodasign-backend (old), jodasign-storefront (old), logohorloge-backend (old), logohorloge-storefront (old), spranz-backend (old), spranz-storefront (old). Should be deleted from Coolify.
12 of 13 Redis instances lack healthchecks — Only brinxx-redis (shared-redis) has Docker healthchecks. Missing on: redis-default, redis-demo, redis-development, redis-master, toolvizion-redis, bovisales-redis, desluis-redis, jodasign-redis, logohorloge-redis, spranz-redis, agent-redis, agent-spranz-redis.
15 legacy/empty PostgreSQL databases — magic_dwf (0 tables), magiceverse (0 tables), ollivanders (0 tables), princess (0 tables), topgiving (0 tables), magic_management (1 table), magiceverse3_cms (14 tables), magic_demokkenkoning_logo (2 tables), maw_kalender (18 tables), workshopmw (9 tables), spranzpdf (9 tables), wireframes (1 table), mailer (5 tables), spranz (1 table), moodshot_service (1 table).
4 legacy/empty MySQL databases — dartv2dev (30 empty tables), uren (148 empty tables), magic_promotionalz (0 tables), portal_db (0 tables).
magic_n8n_clean crash-looping on old server — Works fine on new server.
Old server disk at 87% — Root filesystem only has 29 GB free. Not a new-server issue but worth monitoring during transition.
Metric Value Action RAM 19 GB / 31 GB (61%), no swap Consider adding swap Docker images 145.1 GB total, 130.8 GB reclaimable docker image prune would free 130 GBDocker build cache 69.28 GB, 69.01 GB reclaimable docker builder prune would free 69 GBDisk 298 GB / 1007 GB (31%) OK, but ~200 GB reclaimable
Repo Contents Deploy Target Branch midego1/Magic-e-VERSEMonorepo: backend, storefront, tenants All commerce backends + storefronts main (protected)midego1/Magic-PortalPortal (Express.js + Vite/React) Portal app mainmidego1/Magic-TerminalSshwifty web SSH client Terminal service mainmidego1/magic-agent-brinxxAI agent for Brinxx agent-brinxx mainmidego1/magic-agent-spranzAI agent for Spranz agent-spranz mainmidego1/magic-agent-jodasignAI agent for Jodasign agent-jodasign mainmidego1/magic-agent-magiceverseAI agent for MagicEverse agent-magiceverse mainmidego1/magic-agent-dwfAI agent for DWF agent-magic_dwf mainmidego1/magic-agent-supportAI support agent agent-support_agent mainmidego1/magic-agent-ollivandersAI agent for Ollivanders agent-ollivanders mainmidego1/magic-agent-princessAI agent for Princess agent-princess mainmidego1/magic-agent-topgivingAI agent for Topgiving agent-topgiving mainmidego1/magic-agent-logohorlogeAI agent for Logohorloge agent-logohorloge main
main — production branch (Coolify deploys from this)
development — used only by development-backend and development-storefront
main is protected on Magic-e-VERSE — changes require PRs
For tenants that need custom storefront code (e.g., Spranz), files are placed in tenants/{tenant}/storefront/src/ and a custom Dockerfile.storefront copies the base storefront first, then overlays tenant-specific files.
├── backend/ # Shared Medusa v2 backend
├── storefront/ # Shared Next.js 15 storefront
│ ├── Dockerfile # Default storefront Dockerfile
│ └── src/ # Base storefront code
├── Dockerfile.storefront # Custom build: base + overlay
└── src/ # 20 Spranz-specific files
├── app/[countryCode]/(main)/page.tsx
├── modules/home/components/spranz-*/
├── modules/layout/components/spranz-nav/
The old server at 83.86.98.93 (SSH port 22022, user adminmichiel1) runs:
58 running containers (Docker Compose, manually managed)
Nginx reverse proxy with 108 site configs (~75 unique domains)
54 PostgreSQL databases in magic_pim_postgres_dev
9 MySQL databases in mysql container
PM2 installed but no active processes
Ubuntu 24.04 LTS , hostname: magic-server
Disk: 87% full (29 GB free)
Service Reason Nextcloud + OnlyOffice Now on new server (migrated separately) Omada Controller Network management, stays on local network Vaultwarden Critical — migrate separately or keep on old server rembg-service Background removal AI — migrate when needed Crypto Monitor (crypto.magiceverse.online) Bitvavo trading bot — separate concern Glances (glances.magiceverse.online) Replaced by Netdata on new server magiceverse3 Legacy CMS, no longer active demokkenkoning Legacy service, no longer active brandwizard Legacy service, no longer active
Push to main branch of midego1/Magic-e-VERSE
Coolify auto-detects the push and queues builds for all apps using the repo
Monitor at coolify.magicomniverse.online
Alternatively, trigger a specific app deploy via API:
curl -X GET -H " Authorization: Bearer $COOLIFY_TOKEN " \
" https://coolify.magicomniverse.online/api/v1/applications/{uuid}/restart "
docker ps --format " table {{.Names}}\t{{.Status}} " | sort
docker logs <container-name> --tail=50 -f
docker exec -it magic-postgres psql -U postgres -d <database_name>
docker exec -it mysql mysql -uroot -p<password> <database_name>
If a service breaks after DNS cutover:
Change DNS A record back to 83.86.98.93 (old server)
Old server containers should still be running
DNS propagation takes 5-30 minutes depending on TTL
If a Medusa backend container hangs during startup with “Select tables to DELETE” prompt:
# Connect to the tenant database
docker exec magic-postgres psql -U postgres -d <tenant_db>
# Truncate the problematic table
TRUNCATE link_module_migrations ;
docker restart <container-name>
# Remove unused images (frees ~130 GB)
# Remove build cache (frees ~69 GB)