summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2023-10-21 22:07:48 +0000
committerAndrew Dolgov <[email protected]>2023-10-21 22:07:48 +0000
commita6c6ed0e3bdae7abdf8b6530231dd054679b0482 (patch)
tree93f123916eeb9a38cecdcecbf2dd5a9bf5e55259
parenteec4595fab3a23e560e46ec95c8ce8969fa35c8d (diff)
Create InstallationDocker
-rw-r--r--InstallationDocker.md138
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:
+```