How to configure FTP storage for Reolink IP Camera

Reolink RCL-810A IP camera mounted to some scrap MDF wood

I recently purchased a Reolink RLC-810A camera with built-in AI vehicle and person detection. The camera features 4K video recording which helps see much more detail compared to my existing Amcrest camera.

With the ever increasing resolution of cameras, SD cards tend to run out of space very quickly and begin overwriting footage after only a few days to recover disk space. The onboard SD is therefore not a long term solution when you want to store weeks or even months of footage.

I’ve had someone break into my shed and steal my bike recently which led to me to reinvent how to do smart home and CCTV system monitoring (post embedded below). Part of this effort was investing in a 4TB surveillance grade harddrive to store weeks of footage and eventually setting up a dedicated network video recorder running BlueIris camera software.


Kitchen Multi-Timer Pro

Now you’re cooking

Multi Timer Pro is your ultimate meal prep companion, keeping track of multiple cooking times and making adjustments on the fly. Give it a try today and become a better home cook!


I mounted my camera to some scrap MDF to create a makeshift stand. Once I move into my house, its obviously better to mount these directly to the wall and lay Cat 6 ethernet wires in the roof.

Deploying an FTP server


Advertisement Begins

Advertisement End


My home server runs on Unraid which features a basic, built-in FTP server. Unfortunately, I was not able to connect to this one with the Reolink camera. Instead, I opted to deploy the PureFTP server using Docker. The Docker Compose file is supplied below. All NAS systems will have a built-in FTP server, you can check if yours supports this by googling it.

  # docker-compose.yaml

version: '3'

services:
  ftpd_server:
    image: stilliard/pure-ftpd
    container_name: pure-ftpd
    ports:
      - "2121:21"
      - "30000-30009:30000-30009"
    volumes: 
      - "/mnt/disks/NVR_DATA/FTP:/home"
      - "./passwd:/etc/pure-ftpd/passwd"
    environment:
      PUBLICHOST: "10.1.1.2"
      FTP_USER_NAME: username
      FTP_USER_PASS: password
      FTP_USER_HOME: /home/reolink
    restart: always


You can create FTP users by running the following command to access the container and then creating an FTP user,

# access the container terminal
docker exec -it ftpd_server /bin/sh

# create a user
pure-pw useradd reolink_user -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers/reolink_user

# show password
cat /etc/pure-ftpd/passwd/pureftpd.passwd

You should now have a file called pureftpd.passwd created in a folder called passwd next to your docker-compose.yaml file. Double check that this file contains the user name and the encrypted password.


Advertisement Begins

Advertisement End


Reolink FTP configuration

Reolink web interface – FTP settings

The FTP settings can be found under Settings> Surveillance > FTP in the reolink web interface. You can see my FTP configuration on the right.

Note that the Upload directory is relative to the FTP_USER_HOME path supplied to docker.

/home/reolink maps to /mnt/disks/NVR_DATA/FTP on my server via Docker volume mappins meaning the camera will upload footage to /mnt/disks/NVR_DATA/FTP/reolink/<year>/<month>/<day>/<filename>.mp4

You can click the FTP Test button to validate the setup.

It’s important to test your camera is successfully uploading footage. After a day or so you should see just how much footage the camera is recording. Most of this is frequently deleted and overwritten on the SD card!

Screenshot of file explorer showing Reolink footage directory with 1184 files and a months worth of daily footage folders

MY MISSION

This blog started nearly 10 years ago to help me document my technical adventures in home automation and various side projects. Since then, my audience has grown significantly thanks to readers like you.

While blog content can be incredibly valuable to visitors, it’s difficult for bloggers to capture any of that value – and we still have to work for a living too. There are many ways to support my efforts should you choose to do so:

Consider joining my newsletter or shouting a coffee to help with research, drafting, crafting and publishing of new content or the costs of web hosting.

It would mean the world if gave my Android App a go or left a 5-star review on Google Play. You may also participate in feature voting to shape the apps future.

Alternatively, leave the gift of feedback, visit my Etsy Store or share a post you liked with someone who may be interested. All helps spread the word.

BTC network: 32jWFfkMQQ6o4dJMpiWVdZzSwjRsSUMCk6

Conclusion

This post showed how to deploy the PureFTP server using Docker, create an FTP user and upload footage from Reolink IP cameras. I can now rest assured that camera footage is stored privately and securely on my home server. Should the SD card or overwrite important footage, I will be able to recover it from the FTP server.

Related posts

Troubleshooting Intermittent WiFi Issues: Solving “Host Unreachable, No IP Route” Error on Android and NUC Devices

How to Optimize Docker Builds with Nexus OSS for Apt, Maven, Docker and NPM Dependencies

Troubleshooting Asus Xonar U7: Blinking LED and Connectivity Issues

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More