Skip to content

Expand storage to AWS S3

Thomas T. Jarløv edited this page Feb 23, 2019 · 5 revisions

If you are using a Raspberry Pi camera (onboard/USB/etc.) to monitor when the alarm is triggered, it is a good idea to backup the photos and videos in cloud - in the case the thief steals you RPi.

The following guide shows how to mount a AWS S3 to the Raspberry Pi.

Requirements

  • AWS account
  • AWS key and secret

Create AWS bucket

Create bucket: nimha

Create folder: media (this will be nimha/media)

Download packages

sudo apt install s3fs

Add key and secret

nano /home/pi/nimha/.passwd-s3fs

Insert:

key:secret

Set permission:

chmod 600 /home/pi/nimha/.passwd-s3fs

Create mount point

sudo mkdir /mnt/nimha
chown pi:pi /mnt/nimha

Allow other than root user to access

nano /etc/fuse.conf
  • uncomment: user_allow_other

Get user and group id

id

Find your user and group id - could be 1000 for both. They are needed in the umask detail.

Mount

s3fs nimha /mnt/nimha -o umask=1000 -o passwd_file=/home/pi/nimha/.passwd-s3fs -o endpoint=eu-west-1 -o allow_other

Umount (not needed)

fusermount /mnt/nimha

Create system service for auto mount

sudo nano /lib/systemd/system/nimhas3.service

Adjust to your details and insert

[Unit]
Description=nimhas3
After=network-online.target

[Service]
User=pi
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/s3fs nimha /mnt/nimha -o umask=1000 -o passwd_file=/home/pi/nimha/.passwd-s3fs -o endpoint=eu-west-1 -o allow_other
ExecStop=/bin/fusermount -u /mnt/nimha

[Install]
WantedBy=multi-user.target

Start on boot and start

systemctl enable nimhas3
systemctl start nimhas3