summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stacks/news/.gitignore8
-rw-r--r--stacks/news/compose.yml56
-rw-r--r--stacks/news/env.example25
-rw-r--r--stacks/news/run.env.example34
4 files changed, 123 insertions, 0 deletions
diff --git a/stacks/news/.gitignore b/stacks/news/.gitignore
new file mode 100644
index 0000000..c581994
--- /dev/null
+++ b/stacks/news/.gitignore
@@ -0,0 +1,8 @@
+*.env
+data/
+db/
+extensions/
+certs/
+compose.test.yml
+config.custom.php
+
diff --git a/stacks/news/compose.yml b/stacks/news/compose.yml
new file mode 100644
index 0000000..e9963f5
--- /dev/null
+++ b/stacks/news/compose.yml
@@ -0,0 +1,56 @@
+## Template compose used for each stack.
+name: ${_STACK_0} # Explicit project name (do not rely on directory name)
+
+networks:
+ edge-net:
+ name: ${_NET_0}
+ external: true # All networks SHOULD be external in production.
+ db-net:
+ name: ${_NET_1}
+
+volumes:
+ rss-data:
+ name: ${VOLUME_0}
+ external: true
+ rss-db:
+ name: ${_VOLUME_1}
+ external: true # All volumes SHOULD be external in production.
+
+services:
+ rss:
+ container_name: ${_CONTAINER_0} # Name the containers explicitly.
+ image: freshrss/freshrss:latest
+ restart: unless-stopped
+ env_file:
+ # NOTE: .compose.env WILL override .env if there are overlapping values.
+ - .run.env # Runtime ENV
+ - .env # Compose ENV
+ volumes:
+ - rss-data:/var/www/FreshRSS/data
+ extra_hosts:
+ - "${OIDC_PROVIDER_DOMAIN}:${PROXY_IP}"
+ networks:
+ - edge-net
+ - db-net
+ expose:
+ - 80
+ healthcheck:
+ test: ["CMD", "cli/health.php"]
+ timeout: 10s
+ start_period: 60s
+ start_interval: 11s
+ interval: 75s
+ retries: 3
+ rss-db:
+ container_name: ${_CONTAINER_1} # Name the containers explicitly.
+ image: postgres:18
+ restart: unless-stopped
+ env_file:
+ - run.env # Runtime ENV
+ - .env # Compose ENV
+ volumes:
+ - rss-db:/var/lib/postgresql
+ networks:
+ - db-net
+ expose:
+ - 5432
diff --git a/stacks/news/env.example b/stacks/news/env.example
new file mode 100644
index 0000000..7781c65
--- /dev/null
+++ b/stacks/news/env.example
@@ -0,0 +1,25 @@
+#
+#
+# Stack Compose Variables
+
+# Namespaces
+_STACK_0=
+
+# Containers
+_CONTAINER_0=
+_CONTAINER_1=
+
+# Network
+_NET_0=
+_NET_1=
+
+# Volumes
+_VOLUME_0=
+_VOLUME_1=
+
+# UID/GID
+UID=
+GID=
+
+OIDC_PROVIDER_DOMAIN=
+PROXY_IP=
diff --git a/stacks/news/run.env.example b/stacks/news/run.env.example
new file mode 100644
index 0000000..6ccba27
--- /dev/null
+++ b/stacks/news/run.env.example
@@ -0,0 +1,34 @@
+#
+#
+# Stack Runtime Variables
+ADMIN_EMAIL=
+
+# General Settings
+# Formatted
+BASE_URL=https://sub.main.tld/subdir(?)
+SERVER_DNS=
+TZ=
+CRON_MIN=2,32
+FRESHRSS_ENV=production
+LISTEN=0.0.0.0:80
+# Put the reverse proxy's docker ip range here--v
+TRUSTED_PROXY=
+
+# Database
+POSTGRES_USER=
+POSTGRES_PASSWORD=
+# Put the name of the docker container for the database here--v
+DB_HOST=
+
+# OIDC Provider
+OIDC_ENABLED=0
+OIDC_PROVIDER_METADATA_URL=
+OIDC_CLIENT_ID=
+OIDC_CLIENT_SECRET=
+OIDC_CLIENT_CRYPTO_KEY=
+OIDC_REMOTE_USER_CLAIM=preferred_username
+OIDC_SCOPES=openid groups email profile
+OIDC_X_FORWARDED_HEADERS=X-Forwarded-Host X-Forwarded-Port X-Forwarded-Proto
+# OIDC_SESSION_INACTIVITY_TIMEOUT=
+# OIDC_SESSION_MAX_DURATION=
+# OIDC_SESSION_TYPE=