OneDrive Client for Linuxは、OneDrive Personal、OneDrive for Business、OneDrive for Office365、およびSharePointをサポートするクライアントです。
メジャーなLinuxディストリビューションの他にFreeBSD、またはDockerコンテナでも実行可能です。
この記事では、Dockerを使用した構成方法を紹介します。
環境
-
OneDrive Personal
-
Ubuntu 22.04.3 LTS (x86-64)
-
Docker version 25.0.3
概要
実行結果について簡単に説明します。
-
OneDriveで同期するフォルダは、
$HOME/OneDrive
に作成します。 -
onedrive_conf
ボリュームが作成され、構成ファイルが保存されます。 -
コンテナはPC再起動後も自動的に再開します。
構成手順
手順に関する詳細が知りたい場合は、リポジトリにあるマニュアルを参照してください。
-
以下のシェルスクリプトを作成後、実行してください。
-
表示されたURLを開き、Microsoftアカウントにログインします。
-
アプリにOneDriveへのアクセスを許可します。
-
ページ遷移後のURLをコピーして、貼り付けます。
setup.sh
#!/bin/bash
export ONEDRIVE_UID=`id -u`
export ONEDRIVE_GID=`id -g`
docker run -it --name onedrive --restart always \
-v "onedrive_conf:/onedrive/conf" \
-v "$HOME/OneDrive:/onedrive/data" \
-e "ONEDRIVE_UID=${ONEDRIVE_UID}" \
-e "ONEDRIVE_GID=${ONEDRIVE_GID}" \
driveone/onedrive:edge

Figure 1. 実行結果
同期が自動的に開始されるため、コンテナからデタッチしても大丈夫です。 また、コンテナはPC再起動後も自動的に再開します。
OneDriveアクセス許可の削除
OneDrive Client for Linux を利用しなくなった場合は、OneDriveへのアクセス許可を削除することをおすすめします。
Microsoftアカウントのプライバシーページの下部にあるアクセスが許可されているアプリとサービスのページから管理できます。

