<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wreckroom.nyc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=108.27.135.4</id>
	<title>Wreckroom - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wreckroom.nyc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=108.27.135.4"/>
	<link rel="alternate" type="text/html" href="https://wiki.wreckroom.nyc/index.php?title=Special:Contributions/108.27.135.4"/>
	<updated>2026-04-29T16:43:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>https://wiki.wreckroom.nyc/index.php?title=Automated_Certificate_Renewal&amp;diff=447</id>
		<title>Automated Certificate Renewal</title>
		<link rel="alternate" type="text/html" href="https://wiki.wreckroom.nyc/index.php?title=Automated_Certificate_Renewal&amp;diff=447"/>
		<updated>2026-03-29T17:33:20Z</updated>

		<summary type="html">&lt;p&gt;108.27.135.4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Automated Certificate Renewal=&lt;br /&gt;
&lt;br /&gt;
===Script Location===&lt;br /&gt;
&amp;lt;code&amp;gt;/usr/local/bin/renew-and-update-certs.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Script Contents===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Renew certificates&lt;br /&gt;
/usr/syno/sbin/syno-letsencrypt renew-all -v&lt;br /&gt;
&lt;br /&gt;
# Check if renewal was successful (exit code 0)&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
    # Update Navidrome certificates&lt;br /&gt;
    cp /usr/syno/etc/certificate/system/default/RSA-cert.pem /volume2/docker/navidrome/ssl/certificate.crt&lt;br /&gt;
    cp /usr/syno/etc/certificate/system/default/RSA-privkey.pem /volume2/docker/navidrome/ssl/private.key&lt;br /&gt;
    chmod 644 /volume2/docker/navidrome/ssl/certificate.crt&lt;br /&gt;
    chmod 600 /volume2/docker/navidrome/ssl/private.key&lt;br /&gt;
    docker restart navidrome&lt;br /&gt;
    echo &amp;quot;Certificates renewed and Navidrome updated&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Certificate renewal failed, skipping Navidrome update&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task Scheduler Configuration===&lt;br /&gt;
