Need guidance or information on migrating Zotero-6 to Zotero-9
Zotero 6.0.23 → Zotero 9 migration for self-hosted organizational deployment
Hello Zotero Team,
We are planning to migrate our organization's existing self-hosted Zotero environment from Zotero 6.0.23 to Zotero 9.
Before proceeding, we would like to confirm the currently recommended architecture and migration approach with the Zotero community/team.
Our current production environment is a customized Docker Compose deployment with approximately 2,000 users:
Zotero 6.0.23
Custom-built Zotero dataserver based on Zotero 6 source
Custom-built zdsfrontend
MySQL 5.7 — master/shard/www databases
Ceph/RADOS Gateway for attachment storage
Elasticsearch 1.7
HAProxy
Docker Compose
Windows and Linux Zotero clients
No LDAP/SSO/OAuth
No ZotFile, Better BibTeX, Zutilo, or other custom plugins
We understand from the current documentation and previous forum discussions that the Zotero dataserver is open source, but self-hosted deployments are not officially supported by Zotero. We are therefore primarily looking for technical guidance and clarification, rather than requesting formal support for our custom environment.
Questions
What is the current recommended server-side architecture for Zotero 9?
Is the existing zotero/dataserver codebase the appropriate server component for a Zotero 9 self-hosted deployment?
Is there a specific branch/tag/commit of the dataserver that should be used for Zotero 9?
Does Zotero 9 require a different architecture compared with our current Zotero 6 dataserver + zdsfrontend deployment?
Is a direct Zotero 6.0.23 → Zotero 9 migration supported from a data/database perspective, or should we migrate through an intermediate version?
Are there database schema/data migration scripts or procedures that should be executed when moving an existing Zotero 6 database to the Zotero 9 dataserver?
Our current deployment uses MySQL 5.7. What database version is currently recommended for the Zotero 9 dataserver, and are there any database compatibility considerations we should be aware of?
Our attachments are stored in Ceph/RADOS Gateway using an S3-compatible interface. Can the existing attachment storage be retained when migrating the database/application to Zotero 9?
Our current environment uses Elasticsearch 1.7. Is Elasticsearch still required by the current dataserver, and if so, what version should be used?
Are there any known breaking changes between the Zotero 6 dataserver and the current dataserver that could affect:
synchronization
user accounts
libraries/collections
attachments
group libraries
notes/tags
API functionality
We are planning to perform the migration first in a completely separate test environment, using a copy of our production database and attachment storage, while leaving the existing Zotero 6 production environment untouched. Is this a reasonable approach for validating the migration?
Finally, could you point us to the current official GitHub branch/repository, documentation, migration notes, or release information that we should use as the technical baseline for a Zotero 9 self-hosted deployment?
Our main objective is to avoid making assumptions based on the older Zotero 6 architecture and ensure that the Zotero 9 test environment is built using the current server-side code and recommended configuration.
Any guidance from Zotero developers or experienced self-hosting users would be greatly appreciated.
Thank you.
Hello Zotero Team,
We are planning to migrate our organization's existing self-hosted Zotero environment from Zotero 6.0.23 to Zotero 9.
Before proceeding, we would like to confirm the currently recommended architecture and migration approach with the Zotero community/team.
Our current production environment is a customized Docker Compose deployment with approximately 2,000 users:
Zotero 6.0.23
Custom-built Zotero dataserver based on Zotero 6 source
Custom-built zdsfrontend
MySQL 5.7 — master/shard/www databases
Ceph/RADOS Gateway for attachment storage
Elasticsearch 1.7
HAProxy
Docker Compose
Windows and Linux Zotero clients
No LDAP/SSO/OAuth
No ZotFile, Better BibTeX, Zutilo, or other custom plugins
We understand from the current documentation and previous forum discussions that the Zotero dataserver is open source, but self-hosted deployments are not officially supported by Zotero. We are therefore primarily looking for technical guidance and clarification, rather than requesting formal support for our custom environment.
Questions
What is the current recommended server-side architecture for Zotero 9?
Is the existing zotero/dataserver codebase the appropriate server component for a Zotero 9 self-hosted deployment?
Is there a specific branch/tag/commit of the dataserver that should be used for Zotero 9?
Does Zotero 9 require a different architecture compared with our current Zotero 6 dataserver + zdsfrontend deployment?
Is a direct Zotero 6.0.23 → Zotero 9 migration supported from a data/database perspective, or should we migrate through an intermediate version?
Are there database schema/data migration scripts or procedures that should be executed when moving an existing Zotero 6 database to the Zotero 9 dataserver?
Our current deployment uses MySQL 5.7. What database version is currently recommended for the Zotero 9 dataserver, and are there any database compatibility considerations we should be aware of?
Our attachments are stored in Ceph/RADOS Gateway using an S3-compatible interface. Can the existing attachment storage be retained when migrating the database/application to Zotero 9?
Our current environment uses Elasticsearch 1.7. Is Elasticsearch still required by the current dataserver, and if so, what version should be used?
Are there any known breaking changes between the Zotero 6 dataserver and the current dataserver that could affect:
synchronization
user accounts
libraries/collections
attachments
group libraries
notes/tags
API functionality
We are planning to perform the migration first in a completely separate test environment, using a copy of our production database and attachment storage, while leaving the existing Zotero 6 production environment untouched. Is this a reasonable approach for validating the migration?
Finally, could you point us to the current official GitHub branch/repository, documentation, migration notes, or release information that we should use as the technical baseline for a Zotero 9 self-hosted deployment?
Our main objective is to avoid making assumptions based on the older Zotero 6 architecture and ensure that the Zotero 9 test environment is built using the current server-side code and recommended configuration.
Any guidance from Zotero developers or experienced self-hosting users would be greatly appreciated.
Thank you.
Upgrade Storage