ネタがない!

と、結構前から言ってる気がする。

休みの日にネットサーフィンしても記事にしたくなる話になかなか当たらないというのもあるかも。

自分の興味の方向が少し変わってきたのかも。巡回サイトを少し考える時期に来たのかな。

と、原因をツラツラ考えながら、グータラ過ごす休日が実は一番の原因なんじゃないかと俯瞰してみたりしつつ。

おや、これがまさに徒然なるままに~心に移りゆくよしなし事を~ってやつなのかもしれない。

うん、これでタイトル回収か!(違

カテゴリー: 駄文 | コメントする

いい時代だねぇ

これだったら,苦も無く聞けるなぁ.内容は相変わらずわからないのだが・・・

カテゴリー: 駄文 | コメントする

TxtMiruOnTheWeb

数日使ってみました.

GitHub – gearsns/TxtMiruOnTheWeb: ブラウザ上でネット小説「小説家になろう」、「カクヨム」、「青空文庫」を縦組み表示にして読むことができます。

一部気になる点もありますが,ほとんど問題なく使えました.気になった部分もなれれば問題ないのかなと.

ということで,使い始めるまでの設定を忘備録として残しておきます.

最低限必要なものは,お気に入り機能を使うかどうかで変わってきます.使わないのであれば必要なものは特にありません.TxtMiru on the Web – 縦書き小説ビューア –にアクセスしてURLを打ち込めば終わりです.

で,次にお気に入りを使いたい人はTxtMiru on the Web – 縦書き小説ビューア –にアクセスして設定からお気に入りに使うスプレッドシートを指定するだけなので,スプレッドシートの準備を以下に書きますね.

  • Googleスプレッドシートを新しく作る.シート1の名前を解りやすい名前に変える(例:0001など)拡張機能からApps Scriptをクリックする.
  • App Scriptの無題のプロジェクトができるので,「function myFunction() {」の関数内に(次の行に)TxtMiruOnTheWeb/ActionScript.js at main · gearsns/TxtMiruOnTheWeb · GitHubの内容をコピペする.
  • シート番号って所があるので,それを先ほど作ったスプレッドシートのURL内に含まれる,docs.google.com/spreadsheets/d/(この部分)/edit#gid=0,(この部分)をコピペする.
  • プロジェクトに戻って,デプロイから「新しいデプロイ」を作る.
  • 種類の選択の横にある歯車から,ウェブアプリを選択して「デプロイ」をすると,URLが作られる.こんなやつ→https://script.google.com/macros/s/(ほげほげ)/exec
  • このURLをTxtMiruOnTheWebの設定にある「WebサーバーのURL」に貼り付ける.
  • 「ユーザーID」にGoogleスプレッドシートのページ1を改名した名前を入れる(例:0001)

上記の設定でお気に入りを使えるようになります.ただ,この設定はブラウザに保存されるものなので,使う末端それぞれでURLとIDを設定してください.

さて,続いて,TxtMiruOnTheWeb本体も自分のサーバーで動かす方法です.

githubで公開していただいているので,それを自分のサーバーに入れてみました.完全に余談です.

続きを読む
カテゴリー: Linux、サーバー, PC関連 | コメントする

ネット小説を読むとき

横書きの文章を長い時間読むことになれませぬ。読書の習慣がついてると、やっぱり縦書きの文章を読むのに慣れているので、横書きだと首とか目がすごく疲れます。

なので、タブレットなどでは縦書きにできるアプリを探してそれで読むのですが、そうなると、それぞれの電子機器で同期が取れないので苦労していました。そしたら、GitHub – gearsns/TxtMiruOnTheWebという便利なものがある様子なので、使ってみることにしました。

とはいえ、どうやら、お気に入りを使うには自前のgoogleスプレッドシートを使わないといけない様子なので、ついでに自鯖にdockerコンテナを準備して管理しようとしています。

また後でその記事を忘備録としてまとめたいと思います。

カテゴリー: Linux、サーバー, PC関連 | コメントする

ツイッターとwordpressの連携

今まではjetpackの機能を使って新しい記事を書いたら自動でツイッターに登校されて他が,今月末(つまり今日)でその機能が使えなくなるらしい.

原因は,TwitterAPIの使用変更だそうです.

ってことで,今後はTwitterはプラモ関係の記事だけになると思います.

こっちのwordpressとは完全に切り離されるので,あしからず.

カテゴリー: PC関連, 駄文 | コメントする

久しぶりに笑った.

今注目のChatGPT君.私も結構趣味の範囲で使うことが多いです.特にChatGPT4はすごいですよ.

で,久しぶりに腹抱えて笑った.

やっぱり,名作の名言ってのは,説得力があるんだなぁと(違

カテゴリー: 駄文 | コメントする

サーバー設定の忘備録11 syncthiong編

こちらは色んなところを見た、、、かったのですが、なかなか参考になるHPがなかったので、参考HPは省略します。

では、さっそく。

mkdir ~/docker/sync && cd $_

PUID=`id -u`
PGID=`id -g`

cat << EOF > docker-compose.yml
version: "3"
services:
  syncthing:
    image: syncthing/syncthing
    container_name: syncthing
    hostname: my-syncthing
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
    volumes:
      - /var/docker/sync/config:/var/syncthing/config
      - /var/docker/sync/data:/var/syncthing
    networks:
      nginx-proxy-network:
        aliases:
          - syncthing.example.com
    environment:
      - VIRTUAL_HOST=sync.example.com # 利用するドメインを記載
    ports:
      - 8384:8384 # Web UI
      #- 22000:22000/tcp # TCP file transfers
      - target: 22000
        published: 22000
        protocol: tcp
        mode: host
      #- 22000:22000/udp # QUIC file transfers
      - target: 22000
        published: 22000
        protocol: udp
        mode: host
      - 21027:21027/udp # Receive local discovery broadcasts
    restart: unless-stopped

networks:
  nginx-proxy-network:
    external: true
EOF

docker-compose pull
docker-compose build --no-cache .

docker exec -it syncthing chown -R ${PUID}:${PGID} /var/syncthing/config
docker exec -it syncthing chmod -R 750 /var/syncthing/config

docker-compose up -d

たぶんこれで、うごくはずです。注意点は以下。

  • 最初の起動はローカルのGUIで起動することになります。そこで、設定ファイルの127.0.0.1を0.0.0.0に書き換えられたら、他のPCからアクセスできるので、そこをどうやるかがミソです。
  • 上記の設定では「/var/docker/sync/config/config.xml」に記載されているはずなので、このファイルが生成されていればラッキーです(私はGUIで設定したので、此方を弄ってはいません。)
  • これで動かない時は、以下の操作をした記憶がある。これが正しいかは不明。動くようになるかも不明
    • sudo docker exec -it syncthing chown -R 1000:1000 /var/syncthing/config
    • sudo docker exec -it syncthing chmod -R 750 /var/syncthing/config

カテゴリー: Linux、サーバー, PC関連 | コメントする

サーバー設定の忘備録10 munin編

実はここが一番てこずった。というか、てこずってる。予想通りの結果が出てるんだけど、出てないという。まぁ、それでも動いたので忘れないように記載します。

GitHub – ethersys/ethersys-docker-munin

では、さっそく。注意点などは下記へ。

cd ~/docker
git clone https://github.com/ethersys/ethersys-docker-munin.git munin
cd munin

#git clone https://github.com/occitech/docker.git munin  を使った場合は。
#HTMLログフォルダのパーミッションが間違っているので、その修正。
#このdockerは放置され、メンテされていないため。
#/munin/Dockerfileの中に.
#RUN chown munin:munin /var/log/munin
#を追加するとよい.

#cp Dockerfile Dockerfile.ori
#
#cat << EOF > diff.patch
#--- Dockerfile.ori
#+++ Dockerfile
#@@ -25,6 +25,7 @@
# # copy launcher
# ADD run.sh /usr/local/bin/run
# RUN chmod +x /usr/local/bin/run
#+RUN chown munin:munin /var/log/munin
#
# # persist
# VOLUME /var/lib/munin
#EOF
#
#patch Dockerfile < diff.patch

mkdir -p /docker && cd $_
docker build --no-cache -t munin ./

#docker-compose.ymlを作る

cat << EOF > docker-compose.yml
version: '3'
services:
  munin:
    image: munin
    networks:
      nginx-proxy-network:
        aliases:
          - munin.example.com  #THISNODENAMEと同じにしたらわかりやすい.
    #ports:
    #  - "8080:80"
    volumes:
      - /var/docker/munin/db:/var/lib/munin
      - /var/docker/munin/logs:/var/log/munin
      - /var/docker/munin/cache:/var/cache/munin
    restart: always
    environment:
      THISNODENAME: "munin.example.com"
      CRONDELAY: 2
      TZ: "Asia/Tokyo"
      NODES: "localhost:127.0.0.1 Ubuntu22HostOS:172.20.0.1"
      VIRTUAL_HOST: munin.example.com
      VIRTUAL_PORT: 80
      #HTTPS_METHOD: noredirect # リダイレクトを無効にする

networks:
  nginx-proxy-network:
    external: true
      
networks:
  nginx-proxy-network:
    external: true
    
EOF

docker-compose up -d

まず、大きくコメントで残してあるのは、古いdockerイメージと知らずに使ってしまい、四苦八苦した部分です。フォルダの権限が正常ではなかったので、muninの.htmlを生成するフォルダに書き込めず、何時間経ってもまだ準備中だよ的なコメントのHPしか表示されない事態に。それを解決するのが、コメントの中に記入してるchownのコマンド。しかし、めんどくさかったので、他のイメージを使用し、この設定と相成りました。

以下、その他の注意点

  • ポート8080を開放すると、何の制限もなくWANに公開されてしいました。慌ててポートを閉じることに。さて、どうしたものかと、いろいろ考えましたが、いい案が思いつかず(自分の技術が未熟なため取れる手段が少ない)、苦肉の策として、上記の設定にして、ルーターで8080を閉じることに。これでローカルからは見れる使用になりました。
  • 外出時に見たいときはopenvpn接続で見ることになると思うが、果たしてつながるのか・・・ネットワークが違うから無理なのかな?どうなのかな?
  • 情報を取得したときの、「localhost」はmuninコンテナの中の情報???よくわからない。
  • ホストOSの情報を取得する方法は以下に記載する。つまり、172.20.0.1の辺りは、適時変更しなければならない。

munin-nodeのインストール

さて、上でmunin-serverをコンテナにしたが、ホストOSにノードを入れる。これは簡単。

sudo apt install munin-node

はい、おわり。

で、設定が少しある。まずは、muin-serverコンテナがどのIPアドレスを取得しているかをみる。

docker network inspect munin-serverのネットワーク

または、

docker inspect muninコンテナ名

で、IPアドレスを探し出し、そのアドレスからmunin-nodeのアクセスをできるように設定ファイルを変更する。設定ファイルは「/etc/munin/munin-node.conf」だったと思う。

中に、

「allow 172\.20\.0.\.5$」と指定するか、「allow 172\.20\.0.\.0$」と範囲で許可するかしてください。

そして、munin-serverコンテナのdocker-compose.ymlの先ほどのIPアドレスを適時変更してください。そうすればOKのはず。

カテゴリー: Linux、サーバー, PC関連 | コメントする

サーバー設定の忘備録9 tt-rss編

こちらも公式のDockerをつかう。どうやら、しばらくしたら、dockerでの開発に移行するみたいなことがHPに書いてあるらしい。英語の得意な方はちゃんと読んで下さい。私は読んでないです。伝聞です。

Tiny Tiny RSS を Docker版に移行した | KUSONEKOの見る世界

ttrss-docker-compose.git –


こちらもまずはサンプルを。注意点は、docker-compose.ymlと.envの二つがあること。
詳細は下記へ。

mkdir -p /docker && cd $_

git clone https://git.tt-rss.org/fox/ttrss-docker-compose.git ttrss-docker && cd ttrss-docker

mv docker-compose.yml docker-compose.yml.ori

#docker-compose.ymlを作る
cat << EOF > docker-compose.yml
version: '3'

services:
  db:
    image: postgres:12-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_USER=\${TTRSS_DB_USER}
      - POSTGRES_PASSWORD=\${TTRSS_DB_PASS}
      - POSTGRES_DB=\${TTRSS_DB_NAME}
    volumes:
      - /var/docker/ttrss/ttrss_db:/var/lib/postgresql/data
    networks:
      nginx-proxy-network:
        aliases:
          - tt-rss.db.example.com

  app:
    build:
      context:
        ./app
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - /var/docker/ttrss/ttrss_app:/var/www/html
      - /var/docker/ttrss/config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - db
    networks:
      nginx-proxy-network:
        aliases:
          - tt-rss.app.example.com

  backups:
    build:
      context:
        ./app
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - /var/docker/ttrss/ttrss_backups:/backups
      - /var/docker/ttrss/ttrss_app:/var/www/html
    depends_on:
      - db
    command: /opt/tt-rss/dcron.sh -f
    networks:
      nginx-proxy-network:
        aliases:
          - tt-rss.backups.example.com

  updater:
    build:
      context:
        ./app
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - /var/docker/ttrss/ttrss_app:/var/www/html
      - /var/docker/ttrss/config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - app
    command: /opt/tt-rss/updater.sh
    networks:
      nginx-proxy-network:
        aliases:
          - tt-rss.updater.example.com

  web-nginx:
    build: ./web-nginx
    restart: unless-stopped
#      ports:
#      - \${HTTP_PORT}:80
    volumes:
      - /var/docker/ttrss/ttrss_app:/var/www/html:ro
    depends_on:
      - app
    networks:
      nginx-proxy-network:
        aliases:
          - web-nginx.example.com
    environment:
      - VIRTUAL_HOST=ttrss.example.com
      - VIRTUAL_PORT=80
      - VIRTUAL_ROOT=/tt-rss
      - HTTPS_METHOD=noredirect

networks:
  default:
    external:
      name: bridge
  nginx-proxy-network:
    external: true
EOF


#.envファイルをつくる.defaultを保存したければ,してください.
#mv .env .env_ori

PUID=`id -u`
PGID=`id -g`




cat << EOF > .env
# Copy this file to .env before building the container.
# Put any local modifications here.

# Run under this UID/GID.
OWNER_UID=${PUID}
OWNER_GID=${PGID}

# FPM settings.
#PHP_WORKER_MAX_CHILDREN=5
#PHP_WORKER_MEMORY_LIMIT=256M

# ADMIN_USER_* settings are applied on every startup.

# Set admin user password to this value. If not set, random password will be
# generated if default password is being used, look for it in the 'app'
# container logs.
ADMIN_USER_PASS=adminhanihani

# Sets admin user access level to this value.
# Valid values:
# -2 - forbidden to login
# -1 - readonly
#  0 - default user
# 10 - admin
#ADMIN_USER_ACCESS_LEVEL=

# Auto create another user (in addition to built-in admin) unless it
# already exists.
#AUTO_CREATE_USER=
#AUTO_CREATE_USER_PASS=
#AUTO_CREATE_USER_ACCESS_LEVEL=0

# Default database credentials.
TTRSS_DB_USER=postgres
TTRSS_DB_NAME=postgres
TTRSS_DB_PASS=password

# You will likely need to set this to the correct value, see README.md
# for more information.
#TTRSS_SELF_URL_PATH=http://localhost:8280/tt-rss
#TTRSS_SELF_URL_PATH=http://ttrss.example.com:8280/tt-rss
TTRSS_SELF_URL_PATH=http://ttrss.example.com/tt-rss

# You can customize other config.php defines by setting overrides here.
# See app/Dockerfile for complete list. Examples:
# TTRSS_PLUGINS=auth_remote
# TTRSS_SINGLE_USER_MODE=true
# TTRSS_SESSION_COOKIE_LIFETIME=2592000
# TTRSS_FORCE_ARTICLE_PURGE=30
# etc, etc.

# bind exposed port to 127.0.0.1 by default in case reverse proxy is used.
# if you plan to run the container standalone and need origin port exposed
# use next HTTP_PORT definition (or remove "127.0.0.1:").
#HTTP_PORT=127.0.0.1:8280
HTTP_PORT=8280
EOF

docker-compose build --no-cache
docker-compose up -d

注意点は、

  • ユーザーモードで動かすので、UIDを取得している所。適当に書いてもいいみたいだけど、作業しているローカルユーザになるようにしました。
  • TTRSS_SELF_URL_PATHの値ですが、http://なのかhttps://なのか微妙です。Proxy+ssl化しているので、https://が正解なのでしょうが、http://で動いてます。HTTPS_METHOD=noredirectを付けているか、だと思いますけど、詳しくは知らん。
  • web-nginxコンテナ部分で、VIRTUAL_HOST,VIRTUAL_PORT,VIRTUAL_ROOT=/tt-rssと指定していますが、これで、http://FQDN:8280/tt-rssをhttp://FQDNへと省略できるので、便利だと思います。
カテゴリー: Linux、サーバー, PC関連 | コメントする

サーバー設定の忘備録8 mirakurun+epgstation編

参考は公式HPから。

GitHub – l3tnun/docker-mirakurun-epgstation: Mirakurun + EPGStation on Docker

あいかわらず、スクリプトモドキを貼り付けて、注意点は以下へ。

mkdir -p ~/docker & cd $_

git clone https://github.com/l3tnun/docker-mirakurun-epgstation.git
cd docker-mirakurun-epgstation

#以下のファイルのコピーはバインドボリュームの場所に変更しています./var/docker

PUID=`id -u`
PGID=`id -g`

#cp docker-compose-sample.yml docker-compose.yml
sudo cp epgstation/config/enc.js.template /var/docker/epgstation/config/enc.js
sudo cp epgstation/config/config.yml.template /var/docker/epgstation/config/config.yml
sudo cp epgstation/config/operatorLogConfig.sample.yml /var/docker/epgstation/config/operatorLogConfig.yml
sudo cp epgstation/config/epgUpdaterLogConfig.sample.yml /var/docker/epgstation/config/epgUpdaterLogConfig.yml
sudo cp epgstation/config/serviceLogConfig.sample.yml /var/docker/epgstation/config/serviceLogConfig.yml
#docker-compose run --rm -e SETUP=true mirakurun


#defaultのdocker-compose.ymlを保存.

#mv docker-compose.yml docker-compose.yml.ori




cat << EOF > docker-compose.yml
version: '3.7'
services:
  mirakurun:
    image: chinachu/mirakurun
    cap_add:
      - SYS_ADMIN
      - SYS_NICE
    ports:
      - "40772:40772"
      - "9229:9229"
    networks:
      openvpn-network:
        ipv4_address: 172.20.0.3
        aliases:
          - mirakurun.example.com
    volumes:
      - /var/docker/mirakurun/conf:/app-config
      - /var/docker/mirakurun/data:/app-data
    environment:
      - TZ="Asia/Tokyo"
    devices:
      - /dev/bus:/dev/bus
      - /dev/dvb:/dev/dvb
    restart: always
    logging:
      driver: json-file
      options:
        max-file: "1"
        max-size: 10m

  mysql:
    image: mariadb:10.5
    # image: mysql:8.0 # 囲み文字を使用する場合
    networks:
      openvpn-network:
        ipv4_address: 172.20.0.4
        aliases:
          - mirakurun.mysql.example.com
    volumes:
      - /var/docker/mirakurun/mira_sql:/var/lib/mysql
    environment:
      MYSQL_USER: epgstation
      MYSQL_PASSWORD: epgstation
      MYSQL_ROOT_PASSWORD: epgstation
      MYSQL_DATABASE: epgstation
      TZ: "Asia/Tokyo"
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --performance-schema=false --expire_logs_days=1 # for mariadb
    # command: --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_as_ci --performance-schema=false --expire_logs_days=1 --default-authentication-plugin=mysql_native_password # for myql
    restart: always
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  epgstation:
    build:
      context: "./epgstation"
      dockerfile: "debian.Dockerfile"
    networks:
      openvpn-network:
        ipv4_address: 172.20.0.5
        aliases:
          - epgstation.example.com
    volumes:
      - /var/docker/epgstation/config:/app/config
      - /var/docker/epgstation/data:/app/data
      - /var/docker/epgstation/thumbnail:/app/thumbnail
      - /var/docker/epgstation/logs:/app/logs
      - /var/recorded:/app/recorded             #ここだけちょいとディレクトリが違うのは,別のHDDをマウントしたいから.
    environment:
      - TZ="Asia/Tokyo"
    depends_on:
      - mirakurun
      - mysql
    ports:
      - "8888:8888"
      - "8889:8889"
    user: "1000:1000"
    devices:
      - /dev/dri:/dev/dri
    restart: always

networks:
  openvpn-network:
    external: true

    
EOF


docker-compose build --no-cache

docker-compose run --rm -e SETUP=true mirakurun

docker-compose up -d


#チャンネルスキャン


#curl -X PUT "http://localhost:40772/api/config/channels/scan?type=GR&setDisabledOnAdd=false&refresh=true" && 
curl -X PUT "http://localhost:40772/api/config/channels/scan?type=BS&setDisabledOnAdd=false&refresh=true" && 
curl -X PUT "http://localhost:40772/api/config/channels/scan?type=CS&setDisabledOnAdd=false&refresh=true"

#config.ymlのrecordedFileExtensionをm2tsからtsに変更すれば拡張子が変わる?

注意点は、

  • ユーザーIDとグループIDを取得してその数字でコンテナを動かすようにしているが、これで正しいのか不明。
  • バインドマウントの先が公式とは違うので、準備されたshは利用できないため、内容をチマチマと変更して実行する。
  • IPアドレスを指定してるのは、openvpnを通して繋ぐため、固定にしていたほうが接続しやすい。かも。
  • 8888番ポートを使ってepgstationに入るが、このポートをルーターで公開すると、全世界に制限なしに公開してしまうので、ルーターで8888番を切っておかないと捕まってしまいます。
  • さいごに記載しているcurlはチャンネル更新。かなり時間がかかります。地上波、BS、CSと繋いでるので、必要な部分だけやって下さい。
  • docker-compose upする前に、recordedFileExtension(つまり録画ファイルの拡張子)をTSに変更しておく。必要ない人はm2tsで録画される。

カテゴリー: Linux、サーバー, PC関連 | コメントする