こちらも公式のDockerをつかう。どうやら、しばらくしたら、dockerでの開発に移行するみたいなことがHPに書いてあるらしい。英語の得意な方はちゃんと読んで下さい。私は読んでないです。伝聞です。
Tiny Tiny RSS を Docker版に移行した | KUSONEKOの見る世界
こちらもまずはサンプルを。注意点は、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へと省略できるので、便利だと思います。