Merge pull request #3930 from modoboa/doc/moving-to-modoboa

Added link to "Moving to Modoboa" section.
This commit is contained in:
Antoine Nguyen
2026-02-19 13:40:15 +01:00
committed by GitHub
2 changed files with 57 additions and 54 deletions
+47 -35
View File
@@ -38,6 +38,10 @@ export default defineConfig({
{ text: 'Contributors', link: '/contributors' },
],
},
{
text: 'Migration',
items: [{ text: 'Moving to Modoboa', link: '/moving' }],
},
],
sidebar: {
@@ -119,50 +123,58 @@ export default defineConfig({
// console.log(pageData);
const baseUrl = process.env.READTHEDOCS_CANONICAL_URL
? new URL(process.env.READTHEDOCS_CANONICAL_URL).pathname.replace(/\/$/, '')
? new URL(process.env.READTHEDOCS_CANONICAL_URL).pathname.replace(
/\/$/,
''
)
: ''
const canonicalUrl = baseUrl + '/' + pageData.relativePath.replace(/\.md$/, "").replace(/^index$/, "");
let updtDate = new Date();
const canonicalUrl =
baseUrl +
'/' +
pageData.relativePath.replace(/\.md$/, '').replace(/^index$/, '')
let updtDate = new Date()
// If no commit for a page (dev in progress), lastUpdated == NaN
// Ensure lastUpdated is defined and a number before passing it to isNaN/new Date
if (typeof pageData.lastUpdated === 'number' && !isNaN(pageData.lastUpdated)) {
updtDate = new Date(pageData.lastUpdated);
if (
typeof pageData.lastUpdated === 'number' &&
!isNaN(pageData.lastUpdated)
) {
updtDate = new Date(pageData.lastUpdated)
}
pageData.frontmatter.head ??= [];
pageData.frontmatter.head.push([
"link",
{ rel: "canonical", href: canonicalUrl },
]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:title", content: pageData.frontmatter.title },
]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:description", content: pageData.frontmatter.description },
]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:type", content: 'article' },
]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:url", content: canonicalUrl },
]);
pageData.frontmatter.head ??= []
pageData.frontmatter.head.push([
'link',
{ rel: 'canonical', href: canonicalUrl },
])
pageData.frontmatter.head.push([
'meta',
{ property: 'og:title', content: pageData.frontmatter.title },
])
pageData.frontmatter.head.push([
'meta',
{ property: 'og:description', content: pageData.frontmatter.description },
])
pageData.frontmatter.head.push([
'meta',
{ property: 'og:type', content: 'article' },
])
pageData.frontmatter.head.push([
'meta',
{ property: 'og:url', content: canonicalUrl },
])
// TODO: Uncomment when modoboa image is available on the public folder
// pageData.frontmatter.head.push([
// "meta",
// { property: "og:image", content: 'https://xxxx/modoboa.png' },
// ]);
// "meta",
// { property: "og:image", content: 'https://xxxx/modoboa.png' },
// ]);
pageData.frontmatter.head.push([
"meta",
{ property: "og:locale", content: 'en_GB' },
]);
}
'meta',
{ property: 'og:locale', content: 'en_GB' },
])
},
})
+10 -19
View File
@@ -4,7 +4,7 @@ description: Migrate from actual provider to modoboa
head:
- - meta
- name: 'keywords'
content: 'modoboa, imap, migration, constraint, offlineimap'
content: 'modoboa, imap, migration, constraint, offlineimap'
---
@@ -35,16 +35,13 @@ It works as follows:
instructions to migrate all declared migrations and lauching
OfflineIMAP to start/continue migrations
:::: warning
::: title
Warning
:::
::: warning
As you probably already understood, you can\'t migrate all your accounts
at the same time since you don\'t know their corresponding password
(most of the time). Every account migration must be started by the
account\'s owner.
::::
:::
### Configuration
@@ -61,16 +58,13 @@ Once done, *the new admin interface (v2)* will let you:
- customize the behaviour of OfflineIMAP : go to \'Parameters \> Imap
Migration\' from the left menu
:::: warning
::: title
Warning
:::
::: warning
**Auto create domain** option must be enabled to make this feature
: work. Go to \'Parameters \> Administration \> Mailboxes\' and check
if it\'s the case.
::::
:::
To generate an OfflineIMAP configuration file, run the following
command:
@@ -120,14 +114,11 @@ The first time an account of your old platform successfuly log into
Modoboa (using old credentials), a local account and a migration task
will be created.
:::: warning
::: title
Warning
:::
::: warning
In case of domain renaming as described in Providers section, users
must use the new email address as username for next connection attempts.
::::
:::
SuperAdmins can monitor running migrations and stop/delete them from the
[IMAP Migration] section (left menu).
@@ -135,14 +126,14 @@ SuperAdmins can monitor running migrations and stop/delete them from the
## From postfixadmin
A dedicated command allows you to convert an existing [postfixadmin](http://postfixadmin.sourceforge.net/)
database to a Modoboa one.
database to a Modoboa one.
Consult the [documentation](https://github.com/modoboa/modoboa-pfxadmin-migrate) to know more about the process.
## Using CSV files
Modoboa allows you to import any object (domain, domain alias, mailbox
and alias) using a simple CSV file encoded using **UTF8**.
and alias) using a simple CSV file encoded using **UTF8**.
Each line corresponds to a single object and must respect one of the following format:
@@ -176,4 +167,4 @@ Available options can be listed using the following command:
``` bash
$ python manage.py modo import -h
```
```