diff options
author | Andrew Dolgov <[email protected]> | 2023-10-21 22:07:48 +0000 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2023-10-21 22:07:48 +0000 |
commit | a6c6ed0e3bdae7abdf8b6530231dd054679b0482 (patch) | |
tree | 93f123916eeb9a38cecdcecbf2dd5a9bf5e55259 | |
parent | eec4595fab3a23e560e46ec95c8ce8969fa35c8d (diff) |
Create InstallationDocker
-rw-r--r-- | InstallationDocker.md | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/InstallationDocker.md b/InstallationDocker.md new file mode 100644 index 0000000..0a9c86f --- /dev/null +++ b/InstallationDocker.md @@ -0,0 +1,138 @@ +The only supported way to run tt-rss is under Docker. You can use official images off Docker Hub (AMD64 only) or make your own if you're running another architecture or simply want to. + +This setup uses PostgreSQL and runs tt-rss using several containers as outlined below. + +## .env + +```ini +# Copy this file to .env before building the container. +# Put any local modifications here. + +# Run under this UID/GID. +# OWNER_UID=1000 +# OWNER_GID=1000 + +# 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= + +# 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 + +# 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 +``` + +## docker-compose.yml + +```yaml +version: '3' + +services: + db: + image: postgres:15-alpine + restart: unless-stopped + environment: + - POSTGRES_USER=${TTRSS_DB_USER} + - POSTGRES_PASSWORD=${TTRSS_DB_PASS} + - POSTGRES_DB=${TTRSS_DB_NAME} + volumes: + - db:/var/lib/postgresql/data + + app: + image: cthulhoo/ttrss-fpm-pgsql-static:latest + build: + dockerfile: .docker/app/Dockerfile + context: https://git.tt-rss.org/fox/tt-rss.git + restart: unless-stopped + env_file: + - .env + volumes: + - app:/var/www/html + - ./config.d:/opt/tt-rss/config.d:ro + depends_on: + - db + +# optional, makes weekly backups of your install +# backups: +# image: cthulhoo/ttrss-fpm-pgsql-static:latest +# restart: unless-stopped +# env_file: +# - .env +# volumes: +# - backups:/backups +# - app:/var/www/html +# depends_on: +# - db +# command: /opt/tt-rss/dcron.sh -f + + updater: + image: cthulhoo/ttrss-fpm-pgsql-static:latest + restart: unless-stopped + env_file: + - .env + volumes: + - app:/var/www/html + - ./config.d:/opt/tt-rss/config.d:ro + depends_on: + - app + command: /opt/tt-rss/updater.sh + + web-nginx: + image: cthulhoo/ttrss-web-nginx:latest + build: + dockerfile: .docker/web-nginx/Dockerfile + context: https://git.tt-rss.org/fox/tt-rss.git + restart: unless-stopped + env_file: + - .env + ports: + - ${HTTP_PORT}:80 + volumes: + - app:/var/www/html:ro + depends_on: + - app + +volumes: + db: + app: + backups: +``` |