サーバー設定の忘備録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関連 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA