OctoPi does not support the Raspberry Pi 5 yet. It does say on the download page, and if you select the Pi 5 (in the latest version of the imager) OctoPi does not show up.
I've written this comment a few times now, so a search of the forums should give you more details - but you'll need to install OctoPrint manually on a Raspberry Pi OS image. I'd recommend using OctoPrint_deploy - details on OctoPrints download page.
Finally, I have installed the Operating System for Raspberry Pi 5.
I have installed octoprint_deploy, and I have connectivity to my printer and can manage it.
@jneilliii
Finally, installing the OS for Raspberry Pi, and then Octioprint, everything is working perfectly on my Raspberry Pi 5.
Well... I've been using my Raspberry Pi 5 + Octoprint all day and.... very very happy.
I am already at the point where I have added many plugins.
I have customized the Theme using Themeify.
And a thousand more things.
Now, I have a question: how can I make a backup copy of this, so that "if there is a problem" or something breaks, I can start from this point?
I see how Pluggins:
Backup Scheduler: the information provided is minimal, and from the screenshot, they look like "local copies" of the Raspberry Pi 5 SD card itself?
Google Drive Backup: I see that it transfers information to Google Drive, but it is not clear to me if it copies everything (and if I format the SD card and load the copy I would have everything) or how.
Any other Backup method?
I was even thinking that since I have an Operating System, I should make a bash file, run it every X amount of time, and use GIT to pull a version of the software to a Bitbucket repository or something like that.
I await your recommendation, as professional as possible.
Use the built in backup method in OctoPrint's settings and download the zip file that is created. Those plugins (both examples mine) are for regularly scheduling a backup to be created and uploading a backup to Google Drive respectfully.
combination of scheduler plugin and the built in event manager you could achieve git upload of your backup.
Initially I tried both, and I disabled UI Customizer due to incompatibilities with Themeify.
Now, after your comment, I just turned UI Customize back on (I turned off Themeify) and spent more time on it.
I have to say that the appearance is very good, and I like the plugin.
Thank you for insisting on using it.
I just enabled OctoPrint backups.
I didn't know that the Software itself included it.
Thanks for the clarification.
Now, I'm setting up Google Drive Backup.
I have done all the steps in the documentation (created the Oauth App, downloaded the credentials JSON file), etc.
But when I search for the JSON file from OctoPrint and attach it, it does nothing.
Since I am a web developer, I have inspected and seen that in Network, and it is happening that:
The /api/plugin/googledrivebackup service is called
A 403 FORBIDDEN returns us
I see the input payload, and I see it correct.
And the service's response is: Insufficient rights
Do you know why I don't have permissions to run this?
Is it because the Oauth Application has just been created in my Google Developer panel, and there is no authorization from Google? Do you have any other ideas?
I have a USB SD (and microSD) card adapter. I use this on my Windows desktop to flash the initial image and I use it on my Raspberry Pi along with rpi-clone to make a copy of the entire SD card.
If you create a full image backup of the card then yes, that can be restored to new card and powered on and will have all your stuff in it. In order to do that you typically have to have another device to save the image file to and I believe in most cases that system has to be powered off, but I'm no linux guru on that front. I've used win32disk imager in the past for this.
Regarding what you mentioned about the need for another device and such, by having an OS installed and being able to work on it freely, I can perfectly make a backup copy of the contents of the card from the shell, and launch it through SCP to an online server, or using Google Drive's own commands through its API, backing up Google Drive itself, right?
I mount Google Drive on the Raspberry, and I can make copies of things directly.
Everything works perfectly fine for me with rclone (the unit mounts fine, I can see files, I see "hot" updates when doing things in the cloud and they are reflected on the Rasberry thanks to the daemon (flag --daemon of the mount command).
I just have one problem. When restarting the raspberry, the unit does not automount.
Do you know why this happens?
I have even tried:
Create an SH file with the execution command: rclone mount --uid XXXX --gid YYYY --daemon --vfs-cache-mode full GOOGLE_DRIVE_UNIT:/FOLDER_PATH_IN_DRIVE/ /PATH_LOCAL_WHERE_CONNECT_THE_UNIT
Create a crontab indicating that the @reboot execute the SH file
But it never runs (and if I manually run the sh file, the drive mounts perfectly).
Does anyone know why the unit doesn't automount using rclone?
Well, finally, it seems that I have managed to get the unit to mount when I restart the Raspberry.
What I have done is:
I have a sh file stored in a path on my Raspberry, which executes the "mount Google Drive drive" line
rclone mount --uid XXXX --gid YYYY --daemon --vfs-cache-mode full GOOGLE_DRIVE_DRIVE:/FOLDER_PATH_IN_DRIVE/ /PATH_LOCAL_WHERE_CONNECT_THE_DRIVE
That file is in path: /home/miUsuario/GoogleDrive/Config/rclone_mount.sh
I have created a crontab at the local user level (the one logged in on the raspberry)
crontab -e
Within this file I have included the line
@reboot sh /home/myUser/GoogleDrive/Config/rclone_mount.sh
Which indicates that:
@reboot: when you reboot
sh /home/miUsuario/GoogleDrive/Config/rclone_mount.sh: Run this file
And with this, it is working for me. I have restarted the raspberry multiple times and it is still mounted.
It seems that not all versions of cron support @reboot.
For this reason, I leave the source of the original information, since it gives many more alternatives (which I will try).
And one of them, which seems more serious and more professional to me (the last one of all), is to use systemd