211 lines
11 KiB
YAML
211 lines
11 KiB
YAML
---
|
|
configs:
|
|
|
|
komf-application-yaml:
|
|
content: |
|
|
komga:
|
|
#baseUri: http://192.168.0.106:25600 #or env:KOMF_KOMGA_BASE_URI
|
|
#komgaUser: admin@example.org #or env:KOMF_KOMGA_USER
|
|
#komgaPassword: admin #or env:KOMF_KOMGA_PASSWORD
|
|
eventListener:
|
|
enabled: true # if disabled will not connect to komga and won't pick up newly added entries
|
|
metadataLibraryFilter: [ ] # listen to all events if empty
|
|
metadataSeriesExcludeFilter: [ ]
|
|
notificationsLibraryFilter: [ ] # Will send notifications if any notification source is enabled. If empty will send notifications for all libraries
|
|
metadataUpdate:
|
|
default:
|
|
libraryType: "MANGA" # Can be "MANGA", "NOVEL" or "COMIC". Hint to help better match book numbers
|
|
updateModes: [ API ] # can use multiple options at once. available options are API, COMIC_INFO
|
|
aggregate: false # if enabled will search and aggregate metadata from all configured providers
|
|
mergeTags: false # if true and aggregate is enabled will merge tags from all providers
|
|
mergeGenres: false # if true and aggregate is enabled will merge genres from all providers
|
|
bookCovers: true # update book thumbnails
|
|
seriesCovers: true # update series thumbnails
|
|
overrideExistingCovers: true # if false will upload but not select new cover if another cover already exists
|
|
overrideComicInfo: true # Replace existing ComicInfo file. If false, only append additional data
|
|
postProcessing:
|
|
seriesTitle: true # update series title
|
|
seriesTitleLanguage: "en" # series title update language. If empty chose first matching title
|
|
fallbackToAltTitle: false # fallback to first alternative tile if series title is not found
|
|
alternativeSeriesTitles: false # use other title types as alternative title option
|
|
alternativeSeriesTitleLanguages: # alternative title languages
|
|
- "en"
|
|
- "ja"
|
|
- "ja-ro"
|
|
orderBooks: true # will order books using parsed volume or chapter number
|
|
scoreTagName: "score" # adds score tag of specified format e.g. "score: 8" only uses integer part of rating. Can be used in search using query: tag:"score: 8" in komga
|
|
readingDirectionValue: # override reading direction for all series. should be one of these: LEFT_TO_RIGHT, RIGHT_TO_LEFT, VERTICAL, WEBTOON
|
|
languageValue: # set default language for series. Must use BCP 47 format e.g. "en"
|
|
#TagName: if specified and if provider has data about publisher in that language then additional tag will be added using format ({TagName}: publisherName)
|
|
#e.g. originalPublisherTagName: "Original Publisher" will add tag "Original Publisher: Shueisha"
|
|
originalPublisherTagName:
|
|
#publisherTagNames:
|
|
# - tagName: "English Publisher"
|
|
# language: "en"
|
|
|
|
kavita:
|
|
baseUri: "http://localhost:5000" #or env:KOMF_KAVITA_BASE_URI
|
|
apiKey: "16707507-d05d-4696-b126-c3976ae14ffb" #or env:KOMF_KAVITA_API_KEY
|
|
eventListener:
|
|
enabled: false # if disabled will not connect to kavita and won't pick up newly added entries
|
|
metadataLibraryFilter: [ ] # listen to all events if empty
|
|
metadataSeriesExcludeFilter: [ ]
|
|
notificationsLibraryFilter: [ ] # Will send notifications if any notification source is enabled. If empty will send notifications for all libraries
|
|
metadataUpdate:
|
|
default:
|
|
libraryType: "MANGA" # Can be "MANGA", "NOVEL" or "COMIC". Hint to help better match book numbers
|
|
updateModes: [ API ] # can use multiple options at once. available options are API, COMIC_INFO
|
|
aggregate: false # if enabled will search and aggregate metadata from all configured providers
|
|
mergeTags: false # if true and aggregate is enabled will merge tags from all providers
|
|
mergeGenres: false # if true and aggregate is enabled will merge genres from all providers
|
|
bookCovers: false #update book thumbnails
|
|
seriesCovers: false #update series thumbnails
|
|
overrideExistingCovers: true # if false will upload but not select new cover if another cover already exists
|
|
lockCovers: true # lock cover images so that kavita does not change them
|
|
postProcessing:
|
|
seriesTitle: false #update series title
|
|
seriesTitleLanguage: "en" # series title update language. If empty chose first matching title
|
|
alternativeSeriesTitles: false # use other title types as alternative title option
|
|
alternativeSeriesTitleLanguages: # alternative title language. Only first language is used. Use single value for consistency
|
|
- "ja-ro"
|
|
orderBooks: false # will order books using parsed volume or chapter number. works only with COMIC_INFO
|
|
languageValue: # set default language for series. Must use BCP 47 format e.g. "en"
|
|
|
|
notifications:
|
|
templatesDirectory: "./" # path to a directory with templates
|
|
discord:
|
|
# List of discord webhook urls. Will call these webhooks after series or books were added.
|
|
webhooks: # config example: webhooks: ["https://discord.com/api/webhooks/9..."] (env:KOMF_DISCORD_WEBHOOKS - comma separated list of webhooks)
|
|
seriesCover: false # include series cover in message
|
|
embedColor: "1F8B4C"
|
|
apprise:
|
|
# List of apprise urls. Will call these after series or books were added.
|
|
urls:
|
|
seriesCover: false # include series cover as attachment
|
|
|
|
database:
|
|
file: ./database.sqlite # database file location.
|
|
|
|
metadataProviders:
|
|
malClientId: "" # required for mal provider. See https://myanimelist.net/forum/?topicid=1973077 env:KOMF_METADATA_PROVIDERS_MAL_CLIENT_ID
|
|
comicVineApiKey: # required for comicVine provider https://comicvine.gamespot.com/api/ env:KOMF_METADATA_PROVIDERS_COMIC_VINE_API_KEY
|
|
bangumiToken: # bangumi provider require a token to show nsfw items https://next.bgm.tv/demo/access-token env:KOMF_METADATA_PROVIDERS_BANGUMI_TOKEN
|
|
defaultProviders:
|
|
mangaUpdates:
|
|
priority: 10
|
|
enabled: true
|
|
mediaType: "MANGA" # filter used in matching. Can be NOVEL or MANGA. MANGA type includes everything except novels
|
|
authorRoles: [ "WRITER" ] # roles that will be mapped to author role
|
|
artistRoles: [ "PENCILLER","INKER","COLORIST","LETTERER","COVER" ] # roles that will be mapped to artist role
|
|
mal:
|
|
priority: 20
|
|
enabled: false
|
|
mediaType: "MANGA" # filter used in matching. Can be NOVEL or MANGA. MANGA type includes everything except novels
|
|
nautiljon:
|
|
priority: 30
|
|
enabled: false
|
|
aniList:
|
|
priority: 40
|
|
enabled: false
|
|
mediaType: "MANGA" # filter used in matching. Can be NOVEL or MANGA. MANGA type includes everything except novels
|
|
tagsScoreThreshold: 60 # tags with this score or higher will be included
|
|
tagsSizeLimit: 15 # amount of tags that will be included
|
|
yenPress:
|
|
priority: 50
|
|
enabled: false
|
|
mediaType: "MANGA" # filter used in matching. Can be NOVEL or MANGA.
|
|
kodansha:
|
|
priority: 60
|
|
enabled: false
|
|
viz:
|
|
priority: 70
|
|
enabled: false
|
|
bookWalker:
|
|
priority: 80
|
|
enabled: false
|
|
mediaType: "MANGA" # filter used in matching. Can be NOVEL or MANGA.
|
|
mangaDex:
|
|
priority: 90
|
|
enabled: false
|
|
coverLanguages:
|
|
- "en"
|
|
- "ja"
|
|
bangumi: # Chinese metadata provider. https://bgm.tv/
|
|
priority: 100
|
|
enabled: false
|
|
comicVine: # https://comicvine.gamespot.com/ requires API key. Experimental provider, can mismatch issue numbers
|
|
priority: 110
|
|
enabled: false
|
|
hentag:
|
|
priority: 120
|
|
enabled: false
|
|
|
|
server:
|
|
port: 8085 # or env:KOMF_SERVER_PORT
|
|
|
|
logLevel: INFO # or env:KOMF_LOG_LEVEL
|
|
komga-config:
|
|
content: |
|
|
spring:
|
|
security:
|
|
oauth2:
|
|
client:
|
|
registration:
|
|
authentik:
|
|
provider: authentik
|
|
client-id: 4CsVDypjllNpB6oaqBh8JNVtRt5kFIzIQcjtJFCo
|
|
client-secret: nknziTm88F8AM6qW5NTelvtRYKG50pw8dACUXgz6fa3apDA6ATkxjbABgEdfHZWs97PFwRyVTr55bcApRqwrtmDefJMlJk1oYeOxhH6DA2oyiDXfXjfR2zVjZLMArnIC
|
|
client-name: authentik
|
|
scope: openid,email,profile
|
|
authorization-grant-type: authorization_code
|
|
redirect-uri: "{baseUrl}/{action}/oauth2/code/{registrationId}"
|
|
provider:
|
|
authentik:
|
|
user-name-attribute: sub
|
|
issuer-uri: https://authentik.kucharczyk.xyz/application/o/komga/
|
|
services:
|
|
komga:
|
|
image: gotson/komga:1.20.0
|
|
container_name: komga
|
|
depends_on:
|
|
- authentik-server
|
|
networks:
|
|
public:
|
|
ipv4_address: 192.168.240.34
|
|
ports:
|
|
- "25600:25600"
|
|
labels:
|
|
caddy: comic.${DOMAIN}
|
|
caddy.reverse_proxy: "{{ upstreams 25600 }}"
|
|
volumes:
|
|
- "${DOCKER_STORAGE_PATH}/komga:/config"
|
|
- "${COMIC_PATH}:/data"
|
|
- "${TORRENTS_SEED_PATH}:/import"
|
|
configs:
|
|
- source: komga-config
|
|
target: /config/application.yml
|
|
restart: unless-stopped
|
|
komf:
|
|
image: sndxr/komf:1.3.0
|
|
container_name: komf
|
|
networks:
|
|
public:
|
|
ipv4_address: 192.168.240.54
|
|
user: 1000:100
|
|
ports:
|
|
- "8085:8085"
|
|
environment:
|
|
- KOMF_KOMGA_BASE_URI=http://komga:25600
|
|
- KOMF_KOMGA_USER=lukas@kucharczyk.xyz
|
|
- KOMF_KOMGA_PASSWORD=kRalovna12514265!
|
|
- KOMF_KAVITA_BASE_URI=http://kavita:${KAVITA_INTERNAL_PORT}
|
|
- KOMF_KAVITA_API_KEY=c8023836-7aab-46ed-9409-c24b950002d4
|
|
- KOMF_LOG_LEVEL=INFO
|
|
- JAVA_TOOL_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact -XX:ShenandoahGuaranteedGCInterval=3600000 -XX:TrimNativeHeapInterval=3600000
|
|
configs:
|
|
- source: komf-application-yaml
|
|
target: /config/application.yml
|
|
volumes:
|
|
- "${DOCKER_STORAGE_PATH}/komf/config:/config"
|
|
restart: unless-stopped
|