Installation Guide โ
Detailed installation instructions for all MagicDX plugins.
๐ Prerequisites โ
System Requirements โ
| Requirement | Version |
|---|---|
| Node.js | 18.x, 20.x, 22.x |
| Strapi | v5.0.0+ |
| npm | 8.x+ or yarn 1.22+ |
Database Support โ
All MagicDX plugins support:
- โ SQLite
- โ PostgreSQL
- โ MySQL
- โ MariaDB
Magic-Mail Installation โ
1. Install Package โ
bash
npm install strapi-plugin-magic-mail
# or
yarn add strapi-plugin-magic-mail2. Configure Plugin โ
Create or update config/plugins.ts:
typescript
export default () => ({
'magic-mail': {
enabled: true,
// Optional: Advanced configuration
config: {
// No additional config needed - everything is managed in admin panel
},
},
});3. Build & Start โ
bash
npm run build
npm run develop4. Set Up Email Provider โ
- Go to Admin โ MagicMail โ Email Accounts
- Click "Add Account"
- Choose provider (Gmail OAuth, SMTP, SendGrid, etc.)
- Enter credentials
- Test connection
- Done!
Dependencies โ
Magic-Mail has no additional dependencies. It optionally integrates with:
strapi-plugin-email-designer-5for visual email design
Magic-Link Installation โ
1. Install Package โ
bash
npm install strapi-plugin-magic-link-v5
# or
yarn add strapi-plugin-magic-link-v52. Configure Plugin โ
typescript
export default () => ({
'magic-link': {
enabled: true,
},
});3. Email Provider Required โ
Magic-Link requires an email provider. Choose one:
Option A: Use Magic-Mail (Recommended)
typescript
export default () => ({
'magic-mail': { enabled: true },
'magic-link': { enabled: true },
});Option B: Use Strapi Email Plugin
bash
npm install @strapi/provider-email-nodemailertypescript
// config/plugins.ts
export default () => ({
email: {
config: {
provider: 'nodemailer',
providerOptions: {
host: process.env.SMTP_HOST,
port: process.env.SMTP_PORT,
auth: {
user: process.env.SMTP_USER,
pass: process.env.SMTP_PASSWORD,
},
},
},
},
'magic-link': { enabled: true },
});4. Build & Start โ
bash
npm run build
npm run develop5. Activate License โ
- Go to Admin โ Magic-Link
- Click "Activate License"
- Enter details or license key
- Configure settings
Magic-Sessionmanager Installation โ
1. Install Package โ
bash
npm install strapi-plugin-magic-sessionmanager
# or
yarn add strapi-plugin-magic-sessionmanager2. Configure Plugin โ
typescript
export default () => ({
'magic-sessionmanager': {
enabled: true,
config: {
// Optional configuration
lastSeenRateLimit: 30000, // Update interval (ms)
inactivityTimeout: 900000, // Inactive after 15 min
},
},
});3. Build & Start โ
bash
npm run build
npm run develop4. Optional: Encryption Key โ
For enhanced security, add to .env:
bash
SESSION_ENCRYPTION_KEY=your-32-byte-base64-keyGenerate a key:
bash
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"Or generate in admin: Sessions โ Settings โ Generate Key
Magic-Mark Installation โ
1. Install Package โ
bash
npm install strapi-plugin-magic-mark
# or
yarn add strapi-plugin-magic-mark2. Configure Plugin โ
typescript
export default () => ({
'magic-mark': {
enabled: true,
config: {
// Optional configuration
maxBookmarksPerUser: 50,
enableHistory: true,
},
},
});3. Build & Start โ
bash
npm run build
npm run develop4. Start Using โ
- Navigate to any Content Manager collection
- Apply filters/sorting
- Click the MagicMark button in toolbar
- Save bookmark!
๐ Installing All Plugins โ
For the complete MagicDX experience:
1. Install All โ
bash
npm install strapi-plugin-magic-mail strapi-plugin-magic-link-v5 strapi-plugin-magic-sessionmanager strapi-plugin-magic-mark2. Configure All โ
typescript
// config/plugins.ts
export default () => ({
// Email management
'magic-mail': {
enabled: true,
},
// Passwordless authentication
'magic-link': {
enabled: true,
},
// Session tracking
'magic-sessionmanager': {
enabled: true,
},
// Query bookmarks
'magic-mark': {
enabled: true,
},
});3. Build & Start โ
bash
npm run build
npm run develop4. Activate Each Plugin โ
Visit each plugin in admin and activate the license.
Troubleshooting Installation โ
Plugin Not Appearing โ
bash
# Clear cache and rebuild
rm -rf .cache node_modules/.cache
npm run build
npm run developDatabase Migration Errors โ
bash
# Reset database (development only!)
rm -rf .tmp
npm run developPeer Dependency Warnings โ
bash
# If you see peer dependency warnings
npm install --legacy-peer-depsTypeScript Errors โ
Ensure your tsconfig.json includes:
json
{
"compilerOptions": {
"module": "CommonJS",
"moduleResolution": "node"
}
}๐ Next Steps โ
- License Activation - Activate your plugins
- Configuration Guide - Advanced settings
- Compare Plugins - Feature comparison