Seafile
Seafile is the storage layer in My Own Suite. It keeps files under your control while still providing modern sync and sharing capabilities.
Core capabilities:
- Store files in your own private cloud.
- Sync files between desktop and mobile devices.
- Share files and folders with selected people.
Seafile can work standalone, and it can also be connected with OnlyOffice for in-browser document editing.
Technical specs
Environment variables
DB_HOST: MySQL host for Seafile.DB_PORT: MySQL port (typically3306).DB_ROOT_PASSWD: MySQL root password used for Seafile bootstrap.DB_USER_HOST: Host pattern for Seafile DB grants (recommended%).MEMCACHED_SERVER: Memcached endpoint inhost:portformat.SEAFILE_ADMIN_EMAIL: Initial Seafile admin email.SEAFILE_ADMIN_PASSWORD: Initial Seafile admin password.SEAFILE_SERVER_HOSTNAME: Public Seafile hostname (no protocol).SEAFILE_SERVER_PROTOCOL: Public scheme (httporhttps).TIME_ZONE: Container timezone.VERIFY_ONLYOFFICE_CERTIFICATE: Toggle TLS verification for OnlyOffice callbacks.ONLYOFFICE_APIJS_URL: OnlyOffice Docs API JS URL. Enables OnlyOffice integration when set.ONLYOFFICE_FORCE_SAVE: Enables/disables OnlyOffice force-save behavior.ONLYOFFICE_INTERNAL_SEAFILE_URL: Internal Seafile URL for OnlyOffice server-to-server traffic.ONLYOFFICE_JWT_SECRET: JWT secret for OnlyOffice integration when JWT is enabled.
Volumes and persistence
- Required volume mount:
/shared - Without
/shared, config and runtime state can drift across restarts.
Dependencies and integrations
Requirements:
- Use MySQL
8.x(recommendedmysql:8.0). - Provide a reachable Memcached server (
host:port). - Mount persistent storage at
/sharedfor Seafile data and config.
Integrations:
- Works with OnlyOffice for in-browser document editing.
Customizations in this project
- Entry-point patches
seahub_settings.pywith proxy and OnlyOffice settings. - Adds runtime patching for OnlyOffice internal callback/download URL handling.
- Patch targets are version-sensitive and should be revalidated after Seafile image upgrades.