<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Server on Petrov</title><link>/notes/server/</link><description>Recent content in Server on Petrov</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 01 Jan 2025 00:00:00 +0000</lastBuildDate><atom:link href="/notes/server/index.xml" rel="self" type="application/rss+xml"/><item><title>Caddy</title><link>/notes/server/caddy/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>/notes/server/caddy/</guid><description>&lt;p&gt;&lt;a href="https://caddyserver.com/docs/" class="external-link" target="_blank" rel="noopener"&gt;https://caddyserver.com/docs/&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="install"&gt;
 Install
 &lt;a class="heading-link" href="#install"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf &amp;#39;https://dl.cloudsmith.io/public/caddy/stable/gpg.key&amp;#39; | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf &amp;#39;https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt&amp;#39; | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="change-privilege-to-access-port-80-and-443"&gt;
 Change privilege to access port 80 and 443
 &lt;a class="heading-link" href="#change-privilege-to-access-port-80-and-443"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo setcap cap_net_bind_service=+ep $(which caddy)
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="caddyfile"&gt;
 Caddyfile
 &lt;a class="heading-link" href="#caddyfile"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;/etc/caddy/Caddyfile&lt;/p&gt;</description></item><item><title>Commafeed</title><link>/notes/server/rss/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>/notes/server/rss/</guid><description>&lt;p&gt;&lt;a href="https://www.commafeed.com/#/welcome" class="external-link" target="_blank" rel="noopener"&gt;https://www.commafeed.com/#/welcome&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;config&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;commafeed.http-client.max-response-size=10M
commafeed.feed-refresh.max-interval=24H
commafeed.feed-refresh.force-refresh-cooldown-duration=10S
commafeed.database.cleanup.entries-max-age=0
commafeed.database.cleanup.max-feed-capacity=0
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Containers</title><link>/notes/server/containers/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>/notes/server/containers/</guid><description>&lt;h2 id="languagetool"&gt;
 languagetool
 &lt;a class="heading-link" href="#languagetool"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;podman pull docker.io/erikvl87/languagetool:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;podman run --restart&lt;span class="o"&gt;=&lt;/span&gt;always -d -p 8010:8010 --name languagetool-cont docker.io/erikvl87/languagetool
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#/etc/containers/systemd/languagetool.container&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Unit]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;LanguageTool Container&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;After&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;network.target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Container]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Image&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;docker.io/erikvl87/languagetool&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;languagetool-cont&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;PublishPort&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;8010:8010&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Environment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;Java_Xms=512m&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Environment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;Java_Xmx=2g&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Restart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;always&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Install]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;WantedBy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;default.target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="vaultwarden"&gt;
 vaultwarden
 &lt;a class="heading-link" href="#vaultwarden"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;podman pull docker.io/vaultwarden/server:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;podman run -d --restart&lt;span class="o"&gt;=&lt;/span&gt;always -e &lt;span class="nv"&gt;SIGNUPS_ALLOWED&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt; -v /root/vaultwarden/:/data/ -p 6080:80 --name vaultwarden-cont vaultwarden/server:latest 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#/etc/containers/systemd/vaultwarden.container&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Unit]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;Vaultwarden (Bitwarden-Compatible Server)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;After&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;network.target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Container]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Image&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;vaultwarden/server:latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;vaultwarden-cont&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;PublishPort&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;6080:80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Volume&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;/root/vaultwarden/:/data&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Environment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;SIGNUPS_ALLOWED=false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Restart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;always&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Install]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;WantedBy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;default.target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="calendar"&gt;
 CALENDAR
 &lt;a class="heading-link" href="#calendar"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;</description></item><item><title>Gitea</title><link>/notes/server/gitea/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>/notes/server/gitea/</guid><description>&lt;p&gt;&lt;a href="https://docs.gitea.com/installation/install-from-binary" class="external-link" target="_blank" rel="noopener"&gt;https://docs.gitea.com/installation/install-from-binary&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Nginx</title><link>/notes/server/nginx/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>/notes/server/nginx/</guid><description>&lt;h3 id="install"&gt;
 Install
 &lt;a class="heading-link" href="#install"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt update
sudo apt install nginx
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="test-config"&gt;
 Test config
 &lt;a class="heading-link" href="#test-config"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nginx -t
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="config-location"&gt;
 Config location
 &lt;a class="heading-link" href="#config-location"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/etc/nginx
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="restart"&gt;
 Restart
 &lt;a class="heading-link" href="#restart"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo service nginx restart
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="template-for-reverse-proxy"&gt;
 Template for reverse proxy
 &lt;a class="heading-link" href="#template-for-reverse-proxy"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;server{
	listen 80;
	listen [::]:80;
	server_name _;
	location / {
		proxy_pass http://127.0.0.1:8000;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
	}
}
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="for-auto-sslhttps"&gt;
 For auto ssl/https
 &lt;a class="heading-link" href="#for-auto-sslhttps"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install snapstore&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt update