'''Control Panel &amp;gt; Task Scheduler'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Task name || Auto-renew SSL and Update Navidrome&lt;br /&gt;
|-&lt;br /&gt;
| User || root&lt;br /&gt;
|-&lt;br /&gt;
| Schedule || Weekly (Sunday, 3:00 AM)&lt;br /&gt;
|-&lt;br /&gt;
| Script || &amp;lt;code&amp;gt;/usr/local/bin/renew-and-update-certs.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===How It Works===&lt;br /&gt;
# Script runs weekly&lt;br /&gt;
# Checks all certificates for renewal (30 days before expiry)&lt;br /&gt;
# Renews any expiring certificates via Let's Encrypt&lt;br /&gt;
# If successful, copies new certs to Navidrome&lt;br /&gt;
# Restarts Navidrome container with fresh certificates&lt;/div&gt;</summary>
		<author><name>108.27.135.4</name></author>
	</entry>
	<entry>
		<id>https://wiki.wreckroom.nyc/index.php?title=Automated_Certificate_Renewal&amp;diff=446</id>
		<title>Automated Certificate Renewal</title>
		<link rel="alternate" type="text/html" href="https://wiki.wreckroom.nyc/index.php?title=Automated_Certificate_Renewal&amp;diff=446"/>
		<updated>2026-03-29T17:32:37Z</updated>

		<summary type="html">&lt;p&gt;108.27.135.4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Automated Certificate Renewal=&lt;br /&gt;
&lt;br /&gt;
===Script Location===&lt;br /&gt;
&amp;lt;code&amp;gt;/usr/local/bin/renew-and-update-certs.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Script Contents===&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Renew certificates&lt;br /&gt;
/usr/syno/sbin/syno-letsencrypt renew-all -v&lt;br /&gt;
&lt;br /&gt;
# Check if renewal was successful (exit code 0)&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
    # Update Navidrome certificates&lt;br /&gt;
    cp /usr/syno/etc/certificate/system/default/RSA-cert.pem /volume2/docker/navidrome/ssl/certificate.crt&lt;br /&gt;
    cp /usr/syno/etc/certificate/system/default/RSA-privkey.pem /volume2/docker/navidrome/ssl/private.key&lt;br /&gt;
    chmod 644 /volume2/docker/navidrome/ssl/certificate.crt&lt;br /&gt;
    chmod 600 /volume2/docker/navidrome/ssl/private.key&lt;br /&gt;
    docker restart navidrome&lt;br /&gt;
    echo &amp;quot;Certificates renewed and Navidrome updated&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Certificate renewal failed, skipping Navidrome update&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Task Scheduler Configuration===&lt;br /&gt;
&lt;br /&gt;
**Control Panel &amp;gt; Task Scheduler**&lt;br /&gt;
&lt;br /&gt;
| Setting | Value |&lt;br /&gt;
|---------|-------|&lt;br /&gt;
| Task name | Auto-renew SSL and Update Navidrome |&lt;br /&gt;
| User | root |&lt;br /&gt;
| Schedule | Weekly (Sunday, 3:00 AM) |&lt;br /&gt;
| Script | `/usr/local/bin/renew-and-update-certs.sh` |&lt;br /&gt;
&lt;br /&gt;
===How It Works===&lt;br /&gt;
&lt;br /&gt;
1. Script runs weekly&lt;br /&gt;
2. Checks all certificates for renewal (30 days before expiry)&lt;br /&gt;
3. Renews any expiring certificates via Let's Encrypt&lt;br /&gt;
4. If successful, copies new certs to Navidrome&lt;br /&gt;
5. Restarts Navidrome container with fresh certificates&lt;/div&gt;</summary>
		<author><name>108.27.135.4</name></author>
	</entry>
	<entry>
		<id>https://wiki.wreckroom.nyc/index.php?title=Automated_Certificate_Renewal&amp;diff=445</id>
		<title>Automated Certificate Renewal</title>
		<link rel="alternate" type="text/html" href="https://wiki.wreckroom.nyc/index.php?title=Automated_Certificate_Renewal&amp;diff=445"/>
		<updated>2026-03-29T17:32:06Z</updated>

		<summary type="html">&lt;p&gt;108.27.135.4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;## Automated Certificate Renewal&lt;br /&gt;
&lt;br /&gt;
### Script Location&lt;br /&gt;
&amp;lt;code&amp;gt;/usr/local/bin/renew-and-update-certs.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
### Script Contents&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Renew certificates&lt;br /&gt;
/usr/syno/sbin/syno-letsencrypt renew-all -v&lt;br /&gt;
&lt;br /&gt;
# Check if renewal was successful (exit code 0)&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
    # Update Navidrome certificates&lt;br /&gt;
    cp /usr/syno/etc/certificate/system/default/RSA-cert.pem /volume2/docker/navidrome/ssl/certificate.crt&lt;br /&gt;
    cp /usr/syno/etc/certificate/system/default/RSA-privkey.pem /volume2/docker/navidrome/ssl/private.key&lt;br /&gt;
    chmod 644 /volume2/docker/navidrome/ssl/certificate.crt&lt;br /&gt;
    chmod 600 /volume2/docker/navidrome/ssl/private.key&lt;br /&gt;
    docker restart navidrome&lt;br /&gt;
    echo &amp;quot;Certificates renewed and Navidrome updated&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Certificate renewal failed, skipping Navidrome update&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
### Task Scheduler Configuration&lt;br /&gt;
&lt;br /&gt;
**Control Panel &amp;gt; Task Scheduler**&lt;br /&gt;
&lt;br /&gt;
| Setting | Value |&lt;br /&gt;
|---------|-------|&lt;br /&gt;
| Task name | Auto-renew SSL and Update Navidrome |&lt;br /&gt;
| User | root |&lt;br /&gt;
| Schedule | Weekly (Sunday, 3:00 AM) |&lt;br /&gt;
| Script | `/usr/local/bin/renew-and-update-certs.sh` |&lt;br /&gt;
&lt;br /&gt;
### How It Works&lt;br /&gt;
&lt;br /&gt;
1. Script runs weekly&lt;br /&gt;
2. Checks all certificates for renewal (30 days before expiry)&lt;br /&gt;
3. Renews any expiring certificates via Let's Encrypt&lt;br /&gt;
4. If successful, copies new certs to Navidrome&lt;br /&gt;
5. Restarts Navidrome container with fresh certificates&lt;/div&gt;</summary>
		<author><name>108.27.135.4</name></author>
	</entry>
	<entry>
		<id>https://wiki.wreckroom.nyc/index.php?title=Automated_Certificate_Renewal&amp;diff=444</id>
		<title>Automated Certificate Renewal</title>
		<link rel="alternate" type="text/html" href="https://wiki.wreckroom.nyc/index.php?title=Automated_Certificate_Renewal&amp;diff=444"/>
		<updated>2026-03-29T17:31:39Z</updated>

		<summary type="html">&lt;p&gt;108.27.135.4: Created page with &amp;quot;## Automated Certificate Renewal  ### Script Location `/usr/local/bin/renew-and-update-certs.sh`  ### Script Contents ```bash #!/bin/bash  # Renew certificates /usr/syno/sbin/syno-letsencrypt renew-all -v  # Check if renewal was successful (exit code 0) if [ $? -eq 0 ]; then     # Update Navidrome certificates     cp /usr/syno/etc/certificate/system/default/RSA-cert.pem /volume2/docker/navidrome/ssl/certificate.crt     cp /usr/syno/etc/certificate/system/default/RSA-priv...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;## Automated Certificate Renewal&lt;br /&gt;
&lt;br /&gt;
### Script Location&lt;br /&gt;
`/usr/local/bin/renew-and-update-certs.sh`&lt;br /&gt;
&lt;br /&gt;
### Script Contents&lt;br /&gt;
```bash&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Renew certificates&lt;br /&gt;
/usr/syno/sbin/syno-letsencrypt renew-all -v&lt;br /&gt;
&lt;br /&gt;
# Check if renewal was successful (exit code 0)&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
    # Update Navidrome certificates&lt;br /&gt;
    cp /usr/syno/etc/certificate/system/default/RSA-cert.pem /volume2/docker/navidrome/ssl/certificate.crt&lt;br /&gt;
    cp /usr/syno/etc/certificate/system/default/RSA-privkey.pem /volume2/docker/navidrome/ssl/private.key&lt;br /&gt;
    chmod 644 /volume2/docker/navidrome/ssl/certificate.crt&lt;br /&gt;
    chmod 600 /volume2/docker/navidrome/ssl/private.key&lt;br /&gt;
    docker restart navidrome&lt;br /&gt;
    echo &amp;quot;Certificates renewed and Navidrome updated&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Certificate renewal failed, skipping Navidrome update&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### Task Scheduler Configuration&lt;br /&gt;
&lt;br /&gt;
**Control Panel &amp;gt; Task Scheduler**&lt;br /&gt;
&lt;br /&gt;
| Setting | Value |&lt;br /&gt;
|---------|-------|&lt;br /&gt;
| Task name | Auto-renew SSL and Update Navidrome |&lt;br /&gt;
| User | root |&lt;br /&gt;
| Schedule | Weekly (Sunday, 3:00 AM) |&lt;br /&gt;
| Script | `/usr/local/bin/renew-and-update-certs.sh` |&lt;br /&gt;
&lt;br /&gt;
### How It Works&lt;br /&gt;
&lt;br /&gt;
1. Script runs weekly&lt;br /&gt;
2. Checks all certificates for renewal (30 days before expiry)&lt;br /&gt;
3. Renews any expiring certificates via Let's Encrypt&lt;br /&gt;
4. If successful, copies new certs to Navidrome&lt;br /&gt;
5. Restarts Navidrome container with fresh certificates&lt;/div&gt;</summary>
		<author><name>108.27.135.4</name></author>
	</entry>
	<entry>
		<id>https://wiki.wreckroom.nyc/index.php?title=Synology&amp;diff=443</id>
		<title>Synology</title>
		<link rel="alternate" type="text/html" href="https://wiki.wreckroom.nyc/index.php?title=Synology&amp;diff=443"/>
		<updated>2026-03-29T17:31:25Z</updated>

		<summary type="html">&lt;p&gt;108.27.135.4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Synology is a Network Attached Storage (NAS) and Linux Server that runs many different processes that are essential to [[Wreckroom]].&lt;br /&gt;
&lt;br /&gt;
=Public=&lt;br /&gt;
&lt;br /&gt;
===[[MediaWiki]]===&lt;br /&gt;
Uses MariaDB 10 and MediaWiki applications.&lt;br /&gt;
&lt;br /&gt;
===[[Web Server]]===&lt;br /&gt;
NGINX reverse proxy runs wreckroom.nyc over 443/3000.&lt;br /&gt;
&lt;br /&gt;
==Private==&lt;br /&gt;
===[[Media Server]]===&lt;br /&gt;
Serves files behind the [[VPN]].&lt;br /&gt;
&lt;br /&gt;
===[[Navidrome]]===&lt;br /&gt;
Serves FLAC library&lt;br /&gt;
&lt;br /&gt;
= Certs =&lt;br /&gt;
&lt;br /&gt;
===[[Automated Certificate Renewal]]===&lt;br /&gt;
March 29, 2026&lt;/div&gt;</summary>
		<author><name>108.27.135.4</name></author>
	</entry>
</feed>