Problem getting Mount to start as service

What is the problem you are having with rclone?

I have rclone running successfully on a number of different machines / operating systems and I decided to pop it on a Raspberry Pi 4 running Ubuntu to use as a second Plex server.

It's been a couple of years since I set up an rclone mount on a Linux machine and I'm having problems getting my mount to start at boot.

This is the script I've setup:

Description=RClone Service

    [Service]
    Type=notify
    Environment=RCLONE_CONFIG=//home/craftyclown/.config/rclone/rclone.conf
    ExecStart=/usr/bin/rclone mount "RichFlixCrypt:/Encrypted/" /home/craftyclown/Skull \
       --allow-other \
       --bind replaced.ddns.net \
       --buffer-size 256M \
       --dir-cache-time 72h \
       --drive-chunk-size 32M \
       --log-level INFO \
       --log-file /home/craftyclown/logs/rclone.log \
       --umask 002 \
       --vfs-read-chunk-size 128M \
       --vfs-read-chunk-size-limit off \
       --tpslimit 3
    ExecStop=/bin/fusermount -uz /home/craftyclown/Skull
    Restart=on-failure
    User=craftyclown
    Group=craftyclown

    [Install]
    WantedBy=multi-user.target

It's the same script (except for paths and binding address) that I use on my other server, so I'm not sure why it isn't working.

If I just run the line rclone mount "RichFlixCrypt:/Encrypted/" /home/craftyclown/Skull \ It works, so I think Rclone is working okay.

If I run systemctl status PlexMount it returns the following:

    craftyclown@BabyKong:/etc/systemd/system$ sudo systemctl status PlexMount
● PlexMount.service - RClone Service
   Loaded: loaded (/etc/systemd/system/PlexMount.service; enabled; vendor preset: enabled)
   Active: activating (start) since Mon 2020-05-04 00:26:47 UTC; 2s ago
 Main PID: 10455 (rclone)
    Tasks: 7 (limit: 4429)
   CGroup: /system.slice/PlexMount.service
           └─10455 /usr/bin/rclone mount RichFlixCrypt:/Encrypted/ /home/craftyclown/Skull --allow-other --bind richflix.ddns.net --buffer-size 256M --dir-cache-time 72h --drive-chunk-size 32M --log-level INFO --log-file /home/craftyclown/logs/rclone.log --umask 002 --vfs-read-chunk-size 128M --vfs-read-chunk-size-limit off --tpslimit 3

May 04 00:26:47 BabyKong systemd[1]: Starting RClone Service...

This is what is says if I try to run PlexMount:

craftyclown@BabyKong:/etc/systemd/system$ sudo systemctl start PlexMount
Job for PlexMount.service failed because the control process exited with error code.
See "systemctl status PlexMount.service" and "journalctl -xe" for details.

and finally this is what I get when I run journalctl -xe

May 04 00:37:22 BabyKong systemd[1]: PlexMount.service: Main process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- An ExecStart= process belonging to unit PlexMount.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 1.
May 04 00:37:22 BabyKong systemd[1]: PlexMount.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit PlexMount.service has entered the 'failed' state with result 'exit-code'.
May 04 00:37:22 BabyKong systemd[1]: Failed to start RClone Service.
-- Subject: A start job for unit PlexMount.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit PlexMount.service has finished with a failure.
--
-- The job identifier is 36238 and the job result is failed.
May 04 00:37:22 BabyKong systemd[1]: PlexMount.service: Service RestartSec=100ms expired, scheduling restart.
May 04 00:37:22 BabyKong systemd[1]: PlexMount.service: Scheduled restart job, restart counter is at 430.
-- Subject: Automatic restarting of a unit has been scheduled
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Automatic restarting of the unit PlexMount.service has been scheduled, as the result for
-- the configured Restart= setting for the unit.
May 04 00:37:22 BabyKong systemd[1]: Stopped RClone Service.
-- Subject: A stop job for unit PlexMount.service has finished
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A stop job for unit PlexMount.service has finished.
--
-- The job identifier is 36315 and the job result is done.
May 04 00:37:23 BabyKong systemd[1]: Starting RClone Service...
-- Subject: A start job for unit PlexMount.service has begun execution
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit PlexMount.service has begun execution.
--
-- The job identifier is 36315.

I'm pretty sure it's going to be an obvious mistake, but I just can't work out what I've done wrong.

Any help would be greatly appreciated.

Cheers

What is your rclone version (output from rclone version)

rclone v1.51.0-266-gf2b1fedc-beta

  • os/arch: linux/arm64
  • go version: go1.14.2

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Ubuntu 19.10 (GNU/Linux 5.3.0-1023-raspi2 aarch64)

Which cloud storage system are you using? (eg Google Drive)

Google Drive

The command you were trying to run (eg rclone copy /tmp remote:tmp)

See notes above

A log from the command with the -vv flag (eg output from rclone -vv copy /tmp remote:tmp)

Is there anything written in the logfile?

Sorry, I forgot to attach that

2020/05/04 01:29:01 mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
2020/05/04 01:29:01 Fatal error: failed to mount FUSE fs: fusermount: exit status 1
2020/05/04 01:29:01 INFO  : Starting HTTP transaction limiter: max 3 transactions/s with burst 1

You want to edit that file as to use --allow-other, you need to have your /etc/fuse.conf look like something like.

felix@gemini:~$ cat /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, in
# order to have it work as user you need user_allow_other in /etc/fuse.conf as
# well. (This option allows users to use the allow_other option.) You need
# allow_other if you want users other than the owner to access a mounted fuse.
# This option must appear on a line by itself. There is no value, just the
# presence of the option.

user_allow_other

It probably a # before the user line so just delete that and re-run it.

1 Like

Sorry! What an idiot I am. The answer was there in front of me (or at least in the log file) all the time

Thanks for the nudge :slight_smile:

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.