sudo apt install snapd
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;remove old certbot&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt-get remove certbot
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Install certbot&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo snap install --classic certbot
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Link command to /usr/bin&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo ln -s /snap/bin/certbot /usr/bin/certbot
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Get and install cert&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo certbot --nginx
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Test auto renewal&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo certbot renew --dry-run
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Podman</title><link>/notes/server/podman/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>/notes/server/podman/</guid><description>&lt;p&gt;&lt;a href="https://podman.io/docs/installation" class="external-link" target="_blank" rel="noopener"&gt;https://podman.io/docs/installation&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="install"&gt;
 install
 &lt;a class="heading-link" href="#install"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt-get -y install podman
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="https://docs.podman.io/en/latest/" class="external-link" target="_blank" rel="noopener"&gt;https://docs.podman.io/en/latest/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/containers/podman/blob/main/docs/tutorials/podman_tutorial.md" class="external-link" target="_blank" rel="noopener"&gt;https://github.com/containers/podman/blob/main/docs/tutorials/podman_tutorial.md&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo podman ps -a
sudo podman container ls
sudo podman ps
sudo podman container rm
sudo podman image ls
sudo podman image rm 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html" class="external-link" target="_blank" rel="noopener"&gt;https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Server notes</title><link>/notes/server/server/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>/notes/server/server/</guid><description>&lt;h2 id="to-prevent-updating-of-a-specific-package"&gt;
 To prevent updating of a specific package?
 &lt;a class="heading-link" href="#to-prevent-updating-of-a-specific-package"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Hold a package:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt-mark hold &amp;lt;package-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Remove the hold:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt-mark unhold &amp;lt;package-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Show all packages on hold:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt-mark showhold
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="use-apt-purge-to-remove-apps"&gt;
 USE APT PURGE TO REMOVE APPS
 &lt;a class="heading-link" href="#use-apt-purge-to-remove-apps"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;h2 id="dynamic-dns"&gt;
 Dynamic DNS
 &lt;a class="heading-link" href="#dynamic-dns"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;DDClient &lt;a href="https://www.youtube.com/watch?v=iuDCuUEmKF4" class="external-link" target="_blank" rel="noopener"&gt;YouTube&lt;/a&gt; &lt;a href="https://www.namecheap.com/support/knowledgebase/article.aspx/583/11/how-do-i-configure-ddclient/" class="external-link" target="_blank" rel="noopener"&gt;NameCheap&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Install &amp;amp; Setup Instructions:
sudo apt-get install ddclient
sudo nano /etc/ddclient.conf
daemon=3600
ssl=yes
protocol=dyndns2
use=web, web=myip.dnsomatic.com
server=updates.dnsomatic.com
login=Your OpenDNS login
password=Your OpenDNS Password
all.dnsomatic.com&lt;/p&gt;</description></item><item><title>Systemctl tutorial</title><link>/notes/server/systemctl/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>/notes/server/systemctl/</guid><description>&lt;p&gt;Copy of &lt;a href="https://bun.com/docs/guides/ecosystem/systemd" class="external-link" target="_blank" rel="noopener"&gt;https://bun.com/docs/guides/ecosystem/systemd&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://systemd.io" class="external-link" target="_blank" rel="noopener"&gt;systemd&lt;/a&gt; is an init system and service manager for Linux operating systems that manages the startup and control of system processes and services.&lt;/p&gt;
&lt;!-- systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, maintains mount and auto mount points, and implements an elaborate transactional dependency-based service control logic. systemd supports SysV and LSB init scripts and works as a replacement for sysvinit. --&gt;
&lt;!-- Other parts include a logging daemon, utilities to control basic system configuration like the hostname, date, locale, maintain a list of logged-in users and running containers and virtual machines, system accounts, runtime directories and settings, and daemons to manage simple network configuration, network time synchronization, log forwarding, and name resolution. --&gt;
&lt;hr&gt;
&lt;p&gt;To run a Bun application as a daemon using &lt;strong&gt;systemd&lt;/strong&gt; you&amp;rsquo;ll need to create a &lt;em&gt;service file&lt;/em&gt; in &lt;code&gt;/etc/systemd/system/&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>