<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Christian Knedel</title>
    <link>https://www.christian-knedel.de/zh/post/</link>
    <description>Recent content in Posts on Christian Knedel</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sat, 01 Oct 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://www.christian-knedel.de/zh/post/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>在Devops面包店：高效的饼干烘焙</title>
      <link>https://www.christian-knedel.de/zh/post/2022/october/20221001-cookies/</link>
      <pubDate>Sat, 01 Oct 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/october/20221001-cookies/</guid>
      <description>超市里有巧克力圣诞老人，外面很冷。人们整年都在谈论Git、管道、Docker和饼干依赖注入。在这个稍有不同的教程中，我展示了你如何只用一些材料和简单的面团就能烤出许多不同的饼干和油酥饼。    ||Zutat |Menge|| ||&amp;mdash; |&amp;mdash;|| || Mehl | 300g || || Butter |200g|| || Zucker |100g|| || Salz | 1. prise || || Ei | 1. ||
第1步：面团对于这个非常简单的3-2-1酥皮面饼，你只需要一些材料：将所有材料在碗中混合在一起并揉成团。     然后我把面团分成小块，放在冰箱里20分钟。    第2步：切出油酥饼的角对于切出油酥饼，我使用一个方形模具。然后我把大约2茶匙果酱放在中间，把整个东西折成一个三角形。我把边缘稍微压在一起。           当然，你也可以切出一些其他的饼干。我把烤箱加热到180度，然后把所有东西放进去。        第三步：我的秘密提示：如果你还有一些可可，你也可以把它混入面团。       褐色的堆积物可能看起来并不令人胃口，但结果是值得骄傲的。    </description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology DiskStation上使用HACS和Govee的家庭助手</title>
      <link>https://www.christian-knedel.de/zh/post/2022/september/20220917-synology-home-assistant-govee/</link>
      <pubDate>Sat, 17 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/september/20220917-synology-home-assistant-govee/</guid>
      <description>当我的同事向我展示他最新的购物愿望 &amp;ldquo;Govee Glide Music LED壁灯 &amp;ldquo;时，我很兴奋，立即寻找API连接。在本教程中，你将学习如何在Synology DiskStation上安装 &amp;ldquo;家庭助手&amp;rdquo;。在这个例子中，我还用HACS整合了一个Govee Glide Music LED壁灯。
第1步：安装应用程序并生成API密钥 首先，&amp;ldquo;Govee Glide Music LED壁灯 &amp;ldquo;必须连接到智能手机上的 &amp;ldquo;Govee &amp;ldquo;应用程序。一旦应用程序找到了LED壁灯，它们也可以连接到Wi-Fi。 要做到这一点，在应用程序中选择LED壁灯，点击右上方的齿轮符号，然后点击 &amp;ldquo;Wi-Fi设置&amp;rdquo;。      然后，LED壁灯在网络中也是可见的。    第2步：创建Govee API密钥 同样，该应用程序是必需的。请切换到应用程序的主菜单，点击右下方的 &amp;ldquo;人 &amp;ldquo;字符号。    然后点击右上方的齿轮图标，在 &amp;ldquo;关于我们&amp;rdquo;&amp;gt;&amp;ldquo;请求API密钥&amp;rdquo;。      很好!现在可以在Synology磁盘站上安装Home Assistant。
第3步：安装家庭助理图像 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;家庭助理&amp;rdquo;。我选择Docker镜像 &amp;ldquo;homeassistant/home-assistant&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。      我双击我的 &amp;ldquo;homeassistant/home-assistant &amp;ldquo;图像。然后我选择主机网络，激活下一步的 &amp;ldquo;自动重启&amp;rdquo;，并点击通过。 我双击我的 &amp;ldquo;homeassistant/home-assistant &amp;ldquo;图像。 然后我点击 &amp;ldquo;高级设置&amp;rdquo;，在这里也激活了 &amp;ldquo;自动重新启动&amp;rdquo;。 现在我可以通过Synology设备的IP地址和分配的端口 &amp;ldquo;8123 &amp;ldquo;来调用家庭助理，例如：http://192.</description>
    </item>
    
    <item>
      <title>容器的伟大之处：通过Docker Compose在Synology磁盘站上的Plex服务器</title>
      <link>https://www.christian-knedel.de/zh/post/2022/september/20220921-plex/</link>
      <pubDate>Sat, 17 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/september/20220921-plex/</guid>
      <description>Plex媒体服务器是一个免费的、易于安装的媒体中心，允许你通过家庭网络或互联网管理、准备和流式传输你的音乐、电影和剧集收藏，几乎任何设备或操作系统。    今天我将展示如何在Synology DiskStation上安装Plex服务。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &amp;quot;2.1&amp;quot; services: plex: image: plexinc/pms-docker:latest container_name: plex network_mode: host environment: - PUID=1024 - PGID=100 - TZ=Europe/Berlin volumes: - ./config:/config - ./data:/transcode - ./media:/data restart: unless-stopped 更多有用的家庭使用的Docker镜像可以在洛克王国（Dockerverse）中找到。
第1步：准备好Plex文件夹 我在Docker目录下创建了一个名为 &amp;ldquo;plex &amp;ldquo;的新目录，以及其他子目录 &amp;ldquo;temp&amp;rdquo;、&amp;ldquo;media&amp;rdquo;、&amp;ldquo;config &amp;ldquo;和 &amp;ldquo;data&amp;rdquo;。        第2步：安装Plex 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签并搜索 &amp;ldquo;plex&amp;rdquo;。我选择Docker镜像 &amp;ldquo;plexinc/pms-docker:latest&amp;rdquo;，然后点击标签 &amp;ldquo;latest&amp;rdquo;。      我双击我的Plex图像。    然后我点击 &amp;ldquo;使用与Docker主机相同的网络&amp;rdquo;，在这里也激活了 &amp;ldquo;自动重启&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里连接子文件夹 &amp;ldquo;config&amp;rdquo;、&amp;ldquo;data&amp;rdquo;、&amp;ldquo;media &amp;ldquo;等&amp;hellip;&amp;hellip;。          现在可以启动该容器了。我使用Synology的IP地址、管理路径和我的容器端口32400来调用Plex服务器，例如 &amp;ldquo;http://192.</description>
    </item>
    
    <item>
      <title>Ubiquti的伟大之处：Telekom FTTH调制解调器/ONT作为Unifi WAN，后面是Fritzbox</title>
      <link>https://www.christian-knedel.de/zh/post/2022/june/20220605-my-network/</link>
      <pubDate>Sun, 05 Jun 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/june/20220605-my-network/</guid>
      <description>尽管我的网络还没有完成，但我将让你了解我目前的解决方案。我住在一栋有Telekom FTTH连接的旧楼里，并将其连接到我的Dream Machine Pro的WAN端口。      然后我为Telekom FTTH连接配置了PPPoE。该用户名由以下数据组成：&amp;ldquo;AnschlusskennungZugangsnummerNebenstelle@t-online.de&amp;rdquo;。请不要惊讶，第一个DNS条目是一个本地转发的DNS服务器/pi孔。    我的Fritzbox也是通过WAN口连接到Unifi网络的。因此，我可以将Fritzbox用作答录机、VOIP、传真和DECT站，用于我的Fritz电话和多功能打印机。      当然，Fritzbox的广域网连接也必须进行配置。    </description>
    </item>
    
    <item>
      <title>容器的伟大之处：vanDAM在Synology上的应用 - Diskstation</title>
      <link>https://www.christian-knedel.de/zh/post/2022/may/20220515-docker-van-dam/</link>
      <pubDate>Sun, 15 May 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/may/20220515-docker-van-dam/</guid>
      <description>VanDAM是一个数字资产管理器（DAM），专门为3D打印文件设计。它允许你轻松查看STL和OBJ文件。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：创建vanDAM文件夹 我在Docker目录下创建一个名为 &amp;ldquo;van-dam &amp;ldquo;的新目录。      我用 &amp;ldquo;cd &amp;ldquo;命令搜索VanDam目录，并创建两个子文件夹。 x  &amp;ndash;  +   Terminal   $ cd /volume1/docker/van-dam/ $ mkdir db_data $ mkdir libraries   然后我在vanDAM目录那里创建一个 &amp;ldquo;van-dam.yml &amp;ldquo;文件，其中有这样的内容。
version: &amp;quot;3&amp;quot; services: app: image: ghcr.io/floppy/van_dam:latest ports: - 3214:3214 volumes: - ./libraries:/libraries environment: DATABASE_URL: postgresql://van_dam:password@db/van_dam?pool=5 SECRET_KEY_BASE: a_nice_long_random_string GRID_SIZE: 260 depends_on: - db - redis db: image: postgres:13 volumes: - db_data:/var/lib/postgresql/data environment: POSTGRES_USER: van_dam POSTGRES_PASSWORD: password restart: on-failure redis: image: redis:6 restart: on-failure volumes: db_data: 现在用这个编译调用启动vanDAM服务器。 x  &amp;ndash;  +   Terminal   $ sudo docker-compose -f van-dam.</description>
    </item>
    
    <item>
      <title>容器的伟大之处：Synology 上的 Grafana - Diskstation</title>
      <link>https://www.christian-knedel.de/zh/post/2022/april/20220418-docker-grafana/</link>
      <pubDate>Mon, 18 Apr 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/april/20220418-docker-grafana/</guid>
      <description>Grafana是一个跨平台的开源应用程序，用于图形化显示来自各种数据源的数据，如InfluxDB、MySQL、PostgreSQL或Prometheus。今天我展示了如何在Synology DiskStation上安装一个Grafana服务。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：创建Grafana文件夹 我在Docker目录下创建了一个名为 &amp;ldquo;grafana &amp;ldquo;的新目录。      我用 &amp;ldquo;cd &amp;ldquo;命令搜索Grafana目录。 x  &amp;ndash;  +   Terminal   $ cd /volume1/docker/grafana/   然后我在Grafana目录下创建一个 &amp;ldquo;grafana.yml &amp;ldquo;文件，其中有这样的内容。
version: &amp;quot;2&amp;quot; services: grafana: image: grafana/grafana container_name: grafana_server_grafana restart: always ports: - 3000:3000 networks: - grafana environment: - GF_SERVER_CERT_FILE=/etc/ssl/server.crt - GF_SERVER_CERT_KEY=/etc/ssl/server.key - GF_SERVER_PROTOCOL=https - GF_SERVER_HTTP_PORT=3000 volumes: - .</description>
    </item>
    
    <item>
      <title>容器的伟大之处：安装Jitsy</title>
      <link>https://www.christian-knedel.de/zh/post/2022/april/20220402-docker-jitsi/</link>
      <pubDate>Sat, 02 Apr 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/april/20220402-docker-jitsi/</guid>
      <description>通过Jitsi，你可以创建和部署一个安全的视频会议解决方案。今天我展示了如何在服务器上安装一个Jitsi服务，参考：https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/ 。
第1步：创建 &amp;ldquo;jitsi &amp;ldquo;文件夹 我创建了一个名为 &amp;ldquo;jitsi &amp;ldquo;的新目录进行安装。 x  &amp;ndash;  +   Terminal   $ mkdir jitsi/ $ wget https://github.com/jitsi/docker-jitsi-meet/archive/refs/tags/stable-7001.zip $ unzip stable-7001.zip -d jitsi/ $ rm stable-7001.zip $ cd /docker/jitsi/docker-jitsi-meet-stable-7001  
第2步：配置 现在我复制了标准配置，并对其进行调整。 x  &amp;ndash;  +   Terminal   $ cp env.example .env   见。    为了在.env文件的安全选项中使用强密码，应该运行一次以下bash脚本。 x  &amp;ndash;  +   Terminal   $ .</description>
    </item>
    
    <item>
      <title>容器的伟大之处：KPI仪表板</title>
      <link>https://www.christian-knedel.de/zh/post/2022/march/20220327-kpi-dashboard/</link>
      <pubDate>Mon, 21 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/march/20220327-kpi-dashboard/</guid>
      <description>特别是在科罗纳时代，随着工作的分散，所有地点都对最新的信息有很高的要求。我自己已经建立了无数的信息系统，我想介绍一个伟大的软件，叫做Smashing.Speaker: https://smashing.github.io/Das Smashing项目最初是由Shopify公司以Dashing的名字开发的，用于展示商业数字。但当然，你不能只显示商业数字。来自世界各地的开发者已经为Gitlab、Jenkins、Bamboo、Jira等开发了Smashing瓦片，即所谓的widget，见：https://github.com/Smashing/smashing/wiki/Additional-WidgetsDoch 如何使用它？
第1步：创建基础图像 首先，我创建了一个简单的Docker镜像，其中已经包含了Ruby和Dashing。 x  &amp;ndash;  +   Terminal   $ mkdir dashing-project $ cd dashing-project $ mkdir dashboard $ vim Dockerfile   这是我在Dockerfile文件中写的第一个内容。
From ubuntu:latest ENV TZ=Europe/Berlin RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime &amp;amp;&amp;amp; echo $TZ &amp;gt; /etc/timezone COPY dashboard/ /code/ RUN apt-get update &amp;amp;&amp;amp; apt-get install -y ruby wget unzip ruby-dev build-essential tzdata nodejs &amp;amp;&amp;amp; \ gem install smashing &amp;amp;&amp;amp; \ apt-get clean 然后我用这个命令创建Docker镜像。 x  &amp;ndash;  +   Terminal   $ docker build -t my-dashboard:latest .</description>
    </item>
    
    <item>
      <title>容器的伟大之处：从广播中录制MP3</title>
      <link>https://www.christian-knedel.de/zh/post/2022/march/20220321-docker-mighty-mixxx-tapper/</link>
      <pubDate>Mon, 21 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2022/march/20220321-docker-mighty-mixxx-tapper/</guid>
      <description>Streamripper是一个命令行工具，可以用来录制MP3或OGG/Vorbis流，并直接保存到硬盘上。歌曲会自动以艺术家的名字命名并单独保存，格式是最初发送的格式（所以实际上是创建了扩展名为.mp3或.ogg的文件）。我发现了一个很好的无线电记录器接口，并从中建立了一个Docker镜像，见：https://github.com/terrorist-squad/mightyMixxxTapper/    专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &amp;quot;2.0&amp;quot; services: mealie: container_name: mighty-mixxx-tapper image: chrisknedel/mighty-mixxx-tapper:latest restart: always ports: - 9000:80 environment: TZ: Europa/Berlin volumes: - ./ripps/:/tmp/ripps/ 第1步：搜索Docker镜像 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;mighty-mixxx-tapper&amp;rdquo;。我选择Docker镜像 &amp;ldquo;chrisknedel/mighty-mixxx-tapper&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。    图像下载后，可作为图像使用。Docker区分了两种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和图像/影像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。
