add ryot
This commit is contained in:
@@ -210,7 +210,7 @@ homepage:
|
|||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
- Books:
|
- Books:
|
||||||
icon: calibre.svg
|
icon: calibre.svg
|
||||||
description: Calibre Content Server
|
description: Calibre OPDS
|
||||||
href: https://books.alexlebens.dev
|
href: https://books.alexlebens.dev
|
||||||
siteMonitor: https://books.alexlebens.dev
|
siteMonitor: https://books.alexlebens.dev
|
||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
@@ -245,6 +245,12 @@ homepage:
|
|||||||
href: https://penpot-cl01tl.boreal-beaufort.ts.net
|
href: https://penpot-cl01tl.boreal-beaufort.ts.net
|
||||||
siteMonitor: http://penpot-frontend.penpot:80
|
siteMonitor: http://penpot-frontend.penpot:80
|
||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
|
- Media Tracker:
|
||||||
|
icon: calibre.png
|
||||||
|
description: Ryot
|
||||||
|
href: https://raw.githubusercontent.com/IgnisDa/ryot/main/docs/logo.png
|
||||||
|
siteMonitor: http://ryot.ryot:80
|
||||||
|
statusStyle: dot
|
||||||
- Calibre Server:
|
- Calibre Server:
|
||||||
icon: calibre.png
|
icon: calibre.png
|
||||||
description: Calibre Content Server
|
description: Calibre Content Server
|
||||||
|
27
clusters/cl01tl/applications/ryot/Chart.yaml
Normal file
27
clusters/cl01tl/applications/ryot/Chart.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: ryot
|
||||||
|
version: 1.0.0
|
||||||
|
description: Ryot
|
||||||
|
keywords:
|
||||||
|
- ryot
|
||||||
|
- tracker
|
||||||
|
home: https://wiki.alexlebens.dev/doc/ryot-hIylymbPGj
|
||||||
|
sources:
|
||||||
|
- https://github.com/IgnisDa/ryot
|
||||||
|
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||||
|
- https://github.com/ignisda/ryot/pkgs/container/ryot
|
||||||
|
- https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
|
||||||
|
- https://github.com/alexlebens/helm-charts/charts/postgres-cluster
|
||||||
|
maintainers:
|
||||||
|
- name: alexlebens
|
||||||
|
dependencies:
|
||||||
|
- name: app-template
|
||||||
|
alias: ryot
|
||||||
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
|
version: 3.3.2
|
||||||
|
- name: postgres-cluster
|
||||||
|
alias: postgres-16-cluster
|
||||||
|
version: 3.9.0
|
||||||
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
|
icon: https://raw.githubusercontent.com/IgnisDa/ryot/main/docs/logo.png
|
||||||
|
appVersion: v6.11.0
|
@@ -0,0 +1,30 @@
|
|||||||
|
apiVersion: external-secrets.io/v1beta1
|
||||||
|
kind: ExternalSecret
|
||||||
|
metadata:
|
||||||
|
name: ryot-postgresql-16-cluster-backup-secret
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: ryot-postgresql-16-cluster-backup-secret
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/component: database
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
secretStoreRef:
|
||||||
|
kind: ClusterSecretStore
|
||||||
|
name: vault
|
||||||
|
data:
|
||||||
|
- secretKey: ACCESS_KEY_ID
|
||||||
|
remoteRef:
|
||||||
|
conversionStrategy: Default
|
||||||
|
decodingStrategy: None
|
||||||
|
key: /aws/keys/cl01tl-ryot-postgresql
|
||||||
|
metadataPolicy: None
|
||||||
|
property: access_key
|
||||||
|
- secretKey: ACCESS_SECRET_KEY
|
||||||
|
remoteRef:
|
||||||
|
conversionStrategy: Default
|
||||||
|
decodingStrategy: None
|
||||||
|
key: /aws/keys/cl01tl-ryot-postgresql
|
||||||
|
metadataPolicy: None
|
||||||
|
property: secret_key
|
344
clusters/cl01tl/applications/ryot/values.yaml
Normal file
344
clusters/cl01tl/applications/ryot/values.yaml
Normal file
@@ -0,0 +1,344 @@
|
|||||||
|
ryot:
|
||||||
|
controllers:
|
||||||
|
main:
|
||||||
|
type: deployment
|
||||||
|
replicas: 1
|
||||||
|
strategy: Recreate
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/ignisda/ryot
|
||||||
|
tag: v6.11.0
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: US/Central
|
||||||
|
- name: DATABASE_URL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: ryot-postgresql-16-cluster-app
|
||||||
|
key: uri
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 256Mi
|
||||||
|
serviceAccount:
|
||||||
|
create: true
|
||||||
|
configMaps:
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
data:
|
||||||
|
ryot.yaml: |
|
||||||
|
# Settings related to anime and manga.
|
||||||
|
anime_and_manga:
|
||||||
|
# Settings related to Anilist.
|
||||||
|
anilist:
|
||||||
|
# Whether to prefer the english name for media from this source.
|
||||||
|
# @deprecated
|
||||||
|
# @envvar ANIME_AND_MANGA_ANILIST_PREFER_ENGLISH
|
||||||
|
prefer_english: false
|
||||||
|
|
||||||
|
# The preferred language for media from this source.
|
||||||
|
# @envvar ANIME_AND_MANGA_ANILIST_PREFERRED_LANGUAGE
|
||||||
|
preferred_language: "native"
|
||||||
|
|
||||||
|
# Settings related to MAL.
|
||||||
|
mal:
|
||||||
|
# The client ID to be used for the MAL API.
|
||||||
|
# @envvar ANIME_AND_MANGA_MAL_CLIENT_ID
|
||||||
|
client_id: ""
|
||||||
|
|
||||||
|
# Settings related to MangaUpdates.
|
||||||
|
manga_updates: {}
|
||||||
|
|
||||||
|
# Settings related to audio books.
|
||||||
|
audio_books:
|
||||||
|
# Settings related to Audible.
|
||||||
|
audible:
|
||||||
|
# Settings related to locale for making requests Audible.
|
||||||
|
# @envvar AUDIO_BOOKS_AUDIBLE_LOCALE
|
||||||
|
locale: "us"
|
||||||
|
|
||||||
|
# Settings related to books.
|
||||||
|
books:
|
||||||
|
# Settings related to Google Books.
|
||||||
|
google_books:
|
||||||
|
# The API key to be used for the Google Books API.
|
||||||
|
# @envvar BOOKS_GOOGLE_BOOKS_API_KEY
|
||||||
|
api_key: ""
|
||||||
|
|
||||||
|
# Whether to pass the raw query string to the search API.
|
||||||
|
# @envvar BOOKS_GOOGLE_BOOKS_PASS_RAW_QUERY
|
||||||
|
pass_raw_query: false
|
||||||
|
|
||||||
|
# Settings related to Openlibrary.
|
||||||
|
openlibrary:
|
||||||
|
# The image sizes to fetch from Openlibrary.
|
||||||
|
# @envvar BOOKS_OPENLIBRARY_COVER_IMAGE_SIZE
|
||||||
|
cover_image_size: "M"
|
||||||
|
|
||||||
|
# The database related settings.
|
||||||
|
database:
|
||||||
|
# The Postgres database connection string.
|
||||||
|
# Format described in https://www.sea-ql.org/SeaORM/docs/install-and-config/connection/#postgres.
|
||||||
|
# @envvar DATABASE_URL
|
||||||
|
url: ""
|
||||||
|
|
||||||
|
# Whether to disable telemetry.
|
||||||
|
# @envvar DISABLE_TELEMETRY
|
||||||
|
disable_telemetry: false
|
||||||
|
|
||||||
|
# Settings related to exercises.
|
||||||
|
exercise: {}
|
||||||
|
|
||||||
|
# Settings related to file storage.
|
||||||
|
file_storage:
|
||||||
|
# The access key ID for the S3 compatible file storage. **Required** to
|
||||||
|
# enable file storage.
|
||||||
|
# @envvar FILE_STORAGE_S3_ACCESS_KEY_ID
|
||||||
|
s3_access_key_id: ""
|
||||||
|
|
||||||
|
# The name of the S3 compatible bucket. **Required** to enable file storage.
|
||||||
|
# @envvar FILE_STORAGE_S3_BUCKET_NAME
|
||||||
|
s3_bucket_name: ""
|
||||||
|
|
||||||
|
# The region for the S3 compatible file storage.
|
||||||
|
# @envvar FILE_STORAGE_S3_REGION
|
||||||
|
s3_region: "us-east-1"
|
||||||
|
|
||||||
|
# The secret access key for the S3 compatible file storage. **Required**
|
||||||
|
# to enable file storage.
|
||||||
|
# @envvar FILE_STORAGE_S3_SECRET_ACCESS_KEY
|
||||||
|
s3_secret_access_key: ""
|
||||||
|
|
||||||
|
# The URL for the S3 compatible file storage.
|
||||||
|
# @envvar FILE_STORAGE_S3_URL
|
||||||
|
s3_url: ""
|
||||||
|
|
||||||
|
# Settings related to frontend storage.
|
||||||
|
frontend:
|
||||||
|
# A message to be displayed on the dashboard.
|
||||||
|
# @envvar FRONTEND_DASHBOARD_MESSAGE
|
||||||
|
dashboard_message: ""
|
||||||
|
|
||||||
|
# The button label for OIDC authentication.
|
||||||
|
# @envvar FRONTEND_OIDC_BUTTON_LABEL
|
||||||
|
oidc_button_label: "Continue with OpenID Connect"
|
||||||
|
|
||||||
|
# The number of items to display in a list view.
|
||||||
|
# @envvar FRONTEND_PAGE_SIZE
|
||||||
|
page_size: 20
|
||||||
|
|
||||||
|
# Settings related to Umami analytics.
|
||||||
|
umami:
|
||||||
|
# @envvar FRONTEND_UMAMI_DOMAINS
|
||||||
|
domains: ""
|
||||||
|
|
||||||
|
# For example: https://umami.is/script.js.
|
||||||
|
# @envvar FRONTEND_UMAMI_SCRIPT_URL
|
||||||
|
script_url: ""
|
||||||
|
|
||||||
|
# @envvar FRONTEND_UMAMI_WEBSITE_ID
|
||||||
|
website_id: ""
|
||||||
|
|
||||||
|
# Used as the base URL when generating item links for the frontend.
|
||||||
|
# @envvar FRONTEND_URL
|
||||||
|
url: "https://pro.ryot.io"
|
||||||
|
|
||||||
|
# Settings related to external integrations.
|
||||||
|
integration:
|
||||||
|
# Sync data from push and yank based integrations every `n` minutes.
|
||||||
|
# @envvar INTEGRATION_SYNC_EVERY_MINUTES
|
||||||
|
sync_every_minutes: 5
|
||||||
|
|
||||||
|
# Settings related to media.
|
||||||
|
media:
|
||||||
|
# Number of days after which a media should be removed from the Monitoring collection.
|
||||||
|
# @envvar MEDIA_MONITORING_REMOVE_AFTER_DAYS
|
||||||
|
monitoring_remove_after_days: 30
|
||||||
|
|
||||||
|
# Settings related to movies and shows.
|
||||||
|
movies_and_shows:
|
||||||
|
# Settings related to TMDB.
|
||||||
|
tmdb:
|
||||||
|
# The access token for the TMDB API.
|
||||||
|
# @envvar MOVIES_AND_SHOWS_TMDB_ACCESS_TOKEN
|
||||||
|
access_token: ""
|
||||||
|
|
||||||
|
# The locale to use for making requests to TMDB API.
|
||||||
|
# @envvar MOVIES_AND_SHOWS_TMDB_LOCALE
|
||||||
|
locale: "en"
|
||||||
|
|
||||||
|
# Settings related to podcasts.
|
||||||
|
podcasts:
|
||||||
|
# Settings related to iTunes.
|
||||||
|
itunes:
|
||||||
|
# The locale to use for making requests to iTunes API.
|
||||||
|
# @envvar PODCASTS_ITUNES_LOCALE
|
||||||
|
locale: "en_us"
|
||||||
|
|
||||||
|
# Settings related to Listennotes.
|
||||||
|
listennotes:
|
||||||
|
# The access token for the Listennotes API.
|
||||||
|
# @envvar PODCASTS_LISTENNOTES_API_TOKEN
|
||||||
|
api_token: ""
|
||||||
|
|
||||||
|
# Settings related to scheduler.
|
||||||
|
scheduler:
|
||||||
|
# The number of jobs to process every 5 seconds when updating metadata in
|
||||||
|
# the background.
|
||||||
|
# @envvar SCHEDULER_RATE_LIMIT_NUM
|
||||||
|
rate_limit_num: 5
|
||||||
|
|
||||||
|
# Settings related to server.
|
||||||
|
server:
|
||||||
|
# An access token that can be used for admin operations.
|
||||||
|
# @envvar SERVER_ADMIN_ACCESS_TOKEN
|
||||||
|
admin_access_token: ""
|
||||||
|
|
||||||
|
# An array of URLs for CORS.
|
||||||
|
# @envvar SERVER_CORS_ORIGINS
|
||||||
|
cors_origins: []
|
||||||
|
|
||||||
|
# Disable all background jobs.
|
||||||
|
# @envvar SERVER_DISABLE_BACKGROUND_JOBS
|
||||||
|
disable_background_jobs: false
|
||||||
|
|
||||||
|
# Whether the graphql playground will be enabled.
|
||||||
|
# @envvar SERVER_GRAPHQL_PLAYGROUND_ENABLED
|
||||||
|
graphql_playground_enabled: true
|
||||||
|
|
||||||
|
# The maximum file size in MB for user uploads.
|
||||||
|
# @envvar SERVER_MAX_FILE_SIZE
|
||||||
|
max_file_size: 70
|
||||||
|
|
||||||
|
# The OIDC related settings.
|
||||||
|
oidc:
|
||||||
|
# @envvar SERVER_OIDC_CLIENT_ID
|
||||||
|
client_id: ""
|
||||||
|
|
||||||
|
# @envvar SERVER_OIDC_CLIENT_SECRET
|
||||||
|
client_secret: ""
|
||||||
|
|
||||||
|
# @envvar SERVER_OIDC_ISSUER_URL
|
||||||
|
issuer_url: ""
|
||||||
|
|
||||||
|
# The hours in which a media can be marked as seen again for a user. This
|
||||||
|
# is used so that the same media can not be used marked as started when
|
||||||
|
# it has been already marked as seen in the last `n` hours.
|
||||||
|
# @envvar SERVER_PROGRESS_UPDATE_THRESHOLD
|
||||||
|
progress_update_threshold: 2
|
||||||
|
|
||||||
|
# Number of seconds to sleep before starting the server.
|
||||||
|
# @envvar SERVER_SLEEP_BEFORE_STARTUP_SECONDS
|
||||||
|
sleep_before_startup_seconds: 0
|
||||||
|
|
||||||
|
# The mailer related settings.
|
||||||
|
smtp:
|
||||||
|
# @envvar SERVER_SMTP_MAILBOX
|
||||||
|
mailbox: "Ryot <no-reply@mailer.io>"
|
||||||
|
|
||||||
|
# @envvar SERVER_SMTP_PASSWORD
|
||||||
|
password: ""
|
||||||
|
|
||||||
|
# @envvar SERVER_SMTP_SERVER
|
||||||
|
server: ""
|
||||||
|
|
||||||
|
# @envvar SERVER_SMTP_USER
|
||||||
|
user: ""
|
||||||
|
|
||||||
|
# Settings related to users.
|
||||||
|
users:
|
||||||
|
# Whether new users will be allowed to sign up to this instance.
|
||||||
|
# @envvar USERS_ALLOW_REGISTRATION
|
||||||
|
allow_registration: true
|
||||||
|
|
||||||
|
# Whether to disable local user authentication completely.
|
||||||
|
# @envvar USERS_DISABLE_LOCAL_AUTH
|
||||||
|
disable_local_auth: false
|
||||||
|
|
||||||
|
# The secret used for generating JWT tokens.
|
||||||
|
# @envvar USERS_JWT_SECRET
|
||||||
|
jwt_secret: ""
|
||||||
|
|
||||||
|
# The number of days till login authentication token is valid.
|
||||||
|
# @envvar USERS_TOKEN_VALID_FOR_DAYS
|
||||||
|
token_valid_for_days: 90
|
||||||
|
|
||||||
|
# Settings related to video games.
|
||||||
|
video_games:
|
||||||
|
# Settings related to IGDB.
|
||||||
|
igdb:
|
||||||
|
# The image sizes to fetch from IGDB.
|
||||||
|
# @envvar VIDEO_GAMES_IGDB_IMAGE_SIZE
|
||||||
|
image_size: "t_original"
|
||||||
|
|
||||||
|
# Settings related to Twitch.
|
||||||
|
twitch:
|
||||||
|
# The client ID issues by Twitch. **Required** to enable video games
|
||||||
|
# tracking. [More information](/docs/guides/video-games.md).
|
||||||
|
# @envvar VIDEO_GAMES_TWITCH_CLIENT_ID
|
||||||
|
client_id: ""
|
||||||
|
|
||||||
|
# The client secret issued by Twitch. **Required** to enable video games
|
||||||
|
# tracking.
|
||||||
|
# @envvar VIDEO_GAMES_TWITCH_CLIENT_SECRET
|
||||||
|
client_secret: ""
|
||||||
|
|
||||||
|
# Settings related to visual novels.
|
||||||
|
visual_novels: {}
|
||||||
|
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
controller: main
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 80
|
||||||
|
targetPort: 8000
|
||||||
|
protocol: HTTP
|
||||||
|
ingress:
|
||||||
|
tailscale:
|
||||||
|
enabled: true
|
||||||
|
className: tailscale
|
||||||
|
hosts:
|
||||||
|
- host: ryot-cl01tl
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
name: ryot
|
||||||
|
port: 80
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- ryot-cl01tl
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
type: configMap
|
||||||
|
name: ryot-config
|
||||||
|
advancedMounts:
|
||||||
|
main:
|
||||||
|
main:
|
||||||
|
- path: /home/ryot/config/ryot.yaml
|
||||||
|
readOnly: true
|
||||||
|
mountPropagation: None
|
||||||
|
subPath: ryot.yaml
|
||||||
|
postgres-16-cluster:
|
||||||
|
mode: standalone
|
||||||
|
cluster:
|
||||||
|
walStorage:
|
||||||
|
storageClass: local-path
|
||||||
|
storage:
|
||||||
|
storageClass: local-path
|
||||||
|
monitoring:
|
||||||
|
enabled: true
|
||||||
|
prometheusRule:
|
||||||
|
enabled: false
|
||||||
|
backup:
|
||||||
|
enabled: true
|
||||||
|
endpointURL: https://s3.us-east-2.amazonaws.com
|
||||||
|
destinationPath: s3://cl01tl-postgresql-backups/ryot
|
||||||
|
endpointCredentials: ryot-postgresql-16-cluster-backup-secret
|
||||||
|
backupIndex: 1
|
||||||
|
retentionPolicy: 14d
|
Reference in New Issue
Block a user