Docker container to sync Microsoft OneDrive (Personal, Business, Office365 & Sharepoint).
1M+
A fully featured, free, and actively maintained Microsoft OneDrive client that seamlessly supports OneDrive Personal, OneDrive for Business, Microsoft 365 (formerly Office 365), and SharePoint document libraries.
Designed for maximum flexibility and reliability, this powerful and highly configurable client works across all major Linux distributions and FreeBSD. It can also be deployed in containerised environments using Docker or Podman. Supporting both one-way and two-way synchronisation modes, the client provides secure and efficient file syncing with Microsoft OneDrive services — tailored to suit both desktop and server environments.
This project originated as a fork of the skilion client in early 2018, after a number of proposed improvements and bug fixes — including Pull Requests #82 and #314 — were not merged and development activity of the skilion client had largely stalled. While it’s unclear whether the original developer was unavailable or had stepped away from the project - bug reports and feature requests remained unanswered for extended periods. In 2020, the original developer (skilion) confirmed they had no intention of maintaining or supporting their work (reference).
The original skilion repository was formally archived and made read-only on GitHub in December 2024. While still publicly accessible as a historical reference, an archived repository is no longer maintained, cannot accept contributions, and reflects a frozen snapshot of the codebase. The last code change to the skilion client was merged in November 2021; however, active development had slowed significantly well before then. As such, the skilion client should no longer be considered current or supported — particularly given the major API changes and evolving Microsoft OneDrive platform requirements since that time.
Under the terms of the GNU General Public License (GPL), forking and continuing development of open source software is fully permitted — provided that derivative works retain the same license. This client complies with the original GPLv3 licensing, ensuring the same freedoms granted by the original project remain intact.
Since forking in early 2018, this client has evolved into a clean re-imagining of the original codebase, resolving long-standing bugs and adding extensive new functionality to better support both personal and enterprise use cases to interact with Microsoft OneDrive from Linux and FreeBSD platforms.
*, globbing **).Refer to Frequently Asked Questions
If you have a question or need something clarified, please raise a new discussion post here
Support is only provided for the current application release version or newer 'master' branch versions.
The current release version is:
To check your version, run: onedrive --version. Ensure you are using the current release or compile the latest version from the master branch if needed.
If you are using an older version, you must upgrade to the current release or newer to receive support.
OneDrive Client for Linux includes a rich set of documentation covering installation, configuration options, advanced usage, and integrations. These resources are designed to help new users get started quickly and to give experienced users full control over advanced behaviour. If you are changing configuration, running in production, or using Business/SharePoint features, you should be reading these documents. All documentation is maintained in the docs/ directory of this repository.
Learn how to install the client on various systems — from distribution packages to building from source. Please read the Install Guide
Covers initial authentication, default settings, basic operational instructions, frequently asked 'how to' questions, and how to tailor the application configuration. Please read the Usage Guide
Full reference for every config option (with descriptions, defaults, and examples) to customise sync behaviour precisely. Please read the Application Configuration Options Guide
Tips for creating multiple config profiles, custom sync rules, daemon setups, selective sync, dual-booting with Microsoft Windows and more. Please read the Advanced Usage Guide
Configuring sync for OneDrive Business shared items (files and folders). Please read the Business Shared Items Guide
Instructions for syncing SharePoint document libraries (Business or Education tenants). Please read the SharePoint Library Guide
Instructions for environments like Microsoft Cloud Germany or US Government cloud endpoints. Please read the National Cloud Deployment Guide
How to run the OneDrive client in a Docker container. Please read the Docker Guide
How to run the OneDrive client with Podman. Please read the Podman Guide
If you encounter any issues running the application, please follow these steps before raising a bug report:
Check the application version
Run onedrive --version to confirm which version you are using.
master branch to test against the very latest code. This includes fixes for bugs discovered since the last tagged release.Run in verbose mode
Use the --verbose option to provide greater clarity and detailed logging about the issue you are facing.
If you are using Docker or Podman, use the ONEDRIVE_VERBOSE environment variable to increase logging verbosity.
Test with IPv4 only
Configure the application to use IPv4 network connectivity only, then retest. See the 'ip_protocol_version' option documentation for assistance.
Test with HTTP/1.1 and IPv4
Configure the application to use HTTP/1.1 over IPv4 only, then retest. See the 'force_http_11' option documentation for assistance.
Verify cURL and libcurl versions
If the above steps do not resolve your issue, upgrade both curl and libcurl to the latest versions provided by the curl developers.
Perform a --resync
In some cases, a --resync is needed to ensure your data is correctly synced. This option instructs the client to delete its local state database and fully rebuild it from the current online OneDrive contents. This is a powerful recovery and re-alignment action that should be used sparingly and with care.
Open a new issue
If the problem persists after completing the steps above, proceed to Reporting an Issue or Bug below and open a new issue with the requested details and logs.
Important
Please ensure the problem is a software bug. For installation issues, distribution package/version questions, or dependency problems, start a [Discussion](https://github.com/abraunegg/onedrive/discussions) instead of filing a bug report.
If you encounter a bug, you can report it on GitHub. Before opening a new issue report:
Complete the Basic Troubleshooting Steps
Confirm you’ve run through all steps in the section above.
Search existing issues
Check both Open and Closed issues for a similar problem to avoid duplicates.
Use the issue template
Open a new bug report using the issue template and fill in all fields. Complete detail helps us reproduce your environment and replicate the issue.
Generate a debug log
Follow this process to create a debug log.
Share the debug log securely
.zip with AES or .7z):
zip -e onedrive-debug.zip onedrive-debug.log7z a -p onedrive-debug.7z onedrive-debug.logWhen raising a new bug report, please include all details requested in the issue template, such as:
Providing complete information makes it much easier to understand, reproduce, and resolve your issue quickly.
Note
Submitting a bug report starts a collaboration. To help us help you, please: - Stay available to answer questions or provide clarifications if needed - Test and confirm fixes in your own environment when a pull request (PR) is created for your issue
Tip
Reports with missing details are much harder to investigate. Sharing as much as you can up front gives the best chance of a fast and accurate fix.
Lists common limitations, known problems, diagnostics, and workarounds. Please read the Known Issues Advice
Content type
Image
Digest
sha256:ceb2709d0…
Size
40.7 MB
Last updated
6 days ago
docker pull driveone/onedrive:edge-debian