第2步：将图像投入运行。 我双击我的 &amp;ldquo;mighty-mixxx-tapper &amp;ldquo;图像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的文件夹，挂载路径为&amp;rdquo;/tmp/ripps/&amp;quot;。      我为 &amp;ldquo;mighty-mixxx-tapper &amp;ldquo;容器分配了固定端口。没有固定的端口，可能是 &amp;ldquo;mighty-mixxx-tapper-server &amp;ldquo;在重启后运行在不同的端口。    经过这些设置，mighty-mixxx-tapper-server就可以启动了!之后，你可以通过Synology设备的Ip地址和分配的端口（例如http://192.168.21.23:8097）呼叫mighty-mixxx-tapper。    </description>
    </item>
    
    <item>
      <title>有时我真希望我有一台时间机器!</title>
      <link>https://www.christian-knedel.de/zh/post/2021/october/20211107-archive-iso/</link>
      <pubDate>Sun, 07 Nov 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/october/20211107-archive-iso/</guid>
      <description>Wayback Machine是一个旧网站的档案库。你只需在那里输入域名，就能得到所有静态快照的时间线。    最近，还增加了一个大型的文化宝库，即老ISO/CD图像。在以下链接中，你可以找到旧游戏、杂志、操作系统以及旧邮购目录：https://archive.org/details/softwareSo，例如2000年的奥托目录CD：https://archive.org/details/ottofruehjahrsommer2000                                  1992年的乐高目录也是一个真正的亮点：https://archive.org/details/netherlands-Katalog_Lego-1992/page/n43/mode/2up          我最喜欢的是1986年的Quelle目录：https://archive.org/details/idoc.pub_quelle-katalog-herbst-winter-1986-87/page/899/mode/2up?view=theater        </description>
    </item>
    
    <item>
      <title>短文：将VMware Fusion与ESXi连接起来</title>
      <link>https://www.christian-knedel.de/zh/post/2021/october/20211107-esxi-vmfusion/</link>
      <pubDate>Sun, 07 Nov 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/october/20211107-esxi-vmfusion/</guid>
      <description>在这个简短的教程中，我展示了如何通过VMware Fusion远程控制ESXi机器。首先，我在ESXi界面调出机器的详细信息，并点击 &amp;ldquo;控制台&amp;rdquo;。        现在我的VMware Fusion作为一个客户端连接到ESXi服务器。    </description>
    </item>
    
    <item>
      <title>容器的伟大之处：Synology磁盘站上的罗技媒体服务器</title>
      <link>https://www.christian-knedel.de/zh/post/2021/september/20210905-logitech-mediaserver/</link>
      <pubDate>Sun, 05 Sep 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/september/20210905-logitech-mediaserver/</guid>
      <description>在本教程中，你将学习如何在Synology DiskStation上安装罗技媒体服务器。    第1步：准备好罗技媒体服务器文件夹 我在Docker目录下创建了一个名为 &amp;ldquo;logitechmediaserver &amp;ldquo;的新目录。      第二步：安装罗技Mediaserver图像 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;logitechmediaserver&amp;rdquo;。我选择Docker镜像 &amp;ldquo;lmscommunity/logitechmediaserver&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。      我双击我的罗技媒体服务器图像。然后我点击 &amp;ldquo;高级设置&amp;rdquo;，在这里也激活了 &amp;ldquo;自动重新启动&amp;rdquo;。        Ordner 山路     /volume1/docker/logitechmediaserver/config /config   /volume1/docker/logitechmediaserver/music /music   /volume1/docker/logitechmediaserver/playlist /播放列表    我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了三个文件夹：见。    我为 &amp;ldquo;Logitechmediaserver &amp;ldquo;容器分配了固定端口。没有固定的端口，可能是 &amp;ldquo;Logitechmediaserver服务器 &amp;ldquo;在重启后运行在不同的端口上。    最后，我输入一个环境变量。变量 &amp;ldquo;TZ &amp;ldquo;是时区 &amp;ldquo;欧洲/柏林&amp;rdquo;。    完成这些设置后，就可以启动Logitechmediaserver-Server!</description>
    </item>
    
    <item>
      <title>容器的伟大之处：带有用户界面的Docker注册处</title>
      <link>https://www.christian-knedel.de/zh/post/2021/july/20210725-docker-registry/</link>
      <pubDate>Sun, 25 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/july/20210725-docker-registry/</guid>
      <description>了解如何通过你自己的注册表使你的Docker镜像在整个网络中可用。
安装 我在服务器上创建了一个名为 &amp;ldquo;docker-registry &amp;ldquo;的新目录。 x  &amp;ndash;  +   Terminal   $ mkdir docker-registry   然后我进入docker-registry目录（&amp;ldquo;cd docker-registry&amp;rdquo;），创建一个名为 &amp;ldquo;registry.yml &amp;ldquo;的新文件，内容如下。
version: &#39;3&#39; services: registry: restart: always image: registry:2 ports: - &amp;quot;5000:5000&amp;quot; environment: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data volumes: - ./data:/data networks: - registry-ui-net ui: restart: always image: joxit/docker-registry-ui:static ports: - 8080:80 environment: - REGISTRY_TITLE=My Private Docker Registry - REGISTRY_URL=http://registry:5000 depends_on: - registry networks: - registry-ui-net networks: registry-ui-net: 更多有用的家庭使用的Docker镜像可以在洛克王国（Dockerverse）中找到。
启动命令 这个文件是通过Docker Compose启动的。之后，在预定的域/端口下可以访问该安装。 x  &amp;ndash;  +   Terminal   $ docker-compose -f registry.</description>
    </item>
    
    <item>
      <title>用容器做大事：用Grocy管理冰箱</title>
      <link>https://www.christian-knedel.de/zh/post/2021/july/20210725-docker-grocy/</link>
      <pubDate>Sun, 25 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/july/20210725-docker-grocy/</guid>
      <description>通过Grocy，您可以管理整个家庭、餐厅、咖啡馆、小酒馆或食品市场。你可以管理冰箱、菜单、任务、购物清单和食品的保质期。                今天我展示了如何在Synology磁盘站上安装Grocy服务。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &amp;quot;2.1&amp;quot; services: grocy: image: ghcr.io/linuxserver/grocy container_name: grocy environment: - PUID=1024 - PGID=100 - TZ=Europe/Berlin volumes: - ./data:/config ports: - 9283:80 restart: unless-stopped 更多有用的家庭使用的Docker镜像可以在洛克王国（Dockerverse）中找到。
第1步：准备好Grocy文件夹 我在Docker目录下创建一个名为 &amp;ldquo;grocy &amp;ldquo;的新目录。      第2步：安装Grocy 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;Grocy&amp;rdquo;。我选择Docker镜像 &amp;ldquo;linuxserver/grocy:new&amp;rdquo;，然后点击标签 &amp;ldquo;最新&amp;rdquo;。      我双击我的Grocy图像。      然后我点击 &amp;ldquo;高级设置&amp;rdquo;，在这里也激活了 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的文件夹，挂载路径为&amp;rdquo;/config&amp;rdquo;。        我为 &amp;ldquo;Grocy &amp;ldquo;容器分配了固定端口。没有固定的端口，可能是重启后 &amp;ldquo;Grocy服务器 &amp;ldquo;运行在不同的端口上。      变量名称 价值 它是什么？     TZ Europe/Berlin 时区   PUID 1024 来自 Synology 管理员的用户 ID   PGID 100 群组ID来自于Synology管理用户    最后，我输入这些环境变量：见。    现在可以启动该容器了。我用Synology的IP地址和我的容器端口调用Grocy服务器，用用户名 &amp;ldquo;admin &amp;ldquo;和密码 &amp;ldquo;admin &amp;ldquo;登录。          </description>
    </item>
    
    <item>
      <title>容器的伟大之处：Kubernetes仪表板</title>
      <link>https://www.christian-knedel.de/zh/post/2021/june/20210726-kubernetes-board/</link>
      <pubDate>Sat, 26 Jun 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/june/20210726-kubernetes-board/</guid>
      <description>在容器的伟大之处：Kubenetes集群和NFS存储教程中创建了一个Kubernetes集群后，我想安装一个Kubernetes仪表板。    这个命令包含我的项目所需要的一切。 x  &amp;ndash;  +   Terminal   $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml   由于相关服务不能从外部访问，&amp;quot;.spec.type &amp;ldquo;节点仍然必须被改变。 x  &amp;ndash;  +   Terminal   $ kubectl -n kube-system edit service kubernetes-dashboard --namespace=kubernetes-dashboard   节点&amp;rdquo;.spec.type &amp;ldquo;必须是 &amp;ldquo;NodePort&amp;rdquo;。    之后，仪表盘已经可以访问。      为了获得访问令牌，人们必须搜索部署控制器的密钥。 x  &amp;ndash;  +   Terminal   $ kubectl -n kube-system get secret | grep deployment-controller-token   然后你就可以显示和复制该令牌。 x  &amp;ndash;  +   Terminal   $ kubectl -n kube-system describe secret deployment-controller-token-g7qdm</description>
    </item>
    
    <item>
      <title>用Ansible远程控制PIs</title>
      <link>https://www.christian-knedel.de/zh/post/2021/june/20210725-ansible/</link>
      <pubDate>Fri, 25 Jun 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/june/20210725-ansible/</guid>
      <description>在容器的伟大之处：Kubenetes集群和NFS存储教程中创建了一个Kubernetes集群后，我现在希望能够通过Ansible解决这些计算机。    为此需要一个新的钥匙。 x  &amp;ndash;  +   Terminal   $ ssh-keygen -b 4096   在所有服务器（服务器1、服务器2和服务器3）的&amp;quot;/home/pi/.ssh/authorised_keys &amp;ldquo;文件中添加了新的公钥。此外，Ansible必须安装这个包。 x  &amp;ndash;  +   Terminal   $ sudo apt-get install -y ansible   之后，必须在&amp;rdquo;/etc/ansible/hosts &amp;ldquo;文件中输入Raspberrys。
[raspi-kube.clust] ip-server-1:ssh-port ansible_ssh_user=username ip-server-2:ssh-port ansible_ssh_user=username ip-server-3:ssh-port ansible_ssh_user=username 现在可以按以下方式检查配置。 x  &amp;ndash;  +   Terminal   $ ansible all -m ping --ssh-common-args=&amp;#39;-o StrictHostKeyChecking=no&amp;#39;   见。      现在你可以执行playbooks或命令，例如重新启动所有服务器。 x  &amp;ndash;  +   Terminal   $ ansible raspi -m shell -a &amp;#39;sudo /sbin/reboot&amp;#39;</description>
    </item>
    
    <item>
      <title>容器的伟大之处：Kubenetes集群和NFS存储</title>
      <link>https://www.christian-knedel.de/zh/post/2021/june/20210620-pi-kubenetes-cloud/</link>
      <pubDate>Sun, 20 Jun 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/june/20210620-pi-kubenetes-cloud/</guid>
      <description>今天我正在安装一个新的Kubenetes集群，有很多事情要做。    我已经为它订购了这些部件。
 1x WDBU6Y0050BBK WD Elements portable 5TB: https://www.reichelt.de/wd-elements-portable-5tb-wdbu6y0050bbk-p270625.html? 3x风扇，双：https://www.reichelt.de/raspberry-pi-luefter-dual-rpi-fan-dual-p223618.html? 1x Raspberry 4 / 4GB Ram: https://www.reichelt.de/raspberry-pi-4-b-4x-1-5-ghz-4-gb-ram-wlan-bt-rasp-pi-4-b-4gb-p259920.html? 2xRaspberry 4 / 8GB Ram: https://www.reichelt.de/raspberry-pi-4-b-4x-1-5-ghz-8-gb-ram-wlan-bt-rasp-pi-4-b-8gb-p276923.html? 3个电源单元: https://www.reichelt.de/raspberry-pi-netzteil-5-1-v-3-0-a-usb-type-c-eu-stecker-s-rpi-ps-15w-bk-eu-p260010.html 1x 机架式：https://amzn.to/3H8vOg7 1x 600件杜邦插头套件：https://amzn.to/3kcfYqQ 1x绿色LED，带串联电阻：https://amzn.to/3EQgXVp 1x蓝色LED，带串联电阻：https://amzn.to/31ChYSO 10x Marquardt 203.007.013 Blanking piece 黑色: https://www.voelkner.de/products/215024/Marquardt-203.007.013-Blindstueck-Schwarz.html 1个灯座：https://amzn.to/3H0UZkG  我们走吧!    我在Raspian Lite安装的基础上创建了自己的安装镜像。我的用户/公钥已经存储在这个镜像中，&amp;quot;/boot/config.txt &amp;ldquo;文件已经为我的LED做了调整。
# meine Server brauchen kein HDMI, WLAN und Bluetooth dtoverlay=disable-bt dtoverlay=disable-wifi disable_splash=1 hdmi_blanking=1 hdmi_ignore_hotplug=1 hdmi_ignore_composite=1 # Status-LEDs an GPIO weiterleiten dtoverlay=act-led,gpio=21 dtparam=act_led_trigger=cpu0 服务器1 - 安装磁盘 首先，我在 &amp;ldquo;服务器1 &amp;ldquo;上安装一个NFS服务。这个存储以后可以用于我的容器集群。我将USB硬盘连接到 &amp;ldquo;服务器1&amp;rdquo;，并在这些说明的帮助下格式化了EXT4：https://homecircuits.</description>
    </item>
    
    <item>
      <title>容器的伟大之处: Remark42是我的评论解决方案</title>
      <link>https://www.christian-knedel.de/zh/post/2021/june/20210619-docker-remark42/</link>
      <pubDate>Sat, 19 Jun 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/june/20210619-docker-remark42/</guid>
      <description>如果你把你的博客作为一个静态网站运行，你可能想要一个提供动态评论功能的微服务/垂直。例如，这个博客是在HUGO中实现的，这是一个用GO编写的用于Markdown内容的 &amp;ldquo;网站生成器&amp;rdquo;。在我的案例中，我为自己改编了这个Docker Compose文件，并用 &amp;ldquo;docker-compose -f compose.yml up -d &amp;ldquo;启动它。我已经存储了API密钥，用于与谷歌和Facebook的认证。我还输入了邮件服务器设置，以便与读者互动。
version: &#39;2&#39; services: remark: image: umputun/remark42:latest container_name: &amp;quot;remark42&amp;quot; restart: always logging: driver: json-file options: max-size: &amp;quot;10m&amp;quot; max-file: &amp;quot;5&amp;quot; ports: - &amp;quot;8050:8080&amp;quot; environment: - REMARK_URL=https://www.christian-knedel.de/comments/ - &amp;quot;SECRET=secret&amp;quot; - SITE=www.adresse.de - STORE_BOLT_PATH=/srv/var/db - BACKUP_PATH=/srv/var/backup volumes: - ./data:/srv/var 配置完成后，该服务就可以使用了，并可以整合到网站中。
&amp;lt;script&amp;gt; var remark_config = { host: &amp;quot;https://www.christian-knedel.de/comments&amp;quot;, site_id: &#39;www.christian-knedel.de&#39;, components: [&#39;embed&#39;], max_shown_comments: 10, theme: &#39;dark&#39;, locale: &#39;de&#39;, show_email_subscription: false }; &amp;lt;/script&amp;gt; &amp;lt;script&amp;gt; (function(c) { for(var i = 0; i &amp;lt; c.</description>
    </item>
    
    <item>
      <title>Synology DiskStation 上的 Udemy 下载器</title>
      <link>https://www.christian-knedel.de/zh/post/2021/may/20210530-udemydl/</link>
      <pubDate>Sun, 30 May 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/may/20210530-udemydl/</guid>
      <description>在本教程中，您将学习如何下载 &amp;ldquo;udemy &amp;ldquo;课程供离线使用。
第1步：准备好Udemy文件夹 我在Docker目录下创建一个名为 &amp;ldquo;udemy &amp;ldquo;的新目录。      第2步：安装Ubuntu图像 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;ubunutu&amp;rdquo;。我选择Docker镜像 &amp;ldquo;ubunutu&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。      我双击我的Ubuntu图像。然后我点击 &amp;ldquo;高级设置&amp;rdquo;，在这里也激活了 &amp;ldquo;自动重新启动&amp;rdquo;。      我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的文件夹，挂载路径为&amp;rdquo;/download&amp;rdquo;。        现在可以启动容器了      第4步：安装Udemy下载器 我在Synology Docker窗口中点击 &amp;ldquo;容器&amp;rdquo;，然后双击我的 &amp;ldquo;Udemy容器&amp;rdquo;。然后我点击 &amp;ldquo;终端 &amp;ldquo;标签，输入以下命令。      命令。 x  &amp;ndash;  +   Terminal   $ apt-get update $ apt-get install python3 python3-pip wget unzip $ cd /download $ wget https://github.</description>
    </item>
    
    <item>
      <title>建立你自己的黑暗网络页面</title>
      <link>https://www.christian-knedel.de/zh/post/2021/may/20210530-darknet-tor-site/</link>
      <pubDate>Sun, 30 May 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/may/20210530-darknet-tor-site/</guid>
      <description>作为访问者在黑暗网络上冲浪是非常简单的。但是，我怎么能主持一个洋葱头页面呢？我将告诉你如何建立你自己的暗网网页。
第1步：我怎样才能在暗网冲浪？ 为了更好地说明问题，我使用Ubuntu桌面。我在那里安装了以下软件包。 x  &amp;ndash;  +   Terminal   $ sudo apt-get update $ sudo apt-get install tor   然后我编辑&amp;quot;/etc/privoxy/config &amp;ldquo;文件并输入以下内容（$ sudo vim /etc/privoxy/config）。你可以用 &amp;ldquo;ifconfig &amp;ldquo;查出电脑的IP。
listen-address hier-muss-die-ip-des-rechners-rein:8118 forward-socks5 / 127.0.0.1:9050 . 见。    为了确保Tor和Privoxy在系统启动时也被执行，我们仍然需要在自动启动中输入它们。 x  &amp;ndash;  +   Terminal   $ sudo update-rc.d tor defaults $ sudo update-rc.d privoxy defaults   现在可以启动服务了。 x  &amp;ndash;  +   Terminal   $ sudo service tor restart $ sudo service privoxy restart   我在我的Firefox中输入代理地址，停用 &amp;ldquo;Javascript &amp;ldquo;并访问 &amp;ldquo;Tor测试页面&amp;rdquo;。如果一切都成功了，我现在可以访问TOR/.</description>
    </item>
    
    <item>
      <title>Synology DiskStation上的BitwardenRS</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210425-docker-bitwardenrs/</link>
      <pubDate>Sun, 25 Apr 2021 09:28:11 +0100</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210425-docker-bitwardenrs/</guid>
      <description>Bitwarden是一个免费的开源密码管理服务，它将网站凭证等机密信息存储在一个加密的保险库中。今天我展示了如何在Synology DiskStation上安装一个BitwardenRS。
第1步：准备好BitwardenRS文件夹 我在Docker目录下创建一个名为 &amp;ldquo;bitwarden &amp;ldquo;的新目录。      第2步：安装BitwardenRS 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签并搜索 &amp;ldquo;bitwarden&amp;rdquo;。我选择Docker镜像 &amp;ldquo;bitwardenrs/server&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。      我双击我的bitwardenrs图像。然后我点击 &amp;ldquo;高级设置&amp;rdquo;，在这里也激活了 &amp;ldquo;自动重新启动&amp;rdquo;。        我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的文件夹，挂载路径为&amp;rdquo;/data&amp;rdquo;。      我为 &amp;ldquo;bitwardenrs &amp;ldquo;容器分配了固定端口。没有固定的端口，可能是 &amp;ldquo;bitwardenrs服务器 &amp;ldquo;在重启后运行在不同的端口。第一个集装箱端口可以被删除。应记住另一个端口。    现在可以启动该容器了。我使用Synology的IP地址和我的容器端口8084呼叫bitwardenrs服务器。    第3步：设置HTTPS 我点击 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;反向代理 &amp;ldquo;和 &amp;ldquo;创建&amp;rdquo;。    之后，我就可以用Synology的IP地址和我的代理端口8085来调用bitwardenrs服务器，并进行加密。          </description>
    </item>
    
    <item>
      <title>容器的伟大之处： Synology 上的 Netbox - Diskstation</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210425-docker-netbox/</link>
      <pubDate>Sun, 25 Apr 2021 09:28:11 +0100</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210425-docker-netbox/</guid>
      <description>NetBox是一个用于计算机网络管理的免费软件。今天我将展示如何在Synology DiskStation上安装Netbox服务。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：创建NETBOX文件夹 我在Docker目录下创建一个名为 &amp;ldquo;netbox &amp;ldquo;的新目录。      现在必须下载以下文件并在目录中解压：https://github.com/netbox-community/netbox-docker/archive/refs/heads/release.zip。我使用控制台来做这个。 x  &amp;ndash;  +   Terminal   $ cd /volume1/docker/netbox/ $ sudo wget https://github.com/netbox-community/netbox-docker/archive/refs/heads/release.zip $ sudo /bin/7z x release.zip $ cd netbox-docker-release $ sudo mkdir netbox-media-files $ sudo mkdir netbox-redis-data $ sudo mkdir netbox-postgres-data   然后我编辑 &amp;ldquo;docker/docker-compose.yml &amp;ldquo;文件，在 &amp;ldquo;netbox-media-files&amp;rdquo;、&amp;ldquo;netbox-postgres-data &amp;ldquo;和 &amp;ldquo;netbox-redis-data &amp;ldquo;中输入我的Synology地址。</description>
    </item>
    
    <item>
      <title>容器的伟大之处：Portainer作为Synology Docker GUI的替代品</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210425-docker-portainer/</link>
      <pubDate>Sun, 25 Apr 2021 09:28:11 +0100</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210425-docker-portainer/</guid>
      <description>第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：创建tainer文件夹 我在Docker目录下创建一个名为 &amp;ldquo;portainer &amp;ldquo;的新目录。      然后我用控制台进入portainer目录，在那里创建一个文件夹和一个名为 &amp;ldquo;portainer.yml &amp;ldquo;的新文件。 x  &amp;ndash;  +   Terminal   $ cd /volume1/docker/portainer $ mkdir portainer_data $ vim portainer.yml   下面是 &amp;ldquo;portainer.yml &amp;ldquo;文件的内容。
version: &#39;3&#39; services: portainer: image: portainer/portainer:latest container_name: portainer restart: always ports: - 90070:9000 - 9090:8000 volumes: - /var/run/docker.sock:/var/run/docker.sock - .</description>
    </item>
    
    <item>
      <title>短文：用守望先锋自动更新容器</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210425-docker-watchtower/</link>
      <pubDate>Sun, 25 Apr 2021 09:28:11 +0100</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210425-docker-watchtower/</guid>
      <description>如果你在磁盘站上运行Docker容器，你自然希望它们始终是最新的。Watchtower自动更新图像和容器。这样，你就可以享受到最新的功能和最先进的数据安全。今天我将告诉你如何在Synology磁盘站上安装Watchtower。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：安装Watchtower 我使用控制台来做这个。 x  &amp;ndash;  +   Terminal   $ docker run --name watchtower --restart always -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower   此后，守望先锋总是在后台运行。    </description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology DiskStation上运行Docspell DMS</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210418-docker-docspell/</link>
      <pubDate>Sun, 18 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210418-docker-docspell/</guid>
      <description>Docspell 是一个适用于 Synology DiskStation 的文件管理系统。通过Docspell，文件可以更快地被索引、搜索和找到。今天我将展示如何在Synology磁盘站上安装Docspell服务。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：创建Docspel文件夹 我在Docker目录下创建一个名为 &amp;ldquo;docspell &amp;ldquo;的新目录。      现在必须下载以下文件并在目录中解压：https://github.com/eikek/docspell/archive/refs/heads/master.zip 。我使用控制台来做这个。 x  &amp;ndash;  +   Terminal   $ cd /volume1/docker/docspell/ $ mkdir docs $ mkdir postgres_data $ wget https://github.com/eikek/docspell/archive/refs/heads/master.zip $ /bin/7z x master.zip   然后我编辑 &amp;ldquo;docker/docker-compose.yml &amp;ldquo;文件，在 &amp;ldquo;consedir &amp;ldquo;和 &amp;ldquo;db &amp;ldquo;中输入我的Synology地址。      之后，我就可以启动编撰文件了。 x  &amp;ndash;  +   Terminal   $ cd docspell-master/docker/ $ docker-compose up -d   几分钟后，我可以用磁盘站的IP和分配的端口/7878呼叫我的Docspell服务器。                    搜索文件的效果很好。我觉得很遗憾的是，图片中的文字没有被索引。有了Papermerge，你还可以搜索图片中的文本。</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology磁盘站上安装你自己的dokuWiki</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210418-docker-dokuwiki/</link>
      <pubDate>Sun, 18 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210418-docker-dokuwiki/</guid>
      <description>DokuWiki是一个符合标准的、易于使用的、同时又是非常通用的开源wiki软件。今天我展示了如何在Synology磁盘站上安装DokuWiki服务。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &#39;3&#39; services: dokuwiki: image: bitnami/dokuwiki:latest restart: always ports: - 8080:8080 - 8443:8443 environment: TZ: &#39;Europe/Berlin&#39; DOKUWIKI_USERNAME: &#39;admin&#39; DOKUWIKI_FULL_NAME: &#39;wiki&#39; DOKUWIKI_PASSWORD: &#39;password&#39; volumes: - ./data:/bitnami/dokuwiki 更多有用的家庭使用的Docker镜像可以在洛克王国（Dockerverse）中找到。
第1步：准备wiki文件夹 我在Docker目录下创建一个名为 &amp;ldquo;wiki &amp;ldquo;的新目录。      第2步：安装DokuWiki 在这之后，必须创建一个数据库。我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，然后搜索 &amp;ldquo;dokuwiki&amp;rdquo;。我选择Docker镜像 &amp;ldquo;bitnami/dokuwiki&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。      图像下载后，可作为图像使用。Docker区分了2种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和镜像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。 我双击我的dokuwiki镜像。        我为 &amp;ldquo;dokuwiki &amp;ldquo;容器分配了固定的端口。没有固定的端口，可能是 &amp;ldquo;dokuwiki服务器 &amp;ldquo;在重启后运行在不同的端口。      变量名称 价值 它是什么？     TZ Europe/Berlin 时区   DOKUWIKI_USERNAME admin 管理员用户名   DOKUWIKI_FULL_NAME wiki 薇琪的名字   DOKUWIKI_PASSWORD password 管理员密码    最后，我输入这些环境变量：见。    现在可以启动该容器了。我使用Synology的IP地址和我的容器端口调用dokuWIki服务器。        </description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology磁盘站上拥有WallaBag</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210418-docker-wallabag/</link>
      <pubDate>Sun, 18 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210418-docker-wallabag/</guid>
      <description>Wallabag是一个用于归档有趣的网站或文章的程序。今天我将展示如何在Synology磁盘站上安装Wallabag服务。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &#39;3&#39; services: wallabag: image: wallabag/wallabag environment: - MYSQL_ROOT_PASSWORD=wallaroot - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql - SYMFONY__ENV__DATABASE_HOST=db - SYMFONY__ENV__DATABASE_PORT=3306 - SYMFONY__ENV__DATABASE_NAME=wallabag - SYMFONY__ENV__DATABASE_USER=wallabag - SYMFONY__ENV__DATABASE_PASSWORD=wallapass - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4 - SYMFONY__ENV__DOMAIN_NAME=http://192.168.178.50:8089 - SYMFONY__ENV__SERVER_NAME=&amp;quot;Your wallabag instance&amp;quot; - SYMFONY__ENV__FOSUSER_CONFIRMATION=false - SYMFONY__ENV__TWOFACTOR_AUTH=false ports: - &amp;quot;8089:80&amp;quot; volumes: - ./wallabag/images:/var/www/wallabag/web/assets/images db: image: mariadb environment: - MYSQL_ROOT_PASSWORD=wallaroot volumes: - ./mariadb:/var/lib/mysql 更多有用的家庭使用的Docker镜像可以在洛克王国（Dockerverse）中找到。
第1步：准备好壁挂袋文件夹 我在Docker目录下创建一个名为 &amp;ldquo;wallabag &amp;ldquo;的新目录。      第2步：安装数据库 之后，必须创建一个数据库。我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;mariadb&amp;rdquo;。我选择Docker镜像 &amp;ldquo;mariadb&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。      图像下载后，可作为图像使用。Docker区分了2种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和镜像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。 我双击我的mariadb镜像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的数据库文件夹，挂载路径为&amp;rdquo;/var/lib/mysql&amp;rdquo;。          在 &amp;ldquo;端口设置 &amp;ldquo;下，所有端口都被删除。这意味着我选择 &amp;ldquo;3306 &amp;ldquo;端口，并用&amp;rdquo;-&amp;ldquo;按钮将其删除。        变量名称 价值 它是什么？     TZ Europe/Berlin 时区   MYSQL_ROOT_PASSWORD wallaroot 数据库的主密码。    最后，我输入这些环境变量：见。    完成这些设置后，Mariadb服务器就可以启动了!</description>
    </item>
    
    <item>
      <title>阿特拉斯公司的酷事：Confluence中的自有宏程序</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210418-atlassian-confluence-macro/</link>
      <pubDate>Sun, 18 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210418-atlassian-confluence-macro/</guid>
      <description>Confluence是知识库领域的黄金标准。创建你自己的Confluence用户宏也是小事一桩。今天我展示了我如何创建一个终端宏。    第1步：创建用户宏 我点击 &amp;ldquo;管理 &amp;ldquo;区的 &amp;ldquo;用户宏&amp;rdquo;&amp;gt;&amp;ldquo;创建用户宏&amp;rdquo;。    然后我输入用户宏名称，选择 &amp;ldquo;定义用户宏 &amp;ldquo;选项 &amp;ldquo;渲染&amp;rdquo;。    第2步：开发用户宏 每个 &amp;ldquo;渲染 &amp;ldquo;的用户宏都默认有一个主体变量。
Inhalt $body 所有其他变量都在宏代码中定义。关于变量问题的更多信息
 ## @param Title:titlebar Title|type=string|required=truel|default=Bash 现在只差一点HTML/CSS，马可就准备好了!比如说。
 ## @param Title:titlebar Title|type=string|required=truel|default=Bash &amp;lt;style&amp;gt; .window a { text-decoration: none; } .window span { line-height: 9px; vertical-align: 50%; } .window p { padding:0;margin:0; font-size: 16px; } .window { font-family: HelveticaNeue, &#39;Helvetica Neue&#39;, &#39;Lucida Grande&#39;, Arial, sans-serif; background: #000; color: #48cf00; margin: 10px; border: 1px solid #acacac; border-radius: 6px; -webkit-box-shadow: 0px 0px 8px 0px rgba(112,112,112,1); -moz-box-shadow: 0px 0px 8px 0px rgba(112,112,112,1); box-shadow: 0px 0px 8px 0px rgba(112,112,112,1); } .</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology磁盘站上运行你自己的xWiki</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210417-docker-xwiki/</link>
      <pubDate>Sat, 17 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210417-docker-xwiki/</guid>
      <description>XWiki是一个用Java编写的免费wiki软件平台，设计时考虑到了可扩展性。今天我将展示如何在Synology DiskStation上安装xWiki服务。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &#39;3&#39; services: xwiki: image: xwiki:10-postgres-tomcat restart: always ports: - 8080:8080 links: - db environment: DB_HOST: db DB_DATABASE: xwiki DB_DATABASE: xwiki DB_PASSWORD: xwiki TZ: &#39;Europe/Berlin&#39; db: image: postgres:latest restart: always volumes: - ./postgresql:/var/lib/postgresql/data environment: - POSTGRES_USER=xwiki - POSTGRES_PASSWORD=xwiki - POSTGRES_DB=xwiki - TZ=&#39;Europe/Berlin&#39; 更多有用的家庭使用的Docker镜像可以在洛克王国（Dockerverse）中找到。
第1步：准备wiki文件夹 我在Docker目录下创建一个名为 &amp;ldquo;wiki &amp;ldquo;的新目录。      第2步：安装数据库 在这之后，必须创建一个数据库。我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;postgres&amp;rdquo;。我选择Docker镜像 &amp;ldquo;postgres&amp;rdquo;，然后点击标签 &amp;ldquo;最新&amp;rdquo;。      图像下载后，可作为图像使用。Docker区分了2种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和镜像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。 我双击我的postgres镜像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的数据库文件夹，挂载路径为&amp;rdquo;/var/lib/postgresql/data&amp;rdquo;。        在 &amp;ldquo;端口设置 &amp;ldquo;下，所有端口都被删除。这意味着我选择 &amp;ldquo;5432 &amp;ldquo;端口，并用&amp;rdquo;-&amp;ldquo;按钮将其删除。        变量名称 价值 它是什么？     TZ Europe/Berlin 时区   POSTGRES_DB xwiki 这是数据库的名称。   POSTGRES_USER xwiki 维基数据库的用户名称。   POSTGRES_PASSWORD xwiki wiki数据库用户的密码。    最后，我输入这四个环境变量：见。    完成这些设置后，Mariadb服务器就可以启动了!</description>
    </item>
    
    <item>
      <title>创造性地走出危机：用轻松预约的方式预约服务</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210414-docker-easyappointments/</link>
      <pubDate>Fri, 16 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210414-docker-easyappointments/</guid>
      <description>科罗娜危机对德国的服务提供商造成了严重打击。数字工具和解决方案可以帮助尽可能安全地度过科罗纳大流行病。在这个教程系列 &amp;ldquo;走出危机的创意 &amp;ldquo;中，我展示了对小企业有用的技术或工具。今天我展示了 &amp;ldquo;Easyappointments&amp;rdquo;，一个 &amp;ldquo;点击并满足 &amp;ldquo;的服务预订工具，例如美发店或商店。易任由两个方面组成。
区域1：后端 一个用于管理服务和约会的 &amp;ldquo;后台&amp;rdquo;。      领域2：前台 一个用于预约的终端用户工具。所有已经预订的预约都会被封锁，不能再进行第二次预订。          安装 我已经用Docker-Compose安装了Easyappointments几次，并可以高度推荐这种安装方法。我在我的服务器上创建了一个名为 &amp;ldquo;easyappointments &amp;ldquo;的新目录。 x  &amp;ndash;  +   Terminal   $ mkdir easyappointments $ cd easyappointments   然后我进入easyappointments目录，创建一个新的文件，名为 &amp;ldquo;easyappointments.yml&amp;rdquo;，内容如下。
version: &#39;2&#39; services: db: image: mysql environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=easyappointments - MYSQL_USER=easyappointments - MYSQL_PASSWORD=easyappointments command: mysqld --default-authentication-plugin=mysql_native_password volumes: - ./easy-appointments-data:/var/lib/mysql expose: - 3306 networks: - easyappointments-network restart: always application: image: jamrizzi/easyappointments volumes: - .</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在 Synology Diskstation 上安装 Wiki.js</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210416-docker-wikijs/</link>
      <pubDate>Fri, 16 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210416-docker-wikijs/</guid>
      <description>Wiki.js是一个强大的开源维基软件，它以简单的界面让文档成为一种乐趣。今天我展示了如何在Synology DiskStation上安装Wiki.js服务。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &#39;3&#39; services: wikijs: image: requarks/wiki:latest restart: always ports: - 8082:3000 links: - database environment: DB_TYPE: mysql DB_HOST: database DB_PORT: 3306 DB_NAME: my_wiki DB_USER: wikiuser DB_PASS: my_wiki_pass TZ: &#39;Europe/Berlin&#39; database: image: mysql restart: always expose: - 3306 volumes: - ./mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: my_wiki_pass MYSQL_DATABASE: my_wiki MYSQL_USER: wikiuser MYSQL_PASSWORD: my_wiki_pass 你可以在Dockerverse中找到更多有用的家庭用Docker镜像。
第1步：准备wiki文件夹 我在Docker目录下创建一个名为 &amp;ldquo;wiki &amp;ldquo;的新目录。      第2步：安装数据库 之后，必须创建一个数据库。我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;mysql&amp;rdquo;。我选择Docker镜像 &amp;ldquo;mysql&amp;rdquo;，然后点击标签 &amp;ldquo;最新&amp;rdquo;。      图像下载后，可作为图像使用。Docker区分了2种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和镜像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。 我双击我的mysql镜像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的数据库文件夹，挂载路径为&amp;rdquo;/var/lib/mysql&amp;rdquo;。      在 &amp;ldquo;端口设置 &amp;ldquo;下，所有端口都被删除。这意味着我选择 &amp;ldquo;3306 &amp;ldquo;端口，并用&amp;rdquo;-&amp;ldquo;按钮将其删除。        变量名称 价值 它是什么？     TZ Europe/Berlin 时区   MYSQL_ROOT_PASSWORD my_wiki_pass 数据库的主密码。   MYSQL_DATABASE my_wiki 这是数据库的名称。   MYSQL_USER wikiuser 维基数据库的用户名称。   MYSQL_PASSWORD my_wiki_pass wiki数据库用户的密码。    最后，我输入这四个环境变量：见。    完成这些设置后，Mariadb服务器就可以启动了!</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology DiskStation上建立你自己的Bookstack Wiki</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210416-docker-bookstack/</link>
      <pubDate>Fri, 16 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210416-docker-bookstack/</guid>
      <description>Bookstack是MediaWiki或Confluence的一个 &amp;ldquo;开源 &amp;ldquo;替代品。今天我展示了如何在Synology磁盘站上安装Bookstack服务。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &#39;3&#39; services: bookstack: image: solidnerd/bookstack:0.27.4-1 restart: always ports: - 8080:8080 links: - database environment: DB_HOST: database:3306 DB_DATABASE: my_wiki DB_USERNAME: wikiuser DB_PASSWORD: my_wiki_pass database: image: mariadb restart: always volumes: - ./mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: my_wiki_pass1 MYSQL_DATABASE: my_wiki MYSQL_USER: wikiuser MYSQL_PASSWORD: my_wiki_pass 更多有用的家庭使用的Docker镜像可以在洛克王国（Dockerverse）中找到。
第1步：准备好书架文件夹 我在Docker目录下创建一个名为 &amp;ldquo;wiki &amp;ldquo;的新目录。      第2步：安装数据库 之后，必须创建一个数据库。我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;mariadb&amp;rdquo;。我选择Docker镜像 &amp;ldquo;mariadb&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。      图像下载后，可作为图像使用。Docker区分了2种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和镜像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。 我双击我的mariadb镜像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的数据库文件夹，挂载路径为&amp;rdquo;/var/lib/mysql&amp;rdquo;。      在 &amp;ldquo;端口设置 &amp;ldquo;下，所有端口都被删除。这意味着我选择 &amp;ldquo;3306 &amp;ldquo;端口，并用&amp;rdquo;-&amp;ldquo;按钮将其删除。        变量名称 价值 它是什么？     TZ Europe/Berlin 时区   MYSQL_ROOT_PASSWORD my_wiki_pass 数据库的主密码。   MYSQL_DATABASE my_wiki 这是数据库的名称。   MYSQL_USER wikiuser 维基数据库的用户名称。   MYSQL_PASSWORD my_wiki_pass wiki数据库用户的密码。    最后，我输入这些环境变量：见。    完成这些设置后，Mariadb服务器就可以启动了!</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology磁盘站上安装你自己的MediaWiki</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210416-docker-mediawiki/</link>
      <pubDate>Fri, 16 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210416-docker-mediawiki/</guid>
      <description>MediaWiki是一个基于PHP的wiki系统，作为一个开源产品可以免费使用。今天我展示了如何在Synology磁盘站上安装MediaWiki服务。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &#39;3&#39; services: mediawiki: image: mediawiki restart: always ports: - 8081:80 links: - database volumes: - ./images:/var/www/html/images # After initial setup, download LocalSettings.php to the same directory as # this yaml and uncomment the following line and use compose to restart # the mediawiki service # - ./LocalSettings.php:/var/www/html/LocalSettings.php database: image: mariadb restart: always volumes: - ./mysql:/var/lib/mysql environment: # @see https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php MYSQL_ROOT_PASSWORD: my_wiki_pass1 MYSQL_DATABASE: my_wiki MYSQL_USER: wikiuser MYSQL_PASSWORD: my_wiki_pass 更多有用的家庭使用的Docker镜像可以在洛克王国（Dockerverse）中找到。</description>
    </item>
    
    <item>
      <title>与阿特拉斯的不冷静：如何应对阿特拉斯的政策</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210414-docker-atlassian-politik/</link>
      <pubDate>Wed, 14 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210414-docker-atlassian-politik/</guid>
      <description>Atlassian已经停止销售小型服务器许可证，我已经考虑了很久，如何处理这个问题。由于我仍然想长期使用我的安装，我已经实施了以下措施。
措施1：我只使用Docker 我把所有Atlassian工具都作为Docker容器运行。旧的本地安装也可以通过数据库转储转移到Docker安装中。然后可以方便地在家庭实验室的intel Nuc或Synology磁盘站上运行这些程序。  version: &#39;2&#39; services: jira: image: atlassian/jira-software container_name: jira_application depends_on: - db restart: always environment: TZ: &#39;Europe/Berlin&#39; ports: - 8080:8080 volumes: - ./jira-data:/var/atlassian/application-data/jira networks: - jira-network db: restart: always image: postgres:latest container_name: jira_db volumes: - ./postgresql:/var/lib/postgresql/data environment: - POSTGRES_USER=jira - POSTGRES_PASSWORD=jirapass - POSTGRES_DB=jira networks: - jira-network networks: jira-network:   version: &#39;2&#39; services: confluence: container_name: confluence_server image: atlassian/confluence-server:latest restart: always environment: TZ: &amp;quot;Europe/Berlin&amp;quot; volumes: - ./confluence:/var/atlassian/application-data/confluence/ ports: - 8080:8080 networks: - confluence-network depends_on: - db db: image: postgres:latest container_name: confluence_postgres restart: always volumes: - /postgresql:/var/lib/postgresql/data environment: - POSTGRES_USER=confluencedb - POSTGRES_PASSWORD=confluence-password - POSTGRES_DB=confluenceUser networks: - confluence-network networks: confluence-network:   version: &#39;2&#39; services: bamboo: container_name: bamboo_server image: atlassian/bamboo-server restart: always environment: TZ: &amp;quot;Europe/Berlin&amp;quot; volumes: - .</description>
    </item>
    
    <item>
      <title>摆脱危机的创意：使用PrestaShop的专业网店</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210411-docker-prestashop/</link>
      <pubDate>Sun, 11 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210411-docker-prestashop/</guid>
      <description>PrestaShop是一个欧洲的开源电子商务平台，根据它自己的信息，目前有超过300,000个安装。今天我在我的服务器上安装这个PHP软件。本教程需要一些Linux、Docker和Docker Compose知识。
第1步：安装PrestaShop 我在我的服务器上创建了一个名为 &amp;ldquo;prestashop &amp;ldquo;的新目录。 x  &amp;ndash;  +   Terminal   $ mkdir prestashop $ cd prestashop   然后我进入prestashop目录，创建一个新文件，名为 &amp;ldquo;prestashop.yml&amp;rdquo;，内容如下。
version: &#39;2&#39; services: mariadb: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=admin - MYSQL_DATABASE=prestashop - MYSQL_USER=prestashop - MYSQL_PASSWORD=prestashop volumes: - ./mysql:/var/lib/mysql expose: - 3306 networks: - shop-network restart: always prestashop: image: prestashop/prestashop:1.7.7.2 ports: - 8090:80 depends_on: - mariadb volumes: - ./prestadata:/var/www/html - ./prestadata/modules:/var/www/html/modules - ./prestadata/themes:/var/www/html/themes - ./prestadata/override:/var/www/html/override environment: - PS_INSTALL_AUTO=0 networks: - shop-network restart: always networks: shop-network: 不幸的是，目前的最新版本对我不起作用，所以我安装了 &amp;ldquo;1.</description>
    </item>
    
    <item>
      <title>简要说明：将Synology的卷轴连接到ESXi。</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210411-esxi-mount/</link>
      <pubDate>Sun, 11 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210411-esxi-mount/</guid>
      <description>步骤1：激活 &amp;ldquo;NFS &amp;ldquo;服务 首先，必须在Diskstation上激活 &amp;ldquo;NFS &amp;ldquo;服务。要做到这一点，我进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;文件服务 &amp;ldquo;设置，点击 &amp;ldquo;启用NFS&amp;rdquo;。    然后我点击 &amp;ldquo;共享文件夹&amp;rdquo;，选择一个目录。    第2步：在ESXi中装载目录 在ESXi中，我点击 &amp;ldquo;存储&amp;rdquo;&amp;gt;&amp;ldquo;新数据存储&amp;rdquo;，在那里输入我的数据。        准备就绪 现在可以使用内存了。    为了测试，我通过这个挂载点安装了一个DOS安装和一个旧的会计软件。          </description>
    </item>
    
    <item>
      <title>用容器做大事：用PeerTube做自己的视频门户</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210405-docker-peertube/</link>
      <pubDate>Mon, 05 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210405-docker-peertube/</guid>
      <description>有了Peertube，你可以创建你自己的视频门户。今天我展示了我如何在我的Synology磁盘站上安装Peertube。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：准备好Docker文件夹 我在Docker目录下创建一个名为 &amp;ldquo;Peertube &amp;ldquo;的新目录。    然后我进入Peertube目录，创建一个名为 &amp;ldquo;peertube.yml &amp;ldquo;的新文件，内容如下。对于端口，前面的部分 &amp;ldquo;9000: &amp;ldquo;可以进行调整。第二卷包含所有视频、播放列表、缩略图等，因此必须进行调整。
version: &amp;quot;3.7&amp;quot; services: peertube: image: chocobozzz/peertube:contain-buster container_name: peertube_peertube ports: - &amp;quot;9000:9000&amp;quot; volumes: - ./config:/config - ./videos:/data environment: - TZ=&amp;quot;Europe/Berlin&amp;quot; - PT_INITIAL_ROOT_PASSWORD=password - PEERTUBE_WEBSERVER_HOSTNAME=ip - PEERTUBE_WEBSERVER_PORT=port - PEERTUBE_WEBSERVER_HTTPS=false - PEERTUBE_DB_USERNAME=peertube - PEERTUBE_DB_PASSWORD=peertube - PEERTUBE_DB_HOSTNAME=postgres - POSTGRES_DB=peertube - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - PEERTUBE_REDIS_HOSTNAME=redis - PEERTUBE_ADMIN_EMAIL=himself@christian-knedel.</description>
    </item>
    
    <item>
      <title>小故事：Jenkins和openLDAP</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210404-docker-jenkins/</link>
      <pubDate>Sun, 04 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210404-docker-jenkins/</guid>
      <description>本教程是建立在以前的 &amp;ldquo;容器的伟大之处：在Synology DS上运行Jenkins &amp;ldquo;知识基础上的。如果你一开始就已经有了LDAP，你只需要创建一个合适的应用组。    之后，你需要在Jenkins中输入设置。我点击 &amp;ldquo;管理Jenkins&amp;rdquo;&amp;gt;&amp;ldquo;配置全球安全&amp;rdquo;。        重要提示：对于自签名的证书，信任库必须由Jenkins服务器的Java-Opts提供。由于我的Jenkins服务器是通过Docker Compose文件创建的，对我来说，它看起来像这样。
version: &#39;2.0&#39; services: jenkins: restart: always image: jenkins/jenkins:lts privileged: true user: root ports: - port:8443 - port:50001 container_name: jenkins environment: JENKINS_SLAVE_AGENT_PORT: 50001 TZ: &#39;Europe/Berlin&#39; JAVA_OPTS: &#39;-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true -Djdk.tls.trustNameService=true -Djavax.net.ssl.trustStore=/store/keystore.jks -Djavax.net.ssl.trustStorePassword=pass&#39; JENKINS_OPTS: &amp;quot;--httpsKeyStore=&#39;/store/keystore.jks&#39; --httpsKeyStorePassword=&#39;pass&#39; --httpPort=-1 --httpsPort=8443&amp;quot; volumes: - ./data:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock - /usr/local/bin/docker:/usr/local/bin/docker - ./keystore.jks:/store/keystore.jks - ./certs:/certs logging: ..... usw </description>
    </item>
    
    <item>
      <title>小故事：用xDoTools和xClip进行桌面控制</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210404-xdotools-xclip/</link>
      <pubDate>Sun, 04 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210404-xdotools-xclip/</guid>
      <description>在本教程中，我展示了如何通过Bash控制Linux&amp;ndash;桌面。Bash机器人需要以下软件包。 x  &amp;ndash;  +   Terminal   $ apt-get install xdotool xclip   之后，你可以使用所有的xdotool命令，比如说。
#!/bin/bash #mouse bewegen xdotool mousemove 100 200 #Mouse - Koordinaten erfassen xdotool getmouselocation #Mouse-klick xdotool click 1 Mouse-Klick auf Koordinaten xdotool mousemove 100 200 click 1 #usw... 在下面的例子中，Firefox窗口被搜索到，一个新的标签被打开，上面是Ubuntu的地址。
WID=$(xdotool search firefox | head -n1) ## Window-ID von Firefox ermitteln xdotool windowactivate $WID xdotool key &amp;quot;ctrl+t&amp;quot; ## neuen Reiter öffnen xdotool key &amp;quot;ctrl+l&amp;quot; ## Fokussieren der Adressleiste xdotool type --delay 100 &amp;quot;ubuntuusers.</description>
    </item>
    
    <item>
      <title>摆脱危机的创意：为邻里创造菜单传单</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210403-flyer-design/</link>
      <pubDate>Sat, 03 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210403-flyer-design/</guid>
      <description>科罗娜危机对德国的餐馆老板和餐饮业者打击很大。数字工具和解决方案可以帮助尽可能安全地度过科罗纳大流行。在这个教程系列 &amp;ldquo;创造性地走出危机 &amp;ldquo;中，我展示了对小企业有用的技术或工具。今天，我正在为 &amp;ldquo;房屋外业务 &amp;ldquo;创建一个每周菜单。你可以在https://www.365layouts.com/de/vorlagen/menu/ 找到许多菜单模板。你也可以在365Layouts编辑器中立即定制这些模板。
第1步：寻找模板 选择一个模板并点击 &amp;ldquo;使用模板&amp;rdquo;。然后你可能需要认证自己。    第2步：自定义文本 成功登录后，模板以 &amp;ldquo;编辑模式 &amp;ldquo;打开。 当你把鼠标光标移到一个文本上时，它就被高亮显示。
   现在点击一次 &amp;ldquo;文本元素&amp;rdquo;，就可以看到 &amp;ldquo;调整选项&amp;rdquo;。点击 &amp;ldquo;改变文本 &amp;ldquo;来调整一个文本。所有其他选项都被锁定。点击另一个页面元素来应用你的改变。    第3步：完成 调整完成后，只需点击 &amp;ldquo;保存（X）&amp;quot;。    你的菜单模板现在以打印分辨率创建为可下载打印的PDF。 你可以下载、打印和发送该PDF文件。
   </description>
    </item>
    
    <item>
      <title>容器的伟大之处：用LDAP和NGINX使Docker服务更安全</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210402-nginx-reverse-proxy/</link>
      <pubDate>Fri, 02 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210402-nginx-reverse-proxy/</guid>
      <description>作为Synology Diskstation的用户，我在我的Homelab网络上运行许多服务。我在Gitlab中部署软件，在Confluence中记录知识，通过Calibre网络服务器阅读技术参考资料。        所有的网络服务都是加密的，并通过中央用户管理来保证安全。 今天我展示了我是如何通过SSL加密、访问记录和LDAP访问限制来保证我的Calibre服务的。本教程需要有 &amp;ldquo;阿特拉斯公司的酷事：用LDAP使用所有阿特拉斯工具 &amp;ldquo;和 &amp;ldquo;容器的伟大之处：用Docker Compose运行Calibre &amp;ldquo;的预先知识。
我的LDAP服务器 正如我已经写过的，我在Docker容器中运行一个中央openLDAP服务器。我还创建了几个应用组。      用反向代理确保不安全的应用程序 由于 &amp;ldquo;linuxserver/calibre-web &amp;ldquo;Docker镜像不支持SSL加密和LDAP，我创建了一个名为 &amp;ldquo;calibreweb &amp;ldquo;的虚拟网络，并在Calibre服务器前放置了一个NGINX反向代理。 这就是我的Docker Compose文件的样子。所有未来的访问日志都存储在日志目录中，我的自签名证书在certs目录中。
version: &#39;3.7&#39; services: nginx: image: weseek/nginx-auth-ldap:1.13.9-1-alpine container_name: calibre-nginx environment: - &#39;TZ=Europe/Berlin&#39; volumes: - ./default.conf:/etc/nginx/conf.d/default.conf - ./certs:/etc/certs - ./logs:/var/log/nginx ports: - 8443:443 networks: - calibreweb restart: unless-stopped calibre-web: image: linuxserver/calibre-web container_name: calibre-web environment: - PUID=..... - PGID=.... - TZ=Europe/Berlin volumes: - /volume/docker/calibre/app.</description>
    </item>
    
    <item>
      <title>小故事：我的Gitlab设置</title>
      <link>https://www.christian-knedel.de/zh/post/2021/march/20210324-gitlab-setup/</link>
      <pubDate>Wed, 24 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/march/20210324-gitlab-setup/</guid>
      <description>在我第一篇关于 &amp;ldquo;Gitlab on the Synology disk station &amp;ldquo;的教程之后，已经有好几次有人问我是否还在使用这个方案。没有!同时，我已经把我的Atlassian工具和下面的GitLab安装移到了intel NUC上。在此我展示了我目前的Compose文件，当然它也可以在Synology磁盘站上运行。 你可以清楚地看到我现在对OpenLDAP、容器注册表、邮件、证书和日志进行了特殊的设置。此外，由于我使用Atlassian-Jira和Atlassian-Confluence，维基和问题跟踪器功能已被停用。正如你所看到的，Gitlab是非常可定制的。玩得开心!
version: &#39;2&#39; services: gitlab: image: &#39;gitlab/gitlab-ce:latest&#39; restart: always container_name: &#39;gitlab_server_gitlab&#39; environment: TZ: &amp;quot;Europe/Berlin&amp;quot; GITLAB_OMNIBUS_CONFIG: | gitlab_rails[&#39;time_zone&#39;] = &#39;Europe/Berlin&#39; external_url &#39;https://host:port&#39; registry_external_url &#39;https://host:registry_port&#39; registry_nginx[&#39;listen_https&#39;] = true nginx[&#39;redirect_http_to_https&#39;] = true registry_nginx[&#39;redirect_http_to_https&#39;] = true mattermost_nginx[&#39;redirect_http_to_https&#39;] = true registry_nginx[&#39;ssl_certificate&#39;] = &amp;quot;..server-cert.crt&amp;quot; registry_nginx[&#39;ssl_certificate_key&#39;] = &amp;quot;...server-cert.key&amp;quot; gitlab_rails[&#39;gitlab_default_projects_features_issues&#39;] = false gitlab_rails[&#39;gitlab_default_projects_features_container_registry&#39;] = true postgresql[&#39;enable&#39;] = false gitlab_rails[&#39;db_username&#39;] = &amp;quot;****&amp;quot; gitlab_rails[&#39;db_password&#39;] = &amp;quot;****&amp;quot; gitlab_rails[&#39;db_host&#39;] = &amp;quot;postgresql&amp;quot; gitlab_rails[&#39;db_port&#39;] = &amp;quot;5432&amp;quot; gitlab_rails[&#39;db_database&#39;] = &amp;quot;gitlabhq_production&amp;quot; gitlab_rails[&#39;db_adapter&#39;] = &#39;postgresql&#39; gitlab_rails[&#39;db_encoding&#39;] = &#39;utf8&#39; redis[&#39;enable&#39;] = false gitlab_rails[&#39;redis_host&#39;] = &#39;redis&#39; gitlab_rails[&#39;redis_port&#39;] = &#39;6379&#39; gitlab_rails[&#39;gitlab_shell_ssh_port&#39;] = 22 # Limit backup lifetime to 7 days (604800 seconds): gitlab_rails[&#39;backup_keep_time&#39;] = 604800 unicorn[&#39;worker_timeout&#39;] = 60 unicorn[&#39;worker_processes&#39;] = 3 nginx[&#39;enable&#39;] = true nginx[&#39;listen_port&#39;] = 80 nginx[&#39;client_max_body_size&#39;] = &#39;250m&#39; nginx[&#39;listen_port&#39;] = 443 nginx[&#39;redirect_http_to_https&#39;] = true nginx[&#39;ssl_certificate&#39;] = &#39;.</description>
    </item>
    
    <item>
      <title>阿特拉斯公司的酷事：用LDAP使用所有阿特拉斯工具</title>
      <link>https://www.christian-knedel.de/zh/post/2021/march/20210321-atlassian-ldap/</link>
      <pubDate>Wed, 24 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/march/20210321-atlassian-ldap/</guid>
      <description>如果你有自己的Atlassian安装，你是幸运的。今天我展示了我如何将Jira、Bamboo和Confluence连接到我的LDAP服务器。
第1步：安装OpenLDAP 我已经在我的Synology NAS上用这个Docker Compose文件设置了OpenLDAP。
ersion: &#39;2&#39; services: openldap: restart: always image: osixia/openldap container_name: openldap environment: LDAP_TLS: &#39;true&#39; LDAP_TLS_CRT_FILENAME: &#39;....pem&#39; LDAP_TLS_KEY_FILENAME: &#39;......pem&#39; LDAP_TLS_CA_CRT_FILENAME: &#39;......pem&#39; LDAP_ORGANISATION: &amp;quot;365Layouts&amp;quot; LDAP_DOMAIN: &amp;quot;homelab.local&amp;quot; LDAP_BASE_DN: &amp;quot;dc=homelab,dc=local&amp;quot; LDAP_ADMIN_PASSWORD: &amp;quot;......&amp;quot; LDAP_TLS_CIPHER_SUITE: &amp;quot;NORMAL&amp;quot; LDAP_TLS_VERIFY_CLIENT: &amp;quot;allow&amp;quot; LDAP_TLS_CIPHER_SUITE: NORMAL tty: true stdin_open: true volumes: - ./ldap:/var/lib/ldap - ./slapdd:/etc/ldap/slapd.d - ./certs:/container/service/slapd/assets/certs/ - ./memberof.ldif:/root/memberof.ldif - ./refint.ldif:/root/refint.ldif ports: - &amp;quot;389:389&amp;quot; - &amp;quot;636:636&amp;quot; hostname: &amp;quot;homelab.local&amp;quot; networks: - ldap phpldapadmin: restart: always image: osixia/phpldapadmin:latest container_name: phpldapadmin volumes: - .</description>
    </item>
    
    <item>
      <title>使用阿特拉斯的酷事：在没有插件的情况下使用Bamboo和jMeter</title>
      <link>https://www.christian-knedel.de/zh/post/2021/march/20210321-atlassian-bamboo-jmeter/</link>
      <pubDate>Sun, 21 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/march/20210321-atlassian-bamboo-jmeter/</guid>
      <description>今天我在Bamboo中创建一个jMeter测试。当然，你也可以用Gitlab runners或Jenkins slaves实现这个测试设置。
第1步：创建jMeter测试 首先，当然，你必须创建一个jMeter测试。我从以下网址下载了jMeter：https://jmeter.apache.org/，并用这个命令启动它。 x  &amp;ndash;  +   Terminal   $ java -jar bin/ApacheJMeter.jar   请看:我这个教程的演示测试是为了包含有问题的和工作的采样器。我故意把超时设置得很低。      我用JMX文件来保存我的Bamboo任务。
第2步：准备好竹剂 由于Java是奔步代理的先决条件，我只在事后安装Python。 x  &amp;ndash;  +   Terminal   $ apt-get update $ apt-get install python   我创建了一个新的工作和一个外壳任务。    并插入这个shell脚本。
#!/bin/bash java -jar /tools/apache-jmeter-5.4.1/bin/ApacheJMeter.jar -n -t test.jmx -l requests.log &amp;gt; result.log echo &amp;quot;Ergebnis:&amp;quot; cat result.log if cat result.</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology DS上运行Jenkins</title>
      <link>https://www.christian-knedel.de/zh/post/2021/march/20210321-docker-jenkins/</link>
      <pubDate>Sun, 21 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/march/20210321-docker-jenkins/</guid>
      <description>第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：准备好Docker文件夹 我在Docker目录下创建一个名为 &amp;ldquo;jenkins &amp;ldquo;的新目录。    然后我换到新的目录，创建一个新的文件夹 &amp;ldquo;data&amp;rdquo;。 x  &amp;ndash;  +   Terminal   $ sudo mkdir data   我还创建了一个名为 &amp;ldquo;jenkins.yml &amp;ldquo;的文件，内容如下。端口 &amp;ldquo;8081: &amp;ldquo;的前面部分可以调整。
version: &#39;2.0&#39; services: jenkins: restart: always image: jenkins/jenkins:lts privileged: true user: root ports: - 8081:8080 container_name: jenkins volumes: - ./data:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock - /usr/local/bin/docker:/usr/local/bin/docker 第3步：开始 在这一步，我也可以很好地利用控制台。我通过Docker Compose启动Jenkins服务器。 x  &amp;ndash;  +   Terminal   $ sudo docker-compose -f jenkins.</description>
    </item>
    
    <item>
      <title>短篇小说：改编国外Java库</title>
      <link>https://www.christian-knedel.de/zh/post/2021/march/20210318-recaf/</link>
      <pubDate>Thu, 18 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/march/20210318-recaf/</guid>
      <description>有一天，我想改编一个外国Java库中的方法，因此正在寻找一个合适的工具。我对字节码编辑器和字节码进行了大量研究。但最终我还是选择了Recaf，我感到非常兴奋: https://github.com/Col-E/Recaf    该工具可以在以下地址找到：https://github.com/Col-E/Recaf/releases。使用Recaf！反编译、重新编译和操作库是小菜一碟。最好是马上尝试一下。 x  &amp;ndash;  +   Terminal   $ java -jar recaf-2.18.2-J8-jar-with-dependencies.jar</description>
    </item>
    
    <item>
      <title>在NUC上安装ESXi。通过MacBook准备好U盘。</title>
      <link>https://www.christian-knedel.de/zh/post/2021/march/20210307-esxi-nuc/</link>
      <pubDate>Sun, 07 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/march/20210307-esxi-nuc/</guid>
      <description>通过ESXi，&amp;ldquo;intel NUC &amp;ldquo;可以被划分为任何数量的计算机。在本教程中，我展示了我是如何在我的NUC上安装VMware ESXi的。小前言：我建议在安装ESXi之前进行BIOS更新。你还将需要一个32GB的U盘。我从亚马逊买了一整捆，每捆不到5欧元。    我的NUC-8I7BEH有2个16GB HyperX Impact内存，1个256GB三星970 EVO M2模块和一个1TB 2.5英寸WD-RED硬盘。    第1步：找到USB棒 下面的命令显示了我所有的驱动器。 x  &amp;ndash;  +   Terminal   $ diskutil list   这里你可以看到我的U盘的标识符是 &amp;ldquo;disk2&amp;rdquo;。    第2步：准备好文件系统 现在我可以使用以下命令来准备文件系统。 x  &amp;ndash;  +   Terminal   $ $ diskutil eraseDisk MS-DOS &amp;#34;ESXI&amp;#34; MBR disk2   之后，我在Finder中也看到了标识符。    第3步：弹出U盘 我使用 &amp;ldquo;unmountDisk &amp;ldquo;命令弹出该卷。 x  &amp;ndash;  +   Terminal   $ $ diskutil unmountDisk /dev/disk2   见。    第4步：使记忆棒可启动 现在我们输入命令 &amp;ldquo;sudo fdisk -e /dev/disk2&amp;rdquo;，然后输入 &amp;ldquo;f 1&amp;rdquo;、&amp;ldquo;write &amp;ldquo;和 &amp;ldquo;quit&amp;rdquo;，见。    第5步：复制数据 现在我必须下载ESXi-ISO：https://www.</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology DiskStation上管理和存档菜谱</title>
      <link>https://www.christian-knedel.de/zh/post/2021/march/20210307-docker-mealie/</link>
      <pubDate>Sun, 07 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/march/20210307-docker-mealie/</guid>
      <description>在Docker容器中收集所有你喜欢的菜谱，并按你的意愿组织它们。编写你自己的食谱或从网站导入食谱，例如 &amp;ldquo;Chefkoch&amp;rdquo;、&amp;ldquo;Essen &amp;ldquo;等。    专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &amp;quot;2.0&amp;quot; services: mealie: container_name: mealie image: hkotel/mealie:latest restart: always ports: - 9000:80 environment: db_type: sqlite TZ: Europa/Berlin volumes: - ./mealie/data/:/app/data 第1步：搜索Docker镜像 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;选项卡并搜索 &amp;ldquo;dinnerie&amp;rdquo;。我选择Docker镜像 &amp;ldquo;hkotel/mealie:fresh&amp;rdquo;，然后点击标签 &amp;ldquo;最新&amp;rdquo;。      图像下载后，可作为图像使用。Docker区分了两种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和图像/影像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。
第2步：将图像投入运行。 我双击我的 &amp;ldquo;饭团 &amp;ldquo;图像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的文件夹，挂载路径为&amp;rdquo;/app/data&amp;rdquo;。    我为 &amp;ldquo;Mealie &amp;ldquo;容器分配了固定端口。没有固定的端口，可能是 &amp;ldquo;Mealie服务器 &amp;ldquo;在重启后运行在不同的端口。    最后，我输入两个环境变量。变量 &amp;ldquo;db_type &amp;ldquo;是数据库类型，&amp;ldquo;TZ &amp;ldquo;是时区 &amp;ldquo;Europe/Berlin&amp;rdquo;。    做完这些设置后，就可以启动Mealie服务器了!</description>
    </item>
    
    <item>
      <title>使用RaspberryPiZeroW、Javascript和GitLab的问题仪表板</title>
      <link>https://www.christian-knedel.de/zh/post/2021/march/20210306-gitlab-dashboard/</link>
      <pubDate>Sat, 06 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/march/20210306-gitlab-dashboard/</guid>
      <description>用Raspberry Noobs进行安装是小儿科!你只需要一个RaspberryZeroW和一张空白SD卡。
第1步：Noobs安装程序 从https://www.raspberrypi.org/downloads/noobs/ 下载Noobs安装程序。
第2步：SD卡 在空的SD卡上解压这个压缩文件。    完成了!现在你可以把RaspberryPiZero连接到电视上。然后你会看到安装菜单。    如果你的卡上有NoobsLite，你必须首先建立一个WLAN连接。然后选择 &amp;ldquo;Rasbian Lite &amp;ldquo;并点击 &amp;ldquo;安装&amp;rdquo;。Rasbian Lite是没有桌面的服务器版本。启动后，必须更新软件包管理。 x  &amp;ndash;  +   Terminal   $ sudo apt-get update   之后，必须安装以下软件包。 x  &amp;ndash;  +   Terminal   $ sudo apt-get install -y nodm matchbox-window-manager uzbl xinit vim   还必须为仪表板显示创建一个用户。 x  &amp;ndash;  +   Terminal   $ sudo adduser dashboard   以 &amp;ldquo;仪表板 &amp;ldquo;用户身份登录。 x  &amp;ndash;  +   Terminal   $ sudo su dashboard   创建一个X-Session -Script。我可以用光标键换到这一行，用 &amp;ldquo;i &amp;ldquo;键换到插入模式。 x  &amp;ndash;  +   Terminal   $ sudo vim ~/.</description>
    </item>
    
    <item>
      <title>容器的伟大之处: 海姆达尔作为一个主页</title>
      <link>https://www.christian-knedel.de/zh/post/2021/february/20210228-docker-heimdall/</link>
      <pubDate>Sun, 28 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/february/20210228-docker-heimdall/</guid>
      <description>我在我的Homelab网络中运行许多服务，例如LDAP、Gitlab、Atlassian Bamboo、Atlassian Confluence、Atlassian Jira、Jenkins、WordPress、Grafana、Graylog、ESXI/VMware、Calibre等等。这很容易让人失去对一切的追踪。    第1步：创建工作文件夹 使用该命令创建一个临时工作文件夹。 x  &amp;ndash;  +   Terminal   $ mkdir /tmp/bilder   Heimdall是一项允许你通过仪表板管理书签的服务。由于我使用Docker for Desktop，我只需要把这个Docker Compose文件放在本地文件夹中。
version: &amp;quot;2.1&amp;quot; services: heimdall: image: linuxserver/heimdall container_name: heimdall environment: - PUID=1000 - PGID=1000 - TZ=Europe/Berlin volumes: - /Users/christianknedel/docker/heimdall/config:/config ports: - 80:80 - 443:443 restart: always 这个文件是通过Docker Compose启动的。 x  &amp;ndash;  +   Terminal   $ ocker-compose -f compose-file.yml up -d</description>
    </item>
    
    <item>
      <title>容器的伟大之处：Synology DiskStation 上的 Pihole</title>
      <link>https://www.christian-knedel.de/zh/post/2021/february/20210201-docker-pihole/</link>
      <pubDate>Mon, 01 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/february/20210201-docker-pihole/</guid>
      <description>今天我展示了如何在Synology磁盘站上安装Pihole服务并将其连接到Fritzbox。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：创建Pihole文件夹 我在Docker目录下创建了一个名为 &amp;ldquo;pihole &amp;ldquo;的新目录。      然后我换到新的目录，创建两个文件夹 &amp;ldquo;etc-pihole &amp;ldquo;和 &amp;ldquo;etc-dnsmasq.d&amp;rdquo;。 x  &amp;ndash;  +   Terminal   $ cd /volume1/docker/ $ mkdir -p {etc-pihole,etc-dnsmasq.d}   现在，以下名为 &amp;ldquo;pihole.yml &amp;ldquo;的Docker Compose文件必须放在Pihole目录中。
version: &amp;quot;3&amp;quot; services: pihole: container_name: pihole image: pihole/pihole:latest ports: - &amp;quot;53:53/tcp&amp;quot; - &amp;quot;53:53/udp&amp;quot; - &amp;quot;67:67/udp&amp;quot; - &amp;quot;8080:80/tcp&amp;quot; environment: TZ: &#39;Europe/Berlin&#39; WEBPASSWORD: &#39;password&#39; volumes: - &#39;.</description>
    </item>
    
    <item>
      <title>容器的伟大之处：Docker中的Chaturbate下载器</title>
      <link>https://www.christian-knedel.de/zh/post/2020/april/20200407-docker-chaturbate-downloader/</link>
      <pubDate>Tue, 07 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/april/20200407-docker-chaturbate-downloader/</guid>
      <description>在下面的教程中，你将把 &amp;ldquo;chaturbat-downloader &amp;ldquo;作为一个Docker容器安装在你的Synology磁盘上。这个方案可以记录现场会议，也可以用过滤器独立搜索。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：创建Chaturbate文件夹 我为Chaturbate的下载创建了一个新文件夹。要做到这一点，我调用 &amp;ldquo;系统控制&amp;rdquo;-&amp;gt;&amp;ldquo;共享文件夹 &amp;ldquo;并创建一个新的文件夹 &amp;ldquo;chaturbate&amp;rdquo;。如果还没有 &amp;ldquo;Docker &amp;ldquo;文件夹，那么也必须创建它。      然后我换到新的目录，创建一个新文件，名为 &amp;ldquo;chaturbat-downloader.yml&amp;rdquo;，内容如下。
version: &#39;2&#39; services: app: image: chrisknedel/chaturbate-recorder-gui container_name: recorder_app restart: always environment: TZ: &amp;quot;Europe/Berlin&amp;quot; ABSOLUTE_HOST_MEDIA: &amp;quot;/volume1/docker/chaturbate/&amp;quot; LIMIT_MAXIMUM_FOLDER_GB: 20 #or &amp;quot;0&amp;quot; to disable this limit LIMIT_MAXIMUM_DOWNLOADS: 10 #or &amp;quot;0&amp;quot; to disable this limit COMMAND_ADAPTER: &#39;DockerAdapter&#39; CONTAINER_PREFFIX: &#39;cr_&#39; RECORDER_IMAGE: &#39;chrisknedel/chaturbate-recorder&#39; USER_UID: 0 USER_GID: 0 volumes: - /var/run/docker.</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology NAS上运行Papermerge DMS</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200228-docker-papermerge/</link>
      <pubDate>Fri, 28 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200228-docker-papermerge/</guid>
      <description>Papermerge是一个年轻的文件管理系统（DMS），可以自动分配和处理文件。在这个教程中，我展示了我是如何在Synology磁盘站上安装Papermerge以及DMS是如何工作的。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &amp;quot;2.1&amp;quot; services: papermerge: image: ghcr.io/linuxserver/papermerge container_name: papermerge environment: - PUID=1024 - PGID=100 - TZ=Europe/Berlin volumes: - ./config&amp;gt;:/config - ./appdata/data&amp;gt;:/data ports: - 8090:8000 restart: unless-stopped 第1步：创建文件夹 首先，我为纸张合并创建一个文件夹。我进入 &amp;ldquo;系统控制&amp;rdquo;-&amp;gt;&amp;ldquo;共享文件夹&amp;rdquo;，创建了一个名为 &amp;ldquo;文件档案 &amp;ldquo;的新文件夹。    第二步：搜索Docker镜像我点击Synology Docker窗口中的 &amp;ldquo;注册 &amp;ldquo;标签，搜索 &amp;ldquo;Papermerge&amp;rdquo;。我选择Docker镜像 &amp;ldquo;linuxserver/papermerge&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。    图像下载后，可作为图像使用。Docker区分了两种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和图像/影像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。
第3步：将图像投入运行。 我双击我的纸张合并图像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的数据库文件夹，挂载路径为&amp;rdquo;/data&amp;rdquo;。    我还在这里存储了第二个文件夹，我把它包括在挂载路径&amp;rdquo;/config &amp;ldquo;中。这个文件夹在哪里其实并不重要。然而，重要的是，它属于Synology管理员用户。    我为 &amp;ldquo;Papermerge &amp;ldquo;容器分配了固定端口。没有固定的端口，可能是 &amp;ldquo;Papermerge服务器 &amp;ldquo;在重启后运行在不同的端口。    最后，我输入三个环境变量。变量 &amp;ldquo;PUID &amp;ldquo;是用户ID，&amp;ldquo;PGID &amp;ldquo;是我的管理用户的组ID。你可以通过SSH用 &amp;ldquo;cat /etc/passwd | grep admin &amp;ldquo;命令找出PGID/PUID。    经过这些设置后，Papermerge服务器就可以启动了!</description>
    </item>
    
    <item>
      <title>容器的伟大之处：在Synology Diskstation上运行Youtube下载器</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200227-docker-youtube-dl/</link>
      <pubDate>Thu, 27 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200227-docker-youtube-dl/</guid>
      <description>我的许多朋友都知道，我在我的Homelab - Network上运行一个私人学习视频门户。我把过去学习门户会员的视频课程和Youtube上的好教程保存在我的NAS上供离线使用。    随着时间的推移，我已经收集了8845个视频课程，其中有282616个独立视频。总的运行时间相当于2年左右。绝对疯狂！在本教程中，我展示了如何用Docker下载服务备份好的Youtube教程，以达到离线的目的。
专业人士的选择 作为一个有经验的Synology用户，你当然可以用SSH登录并通过Docker Compose文件安装整个设置。
version: &amp;quot;2&amp;quot; services: youtube-dl: image: modenaf360/youtube-dl-nas container_name: youtube-dl environment: - MY_ID=admin - MY_PW=admin volumes: - ./YouTube:/downfolder ports: - 8080:8080 restart: unless-stopped 步骤1 首先，我为下载创建一个文件夹。我进入 &amp;ldquo;系统控制&amp;rdquo;-&amp;gt;&amp;ldquo;共享文件夹&amp;rdquo;，创建一个名为 &amp;ldquo;下载 &amp;ldquo;的新文件夹。    第2步：搜索Docker镜像 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;youtube-dl-nas&amp;rdquo;。我选择Docker镜像 &amp;ldquo;modenaf360/youtube-dl-nas&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。    图像下载后，可作为图像使用。Docker区分了两种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和图像/影像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。
第3步：将图像投入运行。 我双击我的YouTube-DL-NAS图像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的数据库文件夹，挂载路径为&amp;rdquo;/downfolder&amp;rdquo;。    我为 &amp;ldquo;Youtube下载器 &amp;ldquo;容器分配了固定的端口。如果没有固定的端口，可能是 &amp;ldquo;Youtube下载器 &amp;ldquo;在重启后运行在不同的端口。    最后，我输入两个环境变量。变量 &amp;ldquo;MY_ID &amp;ldquo;是我的用户名，&amp;ldquo;MY_PW &amp;ldquo;是我的密码。    做完这些设置后，就可以开始下载器了!</description>
    </item>
    
    <item>
      <title>容器的伟大之处：用Calibre和Docker自动标记PDF文件</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200227-calibre-heise-ix-script/</link>
      <pubDate>Thu, 27 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200227-calibre-heise-ix-script/</guid>
      <description>在PDF中添加正确的元信息往往是很乏味的。我自己将下载的PDF文件从我的Heise IX订阅账户中分类到我的私人Calibre图书馆。    因为这个过程每个月都在重复，所以我想出了以下设置。我只把我的新PDF拖入我的资料库。    我已经创建了一个容器，将我的Calibre库作为一个卷（-v &amp;hellip;:/books）获得。在这个容器中，我安装了以下软件包。 x  &amp;ndash;  +   Terminal   $ apt-get update &amp;amp;&amp;amp; apt-get install -y xpdf calibre   现在我的脚本搜索符合 &amp;ldquo;IX*.pdf &amp;ldquo;模式的新PDF文件。从每个PDF中，前5页被导出为文本。然后，所有出现在这个单词列表中的单词都被删除：https://raw.githubusercontent.com/ChristianKnedel/heise-ix-reader-for-calibre/master/blacklist.txt
#!/bin/bash export LANG=C.UTF-8 mkdir /tmp/worker1/ find /books/ -type f -iname &#39;*.pdf&#39; -newermt 20201201 -print0 | while IFS= read -r -d &#39;&#39; line; do calibreID=$(echo &amp;quot;$line&amp;quot; | sed -r &#39;s/.*\(([0-9]+)\).*/\1/g&#39;) echo &amp;quot;bearbeite $clearName&amp;quot; echo &amp;quot;id $calibreID&amp;quot;; cp &amp;quot;$line&amp;quot; /tmp/worker1/test.</description>
    </item>
    
    <item>
      <title>容器的伟大之处：用Docker Compose运行Calibre (Synology pro设置)</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200221-docker-calibre-pro/</link>
      <pubDate>Fri, 21 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200221-docker-calibre-pro/</guid>
      <description>这个博客上已经有一个比较简单的教程：X0。本教程适用于所有Synology DS专业人员。
第1步：准备好Synology 首先，必须在 DiskStation 上激活 SSH 登录。要做到这一点，请进入 &amp;ldquo;控制面板&amp;rdquo;&amp;gt;&amp;ldquo;终端&amp;rdquo;。    然后你可以通过 &amp;ldquo;SSH&amp;rdquo;、指定的端口和管理员密码来登录（Windows用户使用Putty或WinSCP）。    我通过终端、winSCP或Putty登录，并将这个控制台打开以备不时之需。
第2步：创建一个图书文件夹 我为Calibre库创建一个新的文件夹。要做到这一点，我调用 &amp;ldquo;系统控制&amp;rdquo;-&amp;gt;&amp;ldquo;共享文件夹&amp;rdquo;，并创建一个名为 &amp;ldquo;书籍 &amp;ldquo;的新文件夹。如果还没有 &amp;ldquo;Docker &amp;ldquo;文件夹，那么也必须创建它。    第3步：准备好书夹 现在必须下载并解压以下文件：https://drive.google.com/file/d/1zfeU7Jh3FO_jFlWSuZcZQfQOGD0NvXBm/view。内容（&amp;ldquo;metadata.db&amp;rdquo;）必须放在新书目录中，见。    第4步：准备好Docker文件夹 我在Docker目录下创建一个名为 &amp;ldquo;calibre &amp;ldquo;的新目录。    然后我换到新的目录，并创建一个名为 &amp;ldquo;calibre.yml &amp;ldquo;的新文件，内容如下。
version: &#39;2&#39; services: calibre-web: image: linuxserver/calibre-web container_name: calibre-web-server environment: - PUID=1026 - PGID=100 - TZ=Europe/Berlin volumes: - /volume1/Buecher:/books - /volume1/docker/calibre:/briefkaste ports: - 8055:8083 restart: unless-stopped 在这个新文件中，有几个地方必须调整如下：* PUID/PGID：必须在PUID/PGID中输入DS用户的用户和组ID。这里我使用 &amp;ldquo;步骤1 &amp;ldquo;中的控制台和 &amp;ldquo;id -u &amp;ldquo;命令来查看用户ID。用 &amp;ldquo;id -g &amp;ldquo;命令，我得到了组的ID。* ports: 对于端口，前面的部分 &amp;ldquo;8055: &amp;ldquo;必须被调整。directories这个文件中的所有目录必须被纠正。正确的地址可以在DS的属性窗口中看到。(屏幕截图如下)    第5步：测试开始 在这一步，我也可以很好地利用控制台。我换到Calibre目录，通过Docker Compose启动那里的Calibre服务器。 x  &amp;ndash;  +   Terminal   $ cd /volume1/docker/calibre $ sudo docker-compose -f calibre.</description>
    </item>
    
    <item>
      <title>Gitlab研讨会：如何通过Gitllab管道部署一个静态WordPress副本？</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200216-wordpress-pipeline/</link>
      <pubDate>Sun, 16 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200216-wordpress-pipeline/</guid>
      <description>静态网站加载速度更快，提供的攻击面更小。我告诉你如何通过Gitlab Pipline转换一个CMS页面。首先，我创建了一个构建阶段，通过wget生成一个静态副本。
uild: stage: build when: always only: - master script: - mkdir static - rm -r .git - wget -k -K -E -r -l 10 -p -N -F --restrict-file-names=windows -nH http://wordpress-adresse/ -P static &amp;gt;&amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || true - find . -type f -exec sed -i &#39;s#http://wordpress-adresse/#\//m#g&#39; {} + &amp;gt;&amp;gt; /dev/null 2&amp;gt;&amp;amp;1 artifacts: paths: - static/ expire_in: 24 week 结果或静态人工制品被存档24周，并可在任何时候通过管道部署。    在下一步，可以对结果进行部署。
live: before_script: - &#39;which ssh-agent || ( apt-get update -y &amp;amp;&amp;amp; apt-get install openssh-client -y )&#39; - eval $(ssh-agent -s) - echo &amp;quot;$SSH_PRIVATE_KEY&amp;quot; | tr -d &#39;\r&#39; | ssh-add - stage: deploy when: always only: - master script: - rsync -avuz -e &#39;ssh -p {-P Port wenn nötig} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null&#39; static/* user@www.</description>
    </item>
    
    <item>
      <title>Synology-Nas: 设置 Gitlab 触发器</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200216-synology-trigger/</link>
      <pubDate>Sun, 16 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200216-synology-trigger/</guid>
      <description>为了自动触发Gitlab流水线，必须创建一个所谓的触发器。你可以在项目设置中创建任意多的触发器。    这些触发器看起来像这样。当然，（占位符）必须被替换。 x  &amp;ndash;  +   Terminal   $ curl -X POST -F token=(TOKEN) -F ref=(BRANCH) http://(ip):(port)/api/v4/projects/(project-id)/trigger/pipeline  
This curl call can be entered into the Synology task scheduler, Done!
   </description>
    </item>
    
    <item>
      <title>104.6 RTL在FritzFon!</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200214-1046-rtl-fritzfon/</link>
      <pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200214-1046-rtl-fritzfon/</guid>
      <description>在你的Fritzphone上安装104.6 RTL是非常容易的。然后你可以收听Haus- und Garten- Weit Berlin的Hitradion。登录您的Fritzbox，选择菜单项 &amp;ldquo;家庭网络&amp;rdquo; &amp;gt; &amp;ldquo;媒体服务器&amp;rdquo;。在那里，在 &amp;ldquo;网络广播 &amp;ldquo;标签下，你会发现已经安装在Fritzbox上的所有电台。    滚动到页面底部。请在 &amp;ldquo;添加网络电台 &amp;ldquo;下选择 &amp;ldquo;其他网络电台&amp;rdquo;。输入一个名称 &amp;ldquo;104.6 RTL Berlins Hitradio &amp;ldquo;和地址 &amp;ldquo;http://stream.104.6rtl.com/rtl-live&amp;quot;。    点击 &amp;ldquo;确定&amp;rdquo;!新的变速器可以立即在您的FritzFon上使用。</description>
    </item>
    
    <item>
      <title>Nginx：如何阻止TOR用户？</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200214-nginx-tor/</link>
      <pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200214-nginx-tor/</guid>
      <description>对于我的暗网封锁器，我只需要一个Tor出口节点IO列表和以下规则。
location / { limit_req zone=one; #request limit limit_conn addr include /etc/nginx/conf.d/tor-ips.conf; #tor ips blocken ... } 通过以下脚本，我可以创建一个Ip黑名单。
IP更新脚本 #!/bin/sh # Copyright 2012, Nico R. Wohlgemuth &amp;lt;nico@lifeisabug.com&amp;gt; WGET=/usr/bin/wget LIST=/etc/nginx/conf.d/tor-ips.conf #ziel der blacklist LISTBAK=/etc/nginx/conf.d/tor-ips.bak TEMPLIST=/tmp/torlist.txt wget -qO- https://check.torproject.org/exit-addresses | grep ExitAddress | cut -d &#39; &#39; -f 2 | sed &amp;quot;s/^/deny /g; s/$/;/g&amp;quot; &amp;gt; $TEMPLIST if [ ! -s $TMPTEMPLIST ]; then echo &amp;quot;error: list is empty or was not downloaded&amp;quot; exit 1 fi head -n3 $TEMPLIST tail -n3 $TEMPLIST echo -e &amp;quot;\ndoes this look okay?</description>
    </item>
    
    <item>
      <title>树莓派：PI CPU的无热性</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200214-rpi-cpu-temp/</link>
      <pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200214-rpi-cpu-temp/</guid>
      <description>如果你想在某个温度下关闭树莓，那么你就来对地方了。我有一个脚本，通过Crontab检查CPU温度。
#!/bin/sh # This script reads the Broadcom SoC temperature value and shuts down if it # exceeds a particular value. # 80ºC is the maximum allowed for a Raspberry Pi. # Get the reading from the sensor and strip the non-number parts SENSOR=&amp;quot;`/opt/vc/bin/vcgencmd measure_temp | cut -d &amp;quot;=&amp;quot; -f2 | cut -d &amp;quot;&#39;&amp;quot; -f1`&amp;quot; # -gt only deals with whole numbers, so round it. TEMP=&amp;quot;`/usr/bin/printf &amp;quot;%.</description>
    </item>
    
    <item>
      <title>生成PDF页面概述</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200214-imagemagick-pdf-overview/</link>
      <pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200214-imagemagick-pdf-overview/</guid>
      <description>如果你想从一个PDF文件中创建一个页面概述图像，那么你就来对地方了    第1步：创建工作文件夹 使用该命令创建一个临时工作文件夹。 x  &amp;ndash;  +   Terminal   $ mkdir /tmp/bilder  
第2步：独立的页面 以下命令为每个PDF页面创建一个图像。 x  &amp;ndash;  +   Terminal   $ convert 716023b632a9cbe6cad3ab368c202288.pdf /tmp/bilder/page.png  
第3步：安装图像 现在只需要把拼贴画放在一起。 x  &amp;ndash;  +   Terminal   $ montage /tmp/bilder/* -shadow -geometry &amp;#39;400x400&amp;#43;2&amp;#43;2&amp;gt;&amp;#39; -background &amp;#39;#f1f1f1&amp;#39; uebersich.jpg</description>
    </item>
    
    <item>
      <title>Synology-Nas: Confluence是一个维基系统</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200213-synology-confluence/</link>
      <pubDate>Thu, 13 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200213-synology-confluence/</guid>
      <description>如果你想在Synology NAS上安装Atlassian Confluence，那么你就来对地方了。
步骤1 首先，我在Synology界面上打开Docker应用，然后进入 &amp;ldquo;注册 &amp;ldquo;子项。我在那里搜索 &amp;ldquo;Confluence &amp;ldquo;并点击第一张图片 &amp;ldquo;Atlassian Confluence&amp;rdquo;。    第2步 图像下载后，可作为图像使用。Docker区分了两种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和图像/影像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。
自动重新启动 我双击我的Confluence图像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。    码头 我为Confluence容器分配了固定的端口。如果没有固定的端口，Confluence可能在重启后运行在不同的端口上。    记忆 我创建了一个物理文件夹，并把它挂在容器里（/var/atlassian/application-data/confluence/）。这一设置使备份和恢复数据更加容易。      完成这些设置后，Confluence就可以启动了!    </description>
    </item>
    
    <item>
      <title>Synology-Nas: 安装Calibre Web作为电子书库</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200213-synology-calibreweb/</link>
      <pubDate>Thu, 13 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200213-synology-calibreweb/</guid>
      <description>我如何将Calibre-Web作为Docker容器安装在我的Synology NAS上？ 注意：这种安装方法已经过时了，与当前的Calibre软件不兼容。请看一下这个新的教程：容器的伟大之处：用Docker Compose运行Calibre。本教程适用于所有Synology DS的专业人士。
第1步：创建文件夹 首先，我为Calibre库创建一个文件夹。 我调出 &amp;ldquo;系统控制&amp;rdquo;-&amp;gt;&amp;ldquo;共享文件夹&amp;rdquo;，并创建一个新的文件夹 &amp;ldquo;书籍&amp;rdquo;。    第2步：创建Calibre库 现在我复制一个现有的库或&amp;quot;这个空的样本库 &amp;ldquo;到新的目录。我自己已经复制了桌面应用程序的现有库。    第3步：搜索Docker镜像 我在Synology Docker窗口中点击 &amp;ldquo;注册 &amp;ldquo;标签，并搜索 &amp;ldquo;Calibre&amp;rdquo;。我选择Docker镜像 &amp;ldquo;janeczku/calibre-web&amp;rdquo;，然后点击 &amp;ldquo;最新 &amp;ldquo;标签。    图像下载后，可作为图像使用。Docker区分了两种状态，容器 &amp;ldquo;动态状态 &amp;ldquo;和图像/影像（固定状态）。在我们从镜像中创建一个容器之前，必须进行一些设置。
第四步：将图像投入运行。 我双击我的Calibre图像。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，激活 &amp;ldquo;自动重新启动&amp;rdquo;。我选择 &amp;ldquo;卷 &amp;ldquo;选项卡并点击 &amp;ldquo;添加文件夹&amp;rdquo;。我在那里创建了一个新的数据库文件夹，挂载路径为&amp;rdquo;/calibre&amp;rdquo;。    我为Calibre容器分配了固定的端口。没有固定的端口，可能是Calibre在重启后运行在不同的端口上。    完成这些设置后，就可以启动Calibre了!    我现在用指定的Calibre端口调用我的Synology IP，并看到以下图片。我输入&amp;rdquo;/calibre &amp;ldquo;作为 &amp;ldquo;Calibre数据库的位置&amp;rdquo;。其余的设置是一个品味的问题。    默认登录是 &amp;ldquo;admin&amp;rdquo;，密码是 &amp;ldquo;admin123&amp;rdquo;。    完成了!当然，我现在也可以通过我的 &amp;ldquo;图书文件夹 &amp;ldquo;连接桌面应用程序。我在我的应用程序中交换了库，然后选择我的Nas文件夹。    类似这样的事情。    如果我现在在桌面应用中编辑元信息，它们也会在网络应用中自动更新。      </description>
    </item>
    
    <item>
      <title>Synology-Nas: 我怎样才能运行任务或crons？</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200213-synology-task/</link>
      <pubDate>Thu, 13 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200213-synology-task/</guid>
      <description>你想在Synology NAS中设置自动任务吗？请点击 &amp;ldquo;控制面板 &amp;ldquo;中的 &amp;ldquo;任务调度器&amp;rdquo;。    设定的时间和重复次数 在 &amp;ldquo;任务规划器 &amp;ldquo;中，可以创建新的 &amp;ldquo;任务&amp;rdquo;，即准cron作业。时间和重复次数在此设定。    脚本 目标脚本存储在 &amp;ldquo;任务设置 &amp;ldquo;下。在我的案例中，创建了一个压缩档案。你应该自己测试这个功能。    </description>
    </item>
    
    <item>
      <title>容器的伟大之处。Docker中的互联网档案馆</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200207-docker-shiori/</link>
      <pubDate>Fri, 07 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200207-docker-shiori/</guid>
      <description>在下面的教程中，你将把一个私有的 &amp;ldquo;互联网档案 &amp;ldquo;安装成一个Docker容器。你所需要的就是这个 &amp;ldquo;Docker-compose &amp;ldquo;文件。
version: &#39;2&#39; services: db: image: radhifadlillah/shiori:latest container_name: bookmark-archiv-shiori volumes: - ./shiori-server:/srv/shiori ports: - &amp;quot;18080:8080&amp;quot; 通过 &amp;ldquo;docker-compose -f your-file.yml up -d &amp;ldquo;用Docker-Compose启动yml文件后，你可以通过指定的端口访问本地互联网存档，例如http://localhost:18080 。默认登录可以在以下网站找到：https://github.com/go-shiori/shiori/wiki/Usage
username: shiori password: gopher 很好!你可以使用你的互联网档案。              </description>
    </item>
    
    <item>
      <title>小故事：用Elgato Stream Deck编写Bash脚本</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200221-elgato-stream-deck/</link>
      <pubDate>Fri, 07 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200221-elgato-stream-deck/</guid>
      <description>如果你想在Elgato Stream Deck中包含一个bash脚本，你首先需要一个bash脚本。
第1步：创建Bash脚本。 我创建了一个名为 &amp;ldquo;say-hallo.sh &amp;ldquo;的文件，内容如下。
#!/bin/bash say &amp;quot;hallo&amp;quot; 第2步：设定权利 下面的命令使该文件可以执行。 x  &amp;ndash;  +   Terminal   $ chmod 755 say-hallo.sh  
第3步：将Bash脚本包含在甲板中 3.1) 现在可以打开Stream Deck应用程序。    3.2) 然后我把 &amp;ldquo;打开系统 &amp;ldquo;的动作拖到一个按钮上。    3.3) 现在我可以选择我的bash脚本。    第四步：完成! 新的按钮现在可以使用了。</description>
    </item>
    
    <item>
      <title>用Gitlab编排uiPath Windows机器人</title>
      <link>https://www.christian-knedel.de/zh/post/2020/february/20200207-gitlab-uipath/</link>
      <pubDate>Fri, 07 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2020/february/20200207-gitlab-uipath/</guid>
      <description>UiPath是机器人流程自动化的一个既定标准。利用uiPath，你可以开发一个基于软件的机器人/机械人，为你处理复杂的数据处理或点击任务。但这样的机器人也能用Gitlab来控制吗？简短的回答是 &amp;ldquo;可以&amp;rdquo;。而具体如何，你可以在这里看到。对于以下步骤，你需要有管理权限和一些uipath、Windows和Gitlab的经验。
第一步：首先要做的是安装一个Gitlab运行器。 1.1.)为你的目标操作系统创建一个新的 Gitlab 用户。请点击 &amp;ldquo;设置&amp;rdquo;&amp;gt;&amp;ldquo;家庭和其他用户&amp;rdquo;，然后点击 &amp;ldquo;在这台电脑上添加另一个人&amp;rdquo;。    1.2.)请点击 &amp;ldquo;我不知道这个人的凭证&amp;rdquo;，然后点击 &amp;ldquo;添加没有微软账户的用户 &amp;ldquo;来创建一个本地用户。        1.3.)在下面的对话中，你可以自由选择用户名和密码。    第2步：激活服务登录 如果你想为你的 Windows Gitlab Runner 使用一个单独的本地用户，那么你必须 &amp;ldquo;以服务方式激活登录&amp;rdquo;。要做到这一点，请进入Windows菜单&amp;gt;&amp;ldquo;本地安全策略&amp;rdquo;。在那里，选择 &amp;ldquo;本地政策&amp;rdquo;&amp;gt;&amp;ldquo;分配用户权限&amp;rdquo;，在左侧选择 &amp;ldquo;作为服务登录&amp;rdquo;。        然后添加新的用户。    第3步：注册Gitlab Runner Gitlab Runner 的 Windows 安装程序可以在以下页面找到：https://docs.gitlab.com/runner/install/windows.html 。我在我的 &amp;ldquo;C &amp;ldquo;驱动器中创建了一个新文件夹，并将安装程序放在那里。    3.1.)我以 &amp;ldquo;管理员 &amp;ldquo;身份使用 &amp;ldquo;CMD &amp;ldquo;命令，打开一个新的控制台，并改变到一个目录 &amp;ldquo;cd C:\gitlab-runner&amp;rdquo;。      我在那里调用以下命令。如你所见，我还在这里输入了Gitlab用户的用户名和密码。 x  &amp;ndash;  +   Terminal   $ gitlab-runner-windows-386.</description>
    </item>
    
    <item>
      <title>PIFM：104.6全球调频电台</title>
      <link>https://www.christian-knedel.de/zh/post/2019/july/20190717-rpi-pifm/</link>
      <pubDate>Wed, 17 Jul 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2019/july/20190717-rpi-pifm/</guid>
      <description>如果你是104.6 RTL的粉丝，不想一天都没有柏林的热门电台，那么你就来对地方了。你需要一台名为树莓的单板计算机，以及GPIO端口4上的一根电缆作为天线。
需要以下软件包 x  &amp;ndash;  +   Terminal   $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install sox libsox-fmt-all   我创建一个下载文件夹并下载PIFM脚本。 x  &amp;ndash;  +   Terminal   $ mkdir /home/pi/installs $ cd /home/pi/installs/ $ wget http://omattos.com/pifm.tar.gz $ tar vfzx pifm.tar.gz  
pifm脚本 我创建了一个新文件&amp;quot;$vim /home/pi/radio-streamer.sh&amp;quot;，内容如下。
#!/bin/bash pkill sox pkill pifm sleep 1 sox -v .9 -t mp3 http://stream.</description>
    </item>
    
    <item>
      <title>Synology Nas: 安装 Gitlab?</title>
      <link>https://www.christian-knedel.de/zh/post/2019/july/20190717-gitlab-on-synology/</link>
      <pubDate>Wed, 17 Jul 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2019/july/20190717-gitlab-on-synology/</guid>
      <description>这里我展示了我如何在我的Synology NAS上安装Gitlab和Gitlab runner。首先，GitLab应用程序必须以Synology软件包的形式安装。在 &amp;ldquo;软件包中心 &amp;ldquo;搜索 &amp;ldquo;Gitlab &amp;ldquo;并点击 &amp;ldquo;安装&amp;rdquo;。
   该服务为我监听端口 &amp;ldquo;30000&amp;rdquo;。当一切都成功后，我用 http://SynologyHostName:30000 调用我的 Gitlab，看到这个图片。    当我第一次登录时，我被要求提供未来的 &amp;ldquo;管理员 &amp;ldquo;密码。就是这样!现在我可以组织项目了。现在可以安装一个Gitlab运行器了。
   </description>
    </item>
    
    <item>
      <title>Synology-Nas: Gitlab - Docker容器中的运行器</title>
      <link>https://www.christian-knedel.de/zh/post/2019/july/20190717-synology-gitlab-runner/</link>
      <pubDate>Wed, 17 Jul 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2019/july/20190717-synology-gitlab-runner/</guid>
      <description>如何将Gitlab运行程序作为Docker容器安装在我的Synology NAS上？
第1步：搜索Docker镜像 我点击Synology Docker窗口中的 &amp;ldquo;注册 &amp;ldquo;标签，并搜索Gitlab。我选择Docker镜像 &amp;ldquo;gitlab/gitlab-runner&amp;rdquo;，然后选择标签 &amp;ldquo;bleeding&amp;rdquo;。    第2步：将图像投入运行。 主机问题 我的synology-gitlab-insterlation总是只用主机名来识别自己。由于我从软件包中心提取了Synology Gitlab的原始软件包，所以这个行为在之后无法改变。 作为一种变通方法，我可以包括我自己的hosts文件。在这里你可以看到，主机名 &amp;ldquo;peter &amp;ldquo;属于Nas的IP地址192.168.12.42。
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 192.168.12.42 peter 这个文件只是存储在Synology NAS上。    第3步：设置GitLab运行器 我点击了我的亚军图像。    我激活了 &amp;ldquo;启用自动重新启动 &amp;ldquo;的设置。    然后我点击 &amp;ldquo;高级设置&amp;rdquo;，选择 &amp;ldquo;音量 &amp;ldquo;标签。    我点击添加文件，并通过路径&amp;rdquo;/etc/hosts &amp;ldquo;包括我的hosts文件。只有在主机名不能被解决的情况下，才有必要进行这一步骤。    我接受设置并点击下一步。    现在我在Container下找到了初始化的图像。    我选择容器（对我来说是gitlab-gitlab-runner2）并点击 &amp;ldquo;详细信息&amp;rdquo;。然后我点击 &amp;ldquo;终端 &amp;ldquo;标签，创建一个新的bash会话。我在这里输入 &amp;ldquo;gitlab-runner register &amp;ldquo;命令。对于注册，我需要在我的GitLab安装中找到的信息，在http://gitlab-adresse:port/admin/runners。</description>
    </item>
    
    <item>
      <title>使用RaspberryPiZeroW和LibreElec的智能电视</title>
      <link>https://www.christian-knedel.de/zh/post/2019/july/20190717-libreelec/</link>
      <pubDate>Wed, 17 Jul 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2019/july/20190717-libreelec/</guid>
      <description>智能电视可能是定时炸弹。通常情况下，电视操作系统含有严重的漏洞，或者没有保持最新状态。一个好的解决方案可以是一个独立的MediaPC操作系统。LibreElec在最弱的树莓上运行，可以用电视的遥控器控制。LibreElec比SmartTv操作系统更容易定制，并提供各种应用/模块。你只需要一个RaspberryZeroW和一张空白SD卡。
步骤1。 从https://www.raspberrypi.org/downloads/noobs/ 下载Noobs安装程序。
第2步。 在空的SD卡上解压这个压缩文件。 &amp;ldquo;    &amp;rdquo; 完成了!现在你可以把RaspberryPiZero连接到电视上。然后你会看到安装菜单。 &amp;ldquo;    &amp;rdquo; 现在请选择 &amp;ldquo;LibreElec RPI &amp;ldquo;并点击 &amp;ldquo;安装&amp;rdquo;。 &amp;ldquo;    &amp;rdquo; 在这之后，安装完成并可启动 &amp;ldquo;    &amp;rdquo; 现在你可以将这个MediaPc连接到外部资源，如NAS或安装Youtube等应用程序。玩得开心!
&amp;ldquo;    &amp;rdquo; 正如已经写过的，你也可以通过CEC控制器使用你的电视遥控器。</description>
    </item>
    
    <item>
      <title>阿特拉斯公司的酷事：为我的竹子监视器做宣传</title>
      <link>https://www.christian-knedel.de/zh/post/2021/april/20210402-bamboo-monitor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.christian-knedel.de/zh/post/2021/april/20210402-bamboo-monitor/</guid>
      <description>如何为Bamboo、Jenkins或Gitlab创建一个构建监视器？我今晚就能想出办法来!我已经写过一个类似的Gitlab问题板教程。    本教程的基础是Raspberry Imager和 &amp;ldquo;Raspberry Pi OS Lite &amp;ldquo;操作系统。安装完操作系统后，可以将SD卡插入树莓中。在我的例子中，这是一个Raspberry Pi Zero。          第1步：安装火柴盒/窗口管理器 要在信息亭模式下操作树莓，需要一个窗口管理器和一个浏览器。这些都是用以下命令安装的。 x  &amp;ndash;  +   Terminal   $ sudo apt-get install xorg nodm matchbox-window-manager uzbl xinit unclutter vim  
第2步：我创建一个仪表板用户 通过以下命令，我创建了一个名为 &amp;ldquo;dashboard &amp;ldquo;的新用户。 x  &amp;ndash;  +   Terminal   $ sudo adduser dashboard  
第3步：配置xServer和窗口管理器 以下所有步骤必须在 &amp;ldquo;仪表板 &amp;ldquo;用户会话中进行。我改用 &amp;ldquo;su &amp;ldquo;的会话。 x  &amp;ndash;  +   Terminal   $ sudo su dashboard</description>
    </item>
    
  </channel>
</rss>
