mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-09-17 02:12:55 +02:00
Add ttrss first init
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: ttrss
|
||||
namespace: argocd
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://github.com/rubenhensen/k8scd.git
|
||||
targetRevision: HEAD
|
||||
path: ttrss
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: ttrss
|
||||
syncPolicy:
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
# Put any local modifications here.
|
||||
|
||||
# Run FPM 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 on startup, 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 can customize other config.php defines by setting overrides here.
|
||||
# See tt-rss/.docker/app/Dockerfile for a complete list.
|
||||
|
||||
# You probably shouldn't disable auth_internal unless you know what you're doing.
|
||||
# TTRSS_PLUGINS=auth_internal,auth_remote
|
||||
# TTRSS_SINGLE_USER_MODE=true
|
||||
# TTRSS_SESSION_COOKIE_LIFETIME=2592000
|
||||
# TTRSS_FORCE_ARTICLE_PURGE=30
|
||||
# ...
|
||||
|
||||
# Bind exposed port to 127.0.0.1 to run behind reverse proxy on the same host.
|
||||
# If you plan to expose the container, remove "127.0.0.1:".
|
||||
HTTP_PORT=127.0.0.1:8280
|
||||
#HTTP_PORT=8280
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: app-claim1
|
||||
name: app-claim1
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadOnlyMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,63 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: app
|
||||
name: app
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: app
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: app
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: HTTP_PORT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: HTTP_PORT
|
||||
name: env
|
||||
- name: TTRSS_DB_NAME
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_NAME
|
||||
name: env
|
||||
- name: TTRSS_DB_PASS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_PASS
|
||||
name: env
|
||||
- name: TTRSS_DB_USER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_USER
|
||||
name: env
|
||||
image: cthulhoo/ttrss-fpm-pgsql-static:latest
|
||||
name: app
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: app
|
||||
- mountPath: /opt/tt-rss/config.d
|
||||
name: app-claim1
|
||||
readOnly: true
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: app
|
||||
persistentVolumeClaim:
|
||||
claimName: app
|
||||
- name: app-claim1
|
||||
persistentVolumeClaim:
|
||||
claimName: app-claim1
|
||||
readOnly: true
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: app
|
||||
name: app
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,59 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: db
|
||||
name: db
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: db
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: db
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: HTTP_PORT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: HTTP_PORT
|
||||
name: env
|
||||
- name: POSTGRES_DB
|
||||
- name: POSTGRES_PASSWORD
|
||||
- name: POSTGRES_USER
|
||||
- name: TTRSS_DB_NAME
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_NAME
|
||||
name: env
|
||||
- name: TTRSS_DB_PASS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_PASS
|
||||
name: env
|
||||
- name: TTRSS_DB_USER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_USER
|
||||
name: env
|
||||
image: postgres:15-alpine
|
||||
name: db
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/postgresql/data
|
||||
name: db
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: db
|
||||
persistentVolumeClaim:
|
||||
claimName: db
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: db
|
||||
name: db
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,112 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
|
||||
# see FAQ entry below if upgrading from a different PostgreSQL major version (e.g. 12 to 15):
|
||||
# https://tt-rss.org/wiki/InstallationNotes/#i-got-the-updated-compose-file-above-and-now-my-database-keeps-restarting
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
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
|
||||
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
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- ${HTTP_PORT}:80
|
||||
volumes:
|
||||
- app:/var/www/html:ro
|
||||
depends_on:
|
||||
- app
|
||||
|
||||
volumes:
|
||||
db:
|
||||
app:
|
||||
backups:
|
||||
|
||||
|
||||
# apiVersion: apps/v1
|
||||
# kind: Deployment
|
||||
# metadata:
|
||||
# name: sol-auth
|
||||
# spec:
|
||||
# replicas: 1
|
||||
# selector:
|
||||
# matchLabels:
|
||||
# app: sol-auth
|
||||
# template:
|
||||
# metadata:
|
||||
# labels:
|
||||
# app: sol-auth
|
||||
# spec:
|
||||
# # securityContext:
|
||||
# # runAsUser: 1000
|
||||
# # runAsGroup: 1000
|
||||
# # fsGroup: 1000
|
||||
# containers:
|
||||
# - image: hebury/sol-auth:2.3
|
||||
# name: sol-auth
|
||||
# resources:
|
||||
# requests:
|
||||
# memory: "50Mi"
|
||||
# limits:
|
||||
# memory: "500Mi"
|
||||
# ports:
|
||||
# - name: http
|
||||
# containerPort: 8002
|
||||
# hostPort: 8002
|
||||
# protocol: TCP
|
||||
# volumeMounts:
|
||||
# - name: config-volume
|
||||
# mountPath: /config/
|
||||
# volumes:
|
||||
# - name: config-volume
|
||||
# configMap:
|
||||
# name: httpd-conf
|
||||
# restartPolicy: Always
|
||||
# terminationGracePeriodSeconds: 5
|
||||
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
HTTP_PORT: 127.0.0.1:8280
|
||||
TTRSS_DB_NAME: postgres
|
||||
TTRSS_DB_PASS: password
|
||||
TTRSS_DB_USER: postgres
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: app-env
|
||||
name: env
|
||||
@@ -0,0 +1,34 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: argocd-server-ingress
|
||||
annotations:
|
||||
# nginx.ingress.kubernetes.io/rewrite-target: /
|
||||
cert-manager.io/cluster-issuer: prod-cluster-issuer
|
||||
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
||||
# If you encounter a redirect loop or are getting a 307 response code
|
||||
# then you need to force the nginx ingress to connect to the backend using HTTPS.
|
||||
#
|
||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||
namespace: ttrss
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: argocd.hensen.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: argocd-server
|
||||
port:
|
||||
name: "80"
|
||||
|
||||
# TLS configuration for HTTPS
|
||||
tls:
|
||||
# TLS secretName used on ClusterIssuer
|
||||
- secretName: letsencrypt-prod
|
||||
hosts:
|
||||
- rss.hensen.io
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: updater-claim1
|
||||
name: updater-claim1
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadOnlyMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,65 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: updater
|
||||
name: updater
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: updater
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: updater
|
||||
spec:
|
||||
containers:
|
||||
- args:
|
||||
- /opt/tt-rss/updater.sh
|
||||
env:
|
||||
- name: HTTP_PORT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: HTTP_PORT
|
||||
name: env
|
||||
- name: TTRSS_DB_NAME
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_NAME
|
||||
name: env
|
||||
- name: TTRSS_DB_PASS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_PASS
|
||||
name: env
|
||||
- name: TTRSS_DB_USER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_USER
|
||||
name: env
|
||||
image: cthulhoo/ttrss-fpm-pgsql-static:latest
|
||||
name: updater
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: app
|
||||
- mountPath: /opt/tt-rss/config.d
|
||||
name: updater-claim1
|
||||
readOnly: true
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: app
|
||||
persistentVolumeClaim:
|
||||
claimName: app
|
||||
- name: updater-claim1
|
||||
persistentVolumeClaim:
|
||||
claimName: updater-claim1
|
||||
readOnly: true
|
||||
@@ -0,0 +1,61 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: web-nginx
|
||||
name: web-nginx
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: web-nginx
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: web-nginx
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: HTTP_PORT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: HTTP_PORT
|
||||
name: env
|
||||
- name: TTRSS_DB_NAME
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_NAME
|
||||
name: env
|
||||
- name: TTRSS_DB_PASS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_PASS
|
||||
name: env
|
||||
- name: TTRSS_DB_USER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: TTRSS_DB_USER
|
||||
name: env
|
||||
image: cthulhoo/ttrss-web-nginx:latest
|
||||
name: web-nginx
|
||||
ports:
|
||||
- containerPort: 80
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: app
|
||||
readOnly: true
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: app
|
||||
persistentVolumeClaim:
|
||||
claimName: app
|
||||
readOnly: true
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: web-nginx
|
||||
name: web-nginx
|
||||
spec:
|
||||
ports:
|
||||
- name: "80"
|
||||
port: 80
|
||||
targetPort: 80
|
||||
selector:
|
||||
io.kompose.service: web-nginx
|
||||
Reference in New Issue
Block a user