Skip to content

Pcloud integration

Dieser Artikel beschreibt die Integration des pCloud Storages in einen Headless-Server mit Hilfe des paketes rclone

Vorbereitungen

Installation rclone auf dem Server und einem Client (Client hat Zugriff auf einen Webbrowser)

Installation rclone
 sudo apt install rclone

In der Datei /etc/fuse.conf muss die Zeile user_allow_other auskommentiert werden. Dadurch kann der Benutzer und andere Services auf das Verzeichnis zugreifen

Änderung der Datei /etc/fuse.conf
 # The file /etc/fuse.conf allows for the following parameters:
 #
 # user_allow_other - Using the allow_other mount option works fine as root, but
 # in order to have it work as a regular user, you need to set user_allow_other
 # in /etc/fuse.conf as well. This option allows non-root users to use the
 # allow_other option. You need allow_other if you want users other than the
 # owner of a mounted fuse to access it. This option must appear on a line by
 # itself. There is no value; just the presence of the option activates it.

 user_allow_other

 # mount_max = n - this option sets the maximum number of mounts.
 # It must be typed exactly as shown (with a single space before and after the
 # equals sign).

 #mount_max = 1000

Serverinstallation

Zielverzeichnis anlegen
 reiner@debsrv:~$ mkdir ~/pcloud
Konfiguration rclone
 reiner@debsrv:~$ rclone config
 No remotes found, make a new one?
 n) New remote
 s) Set configuration password
 q) Quit config
 n/s/q> 

Eingabe n

Name des Remotes
 Enter name for new remote.
 name> 

Eingabe pcloud-eu

Tip

Cloud in EU und US haben unterschiedliche Authentifizierungsverfahren, wir nutzen hier EU

Auswahl des Storages
 Option Storage.
 Type of storage to configure.
 Choose a number from below, or type in your own value.
 ...

 30 / Microsoft OneDrive
    \ (onedrive)
 31 / OpenDrive
    \ (opendrive)
 32 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
    \ (swift)
 33 / Pcloud
    \ (pcloud)
 34 / Put.io
    \ (putio)
 35 / SMB / CIFS
    \ (smb)
 36 / SSH/SFTP
    \ (sftp)
 ...
 Storage>

Eingabe 33

Client ID (nicht benötigt)
 Option client_id.
 OAuth Client Id.
 Leave blank normally.
 Enter a value. Press Enter to leave empty.
 client_id>

Eingabe ENTER

Client Secret (nicht benötigt)
 Option client_secret.
 OAuth Client Secret.
 Leave blank normally.
 Enter a value. Press Enter to leave empty.
 client_secret> 

Eingabe ENTER

Erweiterte Konfiguration
 Edit advanced config?
 y) Yes
 n) No (default)
 y/n> 

Eingabe y

Option Token (nicht benötigt)
 Option token.
 OAuth Access Token as a JSON blob.
 Enter a value. Press Enter to leave empty.
 token> 

Eingabe ENTER

Auth server URL (nicht benötigt)
 Option auth_url.
 Auth server URL.
 Leave blank to use the provider defaults.
 Enter a value. Press Enter to leave empty.
 auth_url> 

Eingabe ENTER

Token server URL (nicht benötigt)
 Option token_url.
 Token server url.
 Leave blank to use the provider defaults.
 Enter a value. Press Enter to leave empty.
 token_url> 

Eingabe ENTER

Encoding (nicht benötigt)
 Option encoding.
 The encoding for the backend.
 See the [encoding section in the overview](/overview/#encoding) for more info.
 Enter a encoder.MultiEncoder value. Press Enter for the default (Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot).
 encoding> 

Eingabe ENTER

Root folder ID (nicht benötigt)
 Option root_folder_id.
 Fill in for rclone to use a non root folder as its starting point.
 Enter a string value. Press Enter for the default (d0).
 root_folder_id> 

Eingabe ENTER

Auswahl der Region
 Option hostname.
 Hostname to connect to.
 This is normally set when rclone initially does the oauth connection,
 however you will need to set it by hand if you are using remote config
 with rclone authorize.
 Choose a number from below, or type in your own string value.
 Press Enter for the default (api.pcloud.com).
  1 / Original/US region
    \ (api.pcloud.com)
  2 / EU region
    \ (eapi.pcloud.com)
 hostname>

Eingabe 2

Pcloud Benutzername
 Option username.
 Your pcloud username.

 This is only required when you want to use the cleanup command. Due to a bug
 in the pcloud API the required API does not support OAuth authentication so
 we have to rely on user password authentication for it.
 Enter a value. Press Enter to leave empty.
 username> 

Eingabe <benutzername>

Pcloud Password
 Option password.
 Your pcloud password.
 Choose an alternative below. Press Enter for the default (n).
 y) Yes, type in my own password
 g) Generate random password
 n) No, leave this optional password blank (default)
 y/g/n> 

Eingabe y

Password Eingabe
 Enter the password:
 password:

Eingabe <passwort>

Password Wiederholung
 Confirm the password:
 password:

Eingabe <passwort>

Erweiterte Konfiguration
 Edit advanced config?
 y) Yes
 n) No (default)
 y/n> 

Eingabe n

Auswahl Konfiguration
 Use auto config?
  * Say Y if not sure
  * Say N if you are working on a remote or headless machine

 y) Yes (default)
 n) No
 y/n> 

Eingabe n

Erstellen des Tokens
 Option config_token.
 For this to work, you will need rclone available on a machine that has
 a web browser available.
 For more help and alternate methods see: https://rclone.org/remote_setup/
 Execute the following on the machine with the web browser (same rclone
 version recommended):
        rclone authorize "pcloud" "eyJob3N0bmFtZSI6ImVhcGkucGNsb3VkLmNvbSIsInBhc3N3b3JkIjoiako3MEhiZ240VWQ1M1Z3Z2VseXVFcU1qZHZ3QVAwZjljbVkifQ"
 Then paste the result.
 Enter a value.
 config_token> 

Jetzt auf den Client wechseln, der einen Zugriff auf den Browser hat und den Befehl eingeben

Authorize Key auf dem Client abrufen
 reiner@client:~$ rclone authorize "pcloud" "eyJob3N0bmFtZSI6ImVhcGkucGNsb3VkLmNvbSIsInBhc3N3b3JkIjoiako3MEhiZ240VWQ1M1Z3Z2VseXVFcU1qZHZ3QVAwZjljbVkifQ"
 2026/09/28 19:17:29 NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=vzFxrtBQV1JkQNrG0l6wPw
 2026/09/28 19:17:29 NOTICE: Log in and authorize rclone for access
 2026/09/28 19:17:29 NOTICE: Waiting for code...
 2026/09/28 19:17:31 NOTICE: Got code
 Paste the following into your remote machine --->
 eyJob3N0bmFtZSI6ImVhcGkucGNsb3VkLmNvbSIsInRva2VuIjoie1wiYWNjZXNzX3Rva2VuXCI6XCJFd2wwWkRuT05TenlKWHBtWkxvSWJKa1o3ZGFQM0dGN1NuYmJselFCZ2VqTEVIakZLaFB5XCIsXCJ0b2tlbl90eXBlXCI6XCJiZWFyZXJcIixcImV4cGlyeVwiOlwiMDAwMS0wMS0wMVQwMDowMDowMFpcIn0ifQ
 <---End paste
Den Inhalt zwischen Paste the following into your remote machine ---> und <---End paste kopieren und auf dem Server am letzten Promt einfügen und ENTER drücken

Authorize Key auf dem Server einfügen
 Configuration complete.
 Options:
 - type: pcloud
 - hostname: eapi.pcloud.com
 - password: *** ENCRYPTED ***
 - token: {"access_token":"Ewl0ZDnONSzyJXpmZLoIbJkZ7daP3GF7SnbblzQBgejLEHjFKhPy","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
 Keep this "pcloud-eu" remote?
 y) Yes this is OK (default)
 e) Edit this remote
 d) Delete this remote
 y/e/d> 
Eingabe y

Konfiguration abschließen
 Current remotes:

 Name                 Type
 ====                 ====
 pcloud-eu            pcloud

 e) Edit existing remote
 n) New remote
 d) Delete remote
 r) Rename remote
 c) Copy remote
 s) Set configuration password
 q) Quit config
 e/n/d/r/c/s/q> 

Enter q

Einbinden als Services

Einen Editor öffnen und den nachfolgenden Inhalt in die Datei einfügen

Erstellen des Services
reiner@debsrv:~$ sudo nano /etc/systemd/system/rclone-pcloud.service

[Unit]
Description=rclone pCloud EU Mount
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
User=reiner
ExecStart=/usr/bin/rclone mount pcloud-eu: /home/reiner/pcloud \
  --config /home/reiner/.config/rclone/rclone.conf \
  --vfs-cache-mode writes \
  --allow-other \
  --umask 002
ExecStop=/usr/bin/fusermount3 -u /home/reiner/pcloud
Restart=on-failure
RestartSec=10

[Install]
WantedBy=default.target

Speichern und beenden

Anschließend den Daemon restarten, den Service aktivieren und starten

Service aktivieren
sudo systemctl daemon-reload
sudo systemctl enable rclone-pcloud.service
sudo systemctl start rclone-pcloud.service

Test der Verbindung

ls -la ~/pcloud

Wird kein Inhalt angezeigt troubleshooten.

Service und Log prüfen
sudo systemctl status rclone-pcloud.service
sudo systemctl is-enabled rclone-pcloud.service
sudo journalctl -u rclone-pcloud.service -n 15 --no-pager