I hear ya but my instance is old (before i knew docker) and just works on the rails. I also tweak the heck out of it for performance so I deal with the annoyance once every two years. If it completely blows up I might roll it on docker.
Reddit refuge, escentric engineer and serial hobbyist.
I hear ya but my instance is old (before i knew docker) and just works on the rails. I also tweak the heck out of it for performance so I deal with the annoyance once every two years. If it completely blows up I might roll it on docker.
I understand that everyone doesn’t always have a perfect experience but I’ve been using the same instance of nextcloud for over 8 years I just keep upgrading and migrating. It just works. Only issues I’ve had is when Debian withholds updating php for too long or when they finally do all the config files for php get fucked and I have to redo them all.
Here is the list!
1 x Samsung SSD 980 1TB
1 x Adata XPG SX8200 Pro 2TB
2 x Samsung SSD 870 QVO 8TB
1 x Western digital engineering sample. Cannot comment. 4TB
1 x Seagate Exos X16 14tb
My server is a ryzen 5600g based and has; 2 x m.2 SSDs, 3xSATA SSDs (20TB) and one spun down mechanical disk (14TB) and my total idle power is around 27W. The mechanical disk is the only notable load, unplugging it can save me 5W idle and when it spins up its about 15W total. I can give you specific model numbers if you like.
I’m sorry but wireguard is not easy for beginners and the quick QR code generator in the command line was fantastic and light years ahead of fumbling around with getting config files securely to a mobile device.
Been using afraid.org for well over 10 years and use dynamic dns to have various subdomains pointing to different IP addresses/hosts I have in physically different places. It just works and I login maybe once every 3-4 years.
Listen to this guy! Spot on. When I built my server I spent more time researching and paying for the PSU more than any other single part. Ended up with a Seasonic PRIME FANLESS PX-450. Server idles around 25W with a ryzen 5600g and 40TB of storage.
I’m going to have to give this a shot tonight, need to make a pfsense rule to allow the server to get out and then change its DNS. Regarding php, my current config is the following because I have over 64gigs of ram and went through great length to get Nextcloud to cache MORE into ram:
pm.max_requests = 50000 #set higher, the process is recyled after 50k calls to prevent memory leaks
pm.max_children = 1000
pm.start_servers = 60
pm.min_spare_servers = 30
pm.max_spare_servers = 120
So on your Nextcloud server you use an external DNS and it greatly sped up you nextcloud? Because I noticed a few years back mine got slow and I cannot figure out why. It was about the time I enforced pihole dns with pfsense. I might need to try this.
Do you know what it’s idle power usage is? I’m guessing below 10W?
Perhaps not the same but I own a 150 year old home in America and I had foam insulation blown in. The insulation it provided was minor but what it helped tremendously with was drafts and air exchange. On older homes air leaks and sealing any cracks and drafts can potentially save you more money than adding actual insulation depending on how leaky it is. Food for thought though it might not help you.
+1 this is exactly my experience. My install must be 5-6 years old at this point and its on the rails. I’ve braved many php updates…
I noticed when they first spin up on boot they do some sub routine and they’re pretty loud and chatty. First time I heard it I was spooked but it worked fine and I just use it for backup so I just moved on. Once it’s on and in normal operation it’s like any other disk I’ve used over the decades. Nothing as loud as an old scsci disk or a quantum fireball.
It’s really boring, Debian 12: /dev/disk/by-uuid/8f041da5-6f7a-4ff5-befa-2d3cc61a382c { spindown_time = 241 write_cache = off }
I have an Exos x16 and x18 drive and they both spin down fine in Debian using hdparm. I use them for cold storage and they’re perfectly adequate.
I’ve been running the Joplin server for over a year with clients on four laptops and three phones and share notes with my wife and its wonderful. There are certainly quirks and sometimes sync issues but by and large I’m really happy with it. There seems to be one cluster of notes I have that always irritates a fresh client sync and it shows up at 50 conflicts but I work through it. Also my notebooks are huge and the first sync can take an hour. It’s a lot slower than I’d expect.
Sorry, I forgot to post the scripts. I’m a meathead electrical engineer so I don’t use GIT or anything so here is the code dump. To summarize the setup’s software:
The backup script is fairly boring, just runs rsync and pushes the rsync log files back to the primary server. If it fails it sends me an email before turning the ethernet back off and going black.
#So here is my python code that runs the button press:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import subprocess
import time
from multiprocessing import Process
#when this script first runs, at boot, disable ethernet
time.sleep(5) #wait 5 seconds for system to boot, then try and disable ethernet.
subprocess.call(['/home/pi/ethernet_updown.sh'], shell=False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(22, GPIO.OUT) #controls TFT display backlight
GPIO.setup(23, GPIO.IN) #pull up or down is optional, the TFT display buttons have a hardware 10k pull up. Measure low tranisitions
GPIO.setup(24, GPIO.IN)
#watches the button mounted above the USB port, in the Pi's case.
def case_button_watch():
while True:
GPIO.wait_for_edge(3, GPIO.FALLING)
#wait 100ms then check if its still low, debounce timer
time.sleep(.100)
if GPIO.input(3) == GPIO.LOW:
#do something as it's a button press
print('Button is pressed!')
time.sleep(.900)
if GPIO.input(3) == GPIO.LOW:
#if the button is pressed for over 1 second its a long press. Run the backup script
print('Button long press (greater than 1 second), running an unscheduled backup')
subprocess.call(['/home/pi/backup.sh'], shell=False)
else:
#the press was greater than 100mS but less than 1000mS, just toggle the ethernet
print('Button short press (less than 1 second), toggling the ethernet')
subprocess.call(['/home/pi/ethernet_updown.sh'], shell=False)
else:
#do nothing as its interference
print('GPIO3 debounce failed, it was noise')
#watches the buttons in the TFT display
def TFT_display_button1():
while True:
GPIO.wait_for_edge(23, GPIO.FALLING)
#wait 100ms then check if its still low, debounce timer
time.sleep(.100)
if GPIO.input(23) == GPIO.LOW:
#do something as it's a button press
print('Button GPIO23 is pressed!')
GPIO.output(22, GPIO.HIGH) #turn the backlight ON
else:
#do nothing as its interference
print('GPIO23 debounce failed, it was noise')
#watches the buttons in the TFT display
def TFT_display_button2():
while True:
GPIO.wait_for_edge(24, GPIO.FALLING)
#wait 100ms then check if its still low, debounce timer
time.sleep(.100)
if GPIO.input(24) == GPIO.LOW:
#do something as it's a button press
print('Button GPIO24 is pressed!')
GPIO.output(22, GPIO.LOW) #turn the backlight OFF
else:
#do nothing as its interference
print('GPIO24 debounce failed, it was noise')
if __name__ == '__main__':
#run three parallel processes to watch all three buttons with software debounce
proc1 = Process(target=case_button_watch)
proc1.start()
proc2 = Process(target=TFT_display_button1)
proc2.start()
proc3 = Process(target=TFT_display_button2)
proc3.start()
#bash script that toggles the ethernet - if its on, it turns it off. if its off, it turns it on:
#!/bin/bash
if sudo ifconfig | grep 'eth0' | grep 'RUNNING' > /dev/null;
then
wall -n "$(date +"%Y%m%d_%H%M%S"):Ethernet going down"
sudo ifconfig eth0 down
else
wall -n "$(date +"%Y%m%d_%H%M%S"):Ethernet going up"
sudo ifconfig eth0 up
fi
Ditto, though I’m getting more and more resentful by the day at the lack of multi user support. I’m not going to donate to them again.