diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index fc0404de..91507805 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -17,7 +17,7 @@ on: schedule: # The "*" (#42, asterisk) character has special semantics in YAML, so this # string has to be quoted. - - cron: '0/15 * * * *' + - cron: '0/30 * * * *' jobs: renovate: runs-on: ubuntu-latest @@ -25,6 +25,9 @@ jobs: - name: Checkout uses: actions/checkout@v2.0.0 - name: Self-hosted Renovate - uses: renovatebot/github-action@v32.118.0 + uses: renovatebot/github-action@v36.0.4 with: token: ${{ secrets.RENOVATE_TOKEN }} + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 382433b6..21db3dbf 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules/ package-lock.json github.secrets .DS_Store +.nova \ No newline at end of file diff --git a/README.md b/README.md index 6c01a53e..3a062b9a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ This is the official repository for the Tipi App Store. It contains all the apps ## Apps available +- [Actual Budget](https://github.com/actualbudget/actual-server) - Local-first OpenSource Budget tool - [Adguard Home](https://github.com/AdguardTeam/AdGuardHome) - Adguard Home DNS adblocker - [autobrr](https://github.com/autobrr/autobrr) - Automation for downloads. - [Barrage](https://github.com/maulik9898/barrage) - Minimal Deluge WebUI with full mobile support @@ -32,9 +33,11 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Gitea](https://github.com/go-gitea/gitea) - Gitea - A painless self-hosted Git service - [Gladys Assistant](https://github.com/gladysassistant/gladys) - A privacy-first, open-source home assistant - [Gotify](https://github.com/gotify/server) - Gotify - Simple server for sending and receiving notification messages +-[GoToSocial](https://github.com/superseriousbusiness/gotosocial) - Fast, fun, ActivityPub server, powered by Go. - [Grafana](https://github.com/grafana/grafana) - The open and composable observability and data visualization platform - [Grav](https://github.com/getgrav/grav) - Fast, Simple, and Flexible, file-based Web-platform. - [Grocy](https://github.com/grocy/grocy) - Grocy - ERP beyond your fridge +- [Hammond](https://github.com/akhilrex/hammond) - Self hosted vehicle and expense management system. - [Haven](https://github.com/havenweb/haven) - Haven is a self-hosted private blog and feedreader you can use instead of Facebook - [Headscale](https://github.com/juanfont/headscale) - An open source, self-hosted implementation of the Tailscale control server - [HedgeDoc](https://github.com/hedgedoc/hedgedoc) - A Collaborative Markdown and Note Taking App @@ -48,11 +51,13 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Jellyfin](https://github.com/jellyfin/jellyfin) - A media server for your home collection - [Jellyseerr](https://github.com/Fallenbagel/jellyseerr) - Fork of overseerr for Jellyfin support - [Joplin](https://github.com/laurent22/joplin) - Privacy focused note-taking app +- [Kanboard](https://github.com/kanboard/kanboard) - Kanboard is a free and open source Kanban project management software. - [Kavita](https://github.com/Kareadita/Kavita) - Kavita is a fast, feature rich, cross platform reading server - [Libreddit](https://github.com/spikecodes/libreddit) - Private front-end for Reddit - [LibrePhotos](https://github.com/LibrePhotos/librephotos) - Complete photo management service - [LibreTranslate](https://github.com/LibreTranslate/LibreTranslate) - Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup - [Lidarr](https://github.com/Lidarr/Lidarr) - Looks and smells like Sonarr but made for music. +- [Lidarr On Steroids](https://github.com/youegraillot/lidarr-on-steroids) - Lidarr with some muscles thanks to deemix - [Littlelink Custom](https://github.com/JulianPrieber/littlelink-custom) - LittleLink Custom - the ultimate solution for creating a personalized & professional profile page. - [Lodestone Core](https://github.com/Lodestone-Team/lodestone_core) - Server hosting tool for Minecraft and other multiplayers - [Mealie](https://github.com/hay-kot/mealie) - Self-hosted recipe manager and meal planner. @@ -77,6 +82,8 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Openbooks](https://github.com/evan-buss/openbooks) - Search and Download eBooks - [Overseerr](https://github.com/sct/overseerr) - Request management and media discovery tool for the Plex ecosystem - [Owncloud](https://github.com/owncloud/core) - A personal cloud which runs on your own server. +- [PairDrop](https://github.com/schlagmichdoch/PairDrop) - Local file sharing in your browser. Inspired by Apple's AirDrop. +- [Paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) - Document Management System (DMS) - [Peppermint](https://github.com/Peppermint-Lab/peppermint) - An open source ticket management & help desk solution. - [Photoprism](https://github.com/photoprism/photoprism) - AI-Powered Photos App for the Decentralized Web. We are on a mission to protect your freedom and privacy. - [Pihole](https://github.com/pi-hole/pi-hole) - A black hole for Internet advertisements diff --git a/apps/actual-budget/config.json b/apps/actual-budget/config.json new file mode 100644 index 00000000..60625601 --- /dev/null +++ b/apps/actual-budget/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "../schema.json", + "name": "Actual Budget", + "available": true, + "exposable": true, + "port": 8011, + "id": "actual-budget", + "tipi_version": 2, + "version": "23.5.0", + "categories": [ + "finance" + ], + "description": "Actual is a local-first personal finance tool. It is 100% free and open-source, written in NodeJS, it has a synchronization element so that all your changes can move between devices without any heavy lifting.", + "short_desc": "Local-first OpenSource Budget tool", + "author": "Shift Reset LLC", + "source": "https://github.com/actualbudget/actual-server", + "form_fields": [] +} diff --git a/apps/actual-budget/docker-compose.yml b/apps/actual-budget/docker-compose.yml new file mode 100644 index 00000000..01884728 --- /dev/null +++ b/apps/actual-budget/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3.9' +services: + actual-budget: + container_name: actual-budget + image: actualbudget/actual-server:23.5.0 + restart: unless-stopped + ports: + - ${APP_PORT}:5006 + networks: + - tipi_main_network + volumes: + - ${APP_DATA_DIR}/data:/data + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.actual-budget.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.actual-budget.entrypoints: websecure + traefik.http.routers.actual-budget.service: actual-budget + traefik.http.routers.actual-budget.tls.certresolver: myresolver + traefik.http.services.actual-budget.loadbalancer.server.port: 5006 diff --git a/apps/actual-budget/metadata/description.md b/apps/actual-budget/metadata/description.md new file mode 100644 index 00000000..43f1f134 --- /dev/null +++ b/apps/actual-budget/metadata/description.md @@ -0,0 +1,12 @@ +# Actual Budget +Actual is a local-first personal finance tool. It is 100% free and open-source, written in NodeJS, it has a synchronization element so that all your changes can move between devices without any heavy lifting. + +![screenshot](https://raw.githubusercontent.com/actualbudget/actual/master/demo.png) + +## Server included +This version includes the server and web client of Actual Budget, so you can synch through different browsers and devices. Please note that you have to sync manually within the app. Actual is a local first app, so all data is held locally in your browser context by default as long as you not tell Actual to sync it to the server. + +## Community Documentation +More information: https://actualbudget.github.io/docs/ + + diff --git a/apps/actual-budget/metadata/logo.jpg b/apps/actual-budget/metadata/logo.jpg new file mode 100644 index 00000000..6f08990a Binary files /dev/null and b/apps/actual-budget/metadata/logo.jpg differ diff --git a/apps/adguard/config.json b/apps/adguard/config.json index 6013720b..01dcbc03 100644 --- a/apps/adguard/config.json +++ b/apps/adguard/config.json @@ -3,8 +3,8 @@ "name": "Adguard", "available": true, "exposable": true, - "tipi_version": 7, - "version": "0.107.27", + "tipi_version": 8, + "version": "0.107.29", "port": 8104, "id": "adguard", "categories": [ diff --git a/apps/adguard/docker-compose.yml b/apps/adguard/docker-compose.yml index aa819708..d69f0b14 100644 --- a/apps/adguard/docker-compose.yml +++ b/apps/adguard/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: adguard: - image: adguard/adguardhome:v0.107.27 + image: adguard/adguardhome:v0.107.29 container_name: adguard volumes: - "${APP_DATA_DIR}/data/work:/opt/adguardhome/work" diff --git a/apps/autobrr/config.json b/apps/autobrr/config.json index e160b20f..7ca3c332 100644 --- a/apps/autobrr/config.json +++ b/apps/autobrr/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "autobrr", - "tipi_version": 1, - "version": "v1.23.0", - "categories": ["media"], + "tipi_version": 4, + "version": "1.25.0", + "categories": [ + "media" + ], "description": "autobrr is the modern download automation tool for torrents. With inspiration and ideas from tools like trackarr, autodl-irssi and flexget we built one tool that can do it all, and then some.", "short_desc": "Automation for downloads.", "author": "autobrr", diff --git a/apps/autobrr/docker-compose.yml b/apps/autobrr/docker-compose.yml index aa5a7116..1577f731 100644 --- a/apps/autobrr/docker-compose.yml +++ b/apps/autobrr/docker-compose.yml @@ -3,7 +3,7 @@ version: '3' services: autobrr: container_name: autobrr - image: ghcr.io/autobrr/autobrr:v1.23.0 + image: ghcr.io/autobrr/autobrr:v1.25.0 restart: unless-stopped ports: - ${APP_PORT}:7474 diff --git a/apps/bazarr/config.json b/apps/bazarr/config.json index 69703cf7..1ee2810e 100644 --- a/apps/bazarr/config.json +++ b/apps/bazarr/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 6767, "id": "bazarr", - "tipi_version": 4, - "version": "1.2.0", + "tipi_version": 5, + "version": "1.2.1", "categories": [ "media", "utilities" diff --git a/apps/bazarr/docker-compose.yml b/apps/bazarr/docker-compose.yml index 5b6107c8..8998d3a5 100644 --- a/apps/bazarr/docker-compose.yml +++ b/apps/bazarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: bazarr: - image: lscr.io/linuxserver/bazarr:1.2.0 + image: lscr.io/linuxserver/bazarr:1.2.1 container_name: bazarr environment: - PUID=1000 diff --git a/apps/bookstack/config.json b/apps/bookstack/config.json index 4e8e423e..a4d565ba 100644 --- a/apps/bookstack/config.json +++ b/apps/bookstack/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8119, "id": "bookstack", - "tipi_version": 6, - "version": "23.02.20230226", + "tipi_version": 7, + "version": "23.05.20230503", "description": "BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. Default login: admin@admin.com password: password", "short_desc": "BookStack is a self-hosted platform for organising and storing information.", "author": "Dan Brown", diff --git a/apps/bookstack/docker-compose.yml b/apps/bookstack/docker-compose.yml index b97dba39..9853994d 100644 --- a/apps/bookstack/docker-compose.yml +++ b/apps/bookstack/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: bookstack: - image: lscr.io/linuxserver/bookstack:23.02.20230226 + image: lscr.io/linuxserver/bookstack:23.05.20230503 container_name: bookstack environment: - APP_URL=http://${INTERNAL_IP}:${APP_PORT} diff --git a/apps/chatgpt-ui/config.json b/apps/chatgpt-ui/config.json new file mode 100644 index 00000000..0351b13e --- /dev/null +++ b/apps/chatgpt-ui/config.json @@ -0,0 +1,50 @@ +{ + "$schema": "../schema.json", + "name": "ChatGPT UI", + "port": 8200, + "available": true, + "exposable": true, + "id": "chatgpt-ui", + "tipi_version": 6, + "version": "2.5.4", + "categories": [ + "utilities" + ], + "description": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage", + "short_desc": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage", + "author": "https://github.com/WongSaang", + "source": "https://github.com/WongSaang/chatgpt-ui", + "supported_architectures": [ + "amd64" + ], + "form_fields": [ + { + "type": "random", + "label": "CHATGPT_UI_DB_PASSWORD", + "min": 32, + "env_variable": "CHATGPT_UI_DB_PASSWORD" + }, + { + "type": "text", + "label": "Superuser Username", + "max": 50, + "min": 3, + "required": true, + "env_variable": "CHATGPT_UI_SUPERUSER_USERNAME" + }, + { + "type": "password", + "label": "Superuser Password", + "max": 50, + "min": 3, + "required": true, + "env_variable": "CHATGPT_UI_SUPERUSER_PASSWORD" + }, + { + "type": "text", + "label": "Superuser Email", + "required": true, + "env_variable": "CHATGPT_UI_SUPERUSER_EMAIL" + } + ] +} diff --git a/apps/chatgpt-ui/docker-compose.yml b/apps/chatgpt-ui/docker-compose.yml new file mode 100644 index 00000000..e0005f57 --- /dev/null +++ b/apps/chatgpt-ui/docker-compose.yml @@ -0,0 +1,77 @@ +version: '3' +services: + chatgpt-ui: + image: wongsaang/chatgpt-ui-client:v2.5.4 + container_name: chatgpt-ui + environment: + - SERVER_DOMAIN=http://chatgpt-ui-web-server + - DEFAULT_LOCALE=en + #- NUXT_PUBLIC_APP_NAME='ChatGPT UI' # The name of the application + #- NUXT_PUBLIC_TYPEWRITER=true # Whether to enable the typewriter effect, default false + #- NUXT_PUBLIC_TYPEWRITER_DELAY=50 # The delay time of the typewriter effect, default 50ms + depends_on: + - chatgpt-ui-web-server + ports: + - '8200:80' + restart: always + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.chatgpt-ui.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.chatgpt-ui.entrypoints: websecure + traefik.http.routers.chatgpt-ui.service: chatgpt-ui + traefik.http.routers.chatgpt-ui.tls.certresolver: myresolver + traefik.http.services.chatgpt-ui.loadbalancer.server.port: 80 + + chatgpt-ui-wsgi-server: + image: wongsaang/chatgpt-ui-wsgi-server:v2.4.4 + container_name: chatgpt-ui-wsgi-server + environment: + - APP_DOMAIN=${INTERNAL_IP}:8201 + - SERVER_WORKERS=3 + - WORKER_TIMEOUT=180 + - DB_URL=mysql://tipi:${CHATGPT_UI_DB_PASSWORD}@chatgpt-ui-db:3306/chatgptdb + - DJANGO_SUPERUSER_USERNAME=${CHATGPT_UI_SUPERUSER_USERNAME} # default superuser name + - DJANGO_SUPERUSER_PASSWORD=${CHATGPT_UI_SUPERUSER_PASSWORD} # default superuser password + - DJANGO_SUPERUSER_EMAIL=${CHATGPT_UI_SUPERUSER_EMAIL} # default superuser email + - ACCOUNT_EMAIL_VERIFICATION=none + #- EMAIL_HOST=SMTP server address + #- EMAIL_PORT=SMTP server port + #- EMAIL_HOST_USER= + #- EMAIL_HOST_PASSWORD= + #- EMAIL_USE_TLS=True + #- EMAIL_FROM=no-reply@example.com #Default sender email address + networks: + - tipi_main_network + depends_on: + - chatgpt-ui-db + restart: always + + chatgpt-ui-web-server: + image: wongsaang/chatgpt-ui-web-server:v2.4.4 + container_name: chatgpt-ui-web-server + environment: + - BACKEND_URL=http://chatgpt-ui-wsgi-server:8000 + ports: + - '8201:80' + depends_on: + - chatgpt-ui-wsgi-server + - chatgpt-ui-db + networks: + - tipi_main_network + restart: always + + chatgpt-ui-db: + container_name: chatgpt-ui-db + image: lscr.io/linuxserver/mariadb:latest + environment: + - MYSQL_ROOT_PASSWORD=$CHATGPT_UI_DB_PASSWORD} + - MYSQL_DATABASE=chatgptdb + - MYSQL_USER=tipi + - MYSQL_PASSWORD=${CHATGPT_UI_DB_PASSWORD} + volumes: + - ${APP_DATA_DIR}/data/mysql/config:/config + restart: "unless-stopped" + networks: + - tipi_main_network diff --git a/apps/chatgpt-ui/metadata/description.md b/apps/chatgpt-ui/metadata/description.md new file mode 100644 index 00000000..cbaabb0a --- /dev/null +++ b/apps/chatgpt-ui/metadata/description.md @@ -0,0 +1,25 @@ +# Domain Info + +| Exposed Service | Local Port | Exposed Domain | +|----------------------|------------|---------------------| +| ChatGPT UI Front End | IP:8200 | example.com | +| ChatGPT UI Backend | IP:8201/admin | Not Exposed Via Domain| + +## Error Notice + +Sometimes on the Inital Install, the backend may give you a 500 or 502 error code. + +If the backend gives you a 500/502 error, stop and restart the app! + +# ChatGPT UI + +A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage. + +The server of this project:[https://github.com/WongSaang/chatgpt-ui-server](https://github.com/WongSaang/chatgpt-ui-server) + +## Documentation +- [English](https://wongsaang.github.io/chatgpt-ui/) +- [中文](https://wongsaang.github.io/chatgpt-ui/zh/) + + +https://user-images.githubusercontent.com/46235412/227156264-ca17ab17-999b-414f-ab06-3f75b5235bfe.mp4 diff --git a/apps/chatgpt-ui/metadata/logo.jpg b/apps/chatgpt-ui/metadata/logo.jpg new file mode 100644 index 00000000..968b1697 Binary files /dev/null and b/apps/chatgpt-ui/metadata/logo.jpg differ diff --git a/apps/code-server/config.json b/apps/code-server/config.json index 475ada14..26423881 100644 --- a/apps/code-server/config.json +++ b/apps/code-server/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8138, "id": "code-server", - "tipi_version": 6, - "version": "4.11.0", + "tipi_version": 7, + "version": "4.12.0", "categories": [ "development" ], diff --git a/apps/code-server/docker-compose.yml b/apps/code-server/docker-compose.yml index 188c9158..a725c8c6 100644 --- a/apps/code-server/docker-compose.yml +++ b/apps/code-server/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: code-server: - image: lscr.io/linuxserver/code-server:4.11.0 + image: lscr.io/linuxserver/code-server:4.12.0 container_name: code-server environment: - PUID=1000 diff --git a/apps/dashdot/config.json b/apps/dashdot/config.json index 3ad58799..be17e054 100644 --- a/apps/dashdot/config.json +++ b/apps/dashdot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "dashdot", - "tipi_version": 2, - "version": "5.1.3", + "tipi_version": 3, + "version": "5.2.1", "categories": [ "utilities" ], diff --git a/apps/dashdot/docker-compose.yml b/apps/dashdot/docker-compose.yml index f02149e8..1d01bf0f 100644 --- a/apps/dashdot/docker-compose.yml +++ b/apps/dashdot/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.5' services: dashdot: - image: mauricenino/dashdot:5.1.3 + image: mauricenino/dashdot:5.2.1 restart: unless-stopped container_name: dashdot privileged: true diff --git a/apps/flatnotes/config.json b/apps/flatnotes/config.json index ab00c9e8..a1a0c932 100644 --- a/apps/flatnotes/config.json +++ b/apps/flatnotes/config.json @@ -5,9 +5,11 @@ "exposable": true, "id": "flatnotes", "port": 8137, - "tipi_version": 2, - "version": "v2.2.0", - "categories": ["utilities"], + "tipi_version": 4, + "version": "3.0.1", + "categories": [ + "utilities" + ], "description": "A self-hosted, database-less note taking web app that utilises a flat folder of markdown files for storage.", "short_desc": "A self-hosted, database-less note taking web app", "author": "Dullage", diff --git a/apps/flatnotes/docker-compose.yml b/apps/flatnotes/docker-compose.yml index 15223215..61bcf856 100644 --- a/apps/flatnotes/docker-compose.yml +++ b/apps/flatnotes/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: flatnotes: container_name: flatnotes - image: dullage/flatnotes:v2.2.0 + image: dullage/flatnotes:v3.0.1 environment: FLATNOTES_AUTH_TYPE: ${FLATNOTES_AUTH_TYPE} FLATNOTES_USERNAME: ${FLATNOTES_USERNAME} @@ -11,11 +11,11 @@ services: FLATNOTES_SECRET_KEY: ${FLATNOTES_SECRET_KEY} FLATNOTES_TOTP_KEY: ${FLATNOTES_TOTP_KEY} volumes: - - "${APP_DATA_DIR}/data:/app/data" + - "${APP_DATA_DIR}/data:/data" # - "./index:/app/data/.flatnotes" # Optional. Allows you to save the search index in a different location. ports: - - ${APP_PORT}:80 + - ${APP_PORT}:8080 restart: unless-stopped networks: - tipi_main_network @@ -25,4 +25,4 @@ services: traefik.http.routers.flatnotes.entrypoints: websecure traefik.http.routers.flatnotes.service: flatnotes traefik.http.routers.flatnotes.tls.certresolver: myresolver - traefik.http.services.flatnotes.loadbalancer.server.port: 80 \ No newline at end of file + traefik.http.services.flatnotes.loadbalancer.server.port: 8080 \ No newline at end of file diff --git a/apps/ghost/config.json b/apps/ghost/config.json index 760b5233..d3976ec4 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 9, - "version": "5.41.0", + "tipi_version": 14, + "version": "5.46.1", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 1aa617fb..34a0b7b9 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.9' services: ghost: - image: ghost:5.41.0 + image: ghost:5.46.1 container_name: ghost depends_on: - ghostdb diff --git a/apps/gitea/config.json b/apps/gitea/config.json index 854bbff0..48c1884b 100644 --- a/apps/gitea/config.json +++ b/apps/gitea/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "gitea", - "tipi_version": 5, - "version": "1.19.1", + "tipi_version": 7, + "version": "1.19.3", "categories": [ "development" ], diff --git a/apps/gitea/docker-compose.yml b/apps/gitea/docker-compose.yml index accacb07..56e5d17b 100644 --- a/apps/gitea/docker-compose.yml +++ b/apps/gitea/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: gitea: - image: gitea/gitea:1.19.1 + image: gitea/gitea:1.19.3 container_name: gitea environment: - USER_UID=1000 diff --git a/apps/gladys/config.json b/apps/gladys/config.json index 45111051..dde45848 100644 --- a/apps/gladys/config.json +++ b/apps/gladys/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": false, "id": "gladys", - "tipi_version": 2, - "version": "v4.20.0", - "categories": ["automation"], + "tipi_version": 6, + "version": "4.22.0", + "categories": [ + "automation" + ], "description": "A privacy-first, open-source home assistant", "short_desc": "A privacy-first, open-source home assistant", "author": "Gladys Assistant", diff --git a/apps/gladys/docker-compose.yml b/apps/gladys/docker-compose.yml index 46bb9c70..5f5eaafd 100644 --- a/apps/gladys/docker-compose.yml +++ b/apps/gladys/docker-compose.yml @@ -3,7 +3,7 @@ version: '3' services: gladys: container_name: gladys - image: gladysassistant/gladys:v4.20.0 + image: gladysassistant/gladys:v4.22.0 privileged: true restart: on-failure stop_grace_period: 1m diff --git a/apps/gotosocial/config.json b/apps/gotosocial/config.json new file mode 100644 index 00000000..99c1b029 --- /dev/null +++ b/apps/gotosocial/config.json @@ -0,0 +1,71 @@ +{ + "$schema": "../schema.json", + "name": "GoToSocial", + "port": 8188, + "available": true, + "exposable": true, + "force_expose": true, + "id": "gotosocial", + "tipi_version": 3, + "uid": 1000, + "gid": 1000, + "version": "0.8.1", + "categories": ["social"], + "description": "Fast, fun, ActivityPub server, powered by Go.", + "short_desc": "Fast, fun, ActivityPub server, powered by Go.", + "author": "superseriousbusiness", + "source": "https://github.com/superseriousbusiness/gotosocial", + "form_fields": [ + { + "type": "random", + "label": "GoToSocial DB Password", + "min": 32, + "env_variable": "GTS_DB_PASSWORD" + }, + { + "label": "Sign Ups", + "type": "text", + "required": true, + "options": [ + { "label": "Open Sign Up", "value": "true" }, + { "label": "Invite Only", "value": "false" } + ], + "env_variable": "GTS_ACCOUNTS_REGISTRATION_OPE" + }, + { + "type": "text", + "label": "SMTP Host", + "hint": "Your SMTP Server", + "required": false, + "env_variable": "GTS_SMTP_HOST" + }, + { + "type": "text", + "label": "SMTP Port", + "hint": "Your SMTP Port", + "required": false, + "env_variable": "GTS_SMTP_PORT" + }, + { + "type": "text", + "label": "SMTP Username", + "hint": "Your SMTP Server User/Username", + "required": false, + "env_variable": "GTS_SMTP_USERNAME" + }, + { + "type": "text", + "label": "SMTP Password", + "hint": "Your SMTP Server Password", + "required": false, + "env_variable": "GTS_SMTP_PASSWORD" + }, + { + "type": "text", + "label": "SMTP From Address", + "hint": "Make sure the Format is like noreply@example.com", + "required": false, + "env_variable": "GTS_SMTP_FROM" + } + ] +} diff --git a/apps/gotosocial/docker-compose.yml b/apps/gotosocial/docker-compose.yml new file mode 100644 index 00000000..d420b669 --- /dev/null +++ b/apps/gotosocial/docker-compose.yml @@ -0,0 +1,52 @@ +version: "3" + +services: + gotosocial: + container_name: gotosocial + image: superseriousbusiness/gotosocial:0.8.1 + user: 1000:1000 + ports: + - ${APP_PORT}:8080 + volumes: + - ${APP_DATA_DIR}/data/gotosocial:/gotosocial/storage + depends_on: + - gotosocial-db + environment: + - GTS_HOST=${APP_DOMAIN} + - GTS_LETSENCRYPT_ENABLED=false + - GTS_DB_TYPE=postgres + - GTS_DB_ADDRESS=gotosocial-db + - GTS_DB_PORT=5432 + - GTS_DB_USER=tipi + - GTS_DB_PASSWORD=${GTS_DB_PASSWORD} + - GTS_DB_DATABASE=gotosocial-db + - GTS_ACCOUNTS_REGISTRATION_OPEN=${GTS_ACCOUNTS_REGISTRATION_OPEN} + - GTS_SMTP_HOST=${GTS_SMTP_HOST} + - GTS_SMTP_PORT=${GTS_SMTP_PORT} + - GTS_SMTP_USERNAME=${GTS_SMTP_USERNAME} + - GTS_SMTP_PASSWORD=${GTS_SMTP_PASSWORD} + - GTS_SMTP_FROM=${GTS_SMTP_FROM} + restart: unless-stopped + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.gotosocial.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.gotosocial.entrypoints: websecure + traefik.http.routers.gotosocial.service: gotosocial + traefik.http.routers.gotosocial.tls.certresolver: myresolver + traefik.http.services.gotosocial.loadbalancer.server.port: 8080 + + gotosocial-db: + container_name: gotosocial-db + image: postgres:14 + environment: + POSTGRES_PASSWORD: ${GTS_DB_PASSWORD} + POSTGRES_USER: tipi + POSTGRES_DB: gotosocial-db + PG_DATA: /var/lib/postgresql/data + volumes: + - ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data + restart: unless-stopped + networks: + - tipi_main_network \ No newline at end of file diff --git a/apps/gotosocial/metadata/description.md b/apps/gotosocial/metadata/description.md new file mode 100644 index 00000000..35e6eb34 --- /dev/null +++ b/apps/gotosocial/metadata/description.md @@ -0,0 +1,58 @@ +# Installation Docs + +### To Create your user +1. SSH into your Tipi Server +2. Fill in your credentials (some_username,someone@example.org, some_very_good_password), then run the command: + ``` + docker exec -it gotosocial /gotosocial/gotosocial admin account create --username some_username --email someone@example.org --password 'some_very_good_password' + ``` +### To promote the initial user (or any user) to admin: +1. SSH into your Tipi Server +2. Fill in your credentials (some_username), then run the command: + ``` + docker exec -it gotosocial /gotosocial/gotosocial admin account promote --username some_username + ``` +3. Go Back To your WebUI, Stop and Start your instance. +4. Go to yourdomain.com/settings and you will be able to see personal and instance settings! + +### (Optional) S3 Bucket + +If you would rather store your data within a S3 Bucket, here is an easy way to do it. + +1. Follow the [App User Config Guide](https://www.runtipi.io/docs/guides/customize-app-config) to make a folder and app.env. +2. In the docker-compose.yml you can set the S3 Config Like + +``` +version: "3" +services: + gotosocial: + environment: + - GTS_STORAGE_BACKEND=s3 + - GTS_STORAGE_S3_ENDPOINT=your_endpoint + - GTS_STORAGE_S3_USE_SSL=true + - GTS_STORAGE_S3_ACCESS_KEY=your_access_key + - GTS_STORAGE_S3_SECRET_KEY=your_secret_key + - GTS_STORAGE_S3_BUCKET=your_bucket +``` +3. Restart your app, and your good to go! + +4. For More Info [Read the Docs!](https://docs.gotosocial.org/en/latest/configuration/storage/) + +--- +# GoToSocial + +GoToSocial is an [ActivityPub](https://activitypub.rocks/) social network server, written in Golang. + +With GoToSocial, you can keep in touch with your friends, post, read, and share images and articles. All without being tracked or advertised to! + +[![](https://github.com/superseriousbusiness/gotosocial/raw/main/docs/assets/sloth.png)](https://github.com/superseriousbusiness/gotosocial/blob/main/docs/assets/sloth.png) + +**GoToSocial is still [ALPHA SOFTWARE](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha)**. It is already deployable and useable, and it federates cleanly with many other Fediverse servers (not yet all). However, many things are not yet implemented, and there are plenty of bugs! We foresee entering beta somewhere in 2023. + +Documentation is at [docs.gotosocial.org](https://docs.gotosocial.org). You can skip straight to the API documentation [here](https://docs.gotosocial.org/en/latest/api/swagger/). To build from source, check the [CONTRIBUTING.md](https://github.com/superseriousbusiness/gotosocial/blob/main/CONTRIBUTING.md) file. + +Here's a screenshot of the instance landing page! + +[![Screenshot of the landing page for the GoToSocial instance goblin.technology. It shows basic information about the instance; number of users and posts etc.](https://github.com/superseriousbusiness/gotosocial/raw/main/docs/assets/instancesplash.png)](https://github.com/superseriousbusiness/gotosocial/blob/main/docs/assets/instancesplash.png) + +## [Read More!](https://github.com/superseriousbusiness/gotosocial#table-of-contents-) \ No newline at end of file diff --git a/apps/gotosocial/metadata/logo.jpg b/apps/gotosocial/metadata/logo.jpg new file mode 100644 index 00000000..c378c928 Binary files /dev/null and b/apps/gotosocial/metadata/logo.jpg differ diff --git a/apps/grafana/config.json b/apps/grafana/config.json index f358d376..418d8ebf 100644 --- a/apps/grafana/config.json +++ b/apps/grafana/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "grafana", - "tipi_version": 2, - "version": "9.4.7", + "tipi_version": 4, + "version": "9.5.1", "categories": [ "data" ], diff --git a/apps/grafana/docker-compose.yml b/apps/grafana/docker-compose.yml index c5513ffd..6e51875f 100644 --- a/apps/grafana/docker-compose.yml +++ b/apps/grafana/docker-compose.yml @@ -3,9 +3,10 @@ version: "3" services: grafana: container_name: grafana - image: grafana/grafana-oss:9.4.7 + image: grafana/grafana-oss:9.5.1 ports: - ${APP_PORT}:3000 + user: "1000" volumes: - ${APP_DATA_DIR}/data/grafana:/var/lib/grafana networks: diff --git a/apps/hammond/config.json b/apps/hammond/config.json new file mode 100644 index 00000000..51c2c2ee --- /dev/null +++ b/apps/hammond/config.json @@ -0,0 +1,16 @@ +{ + "$schema": "../schema.json", + "name": "Hammond", + "port": 8185, + "available": true, + "exposable": true, + "id": "hammond", + "tipi_version": 1, + "version": "1.0.0", + "categories": ["utilities"], + "description": "Self hosted vehicle and expense management system. Like Clarkson, but better", + "short_desc": "Self hosted vehicle and expense management system. Like Clarkson, but better", + "author": "Akhilrex", + "source": "https://github.com/akhilrex/hammond", + "form_fields": [] +} diff --git a/apps/hammond/docker-compose.yml b/apps/hammond/docker-compose.yml new file mode 100644 index 00000000..8c337b24 --- /dev/null +++ b/apps/hammond/docker-compose.yml @@ -0,0 +1,21 @@ +version: "3" + +services: + hammond: + container_name: hammond + image: akhilrex/hammond:1.0.0 + ports: + - ${APP_PORT}:3000 + volumes: + - ${APP_DATA_DIR}/data/config:/config + - ${APP_DATA_DIR}/data/assets:/assets + restart: unless-stopped + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.hammond.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.hammond.entrypoints: websecure + traefik.http.routers.hammond.service: hammond + traefik.http.routers.hammond.tls.certresolver: myresolver + traefik.http.services.hammond.loadbalancer.server.port: 3000 \ No newline at end of file diff --git a/apps/hammond/metadata/description.md b/apps/hammond/metadata/description.md new file mode 100644 index 00000000..7076c93e --- /dev/null +++ b/apps/hammond/metadata/description.md @@ -0,0 +1,26 @@ +# Hammond + +Current Version - 2022.07.06 + +A self-hosted vehicle expense tracking system with support for multiple users. +[**Explore the docs »**](https://github.com/akhilrex/hammond) + +[Report Bug](https://github.com/akhilrex/hammond/issues) · [Request Feature](https://github.com/akhilrex/hammond/issues) · [Screenshots](https://github.com/akhilrex/hammond/blob/master/Screenshots.md) + +## About The Project + +Hammond is a self hosted vehicle management system to track fuel and other expenses related to all of your vehicles. It supports multiple users sharing multiple vehicles. It is the logical successor to Clarkson which has not been updated for quite some time now. + +_Developers Note: This project is under active development which means I release new updates very frequently. It is recommended that you use something like [watchtower](https://github.com/containrrr/watchtower) which will automatically update your containers whenever I release a new version or periodically rebuild the container with the latest image manually._ + +**Also check out my other self-hosted, open-source solution - [Podgrab](https://github.com/akhilrex/podgrab) - Podcast download and archive manager and player.** + +### Motivation and Developer Notes + +I was looking for a fuel tracking system and stumbled upon Clarkson. Although it did most of what I needed it has not been updated for quite a lot of time. Since I had some bandwidth available as my previous open source project [Podgrab](http://github.com/akhilrex/podgrab) had become quite stable now, my first thought was to contribute to the Clarkson project only. I soon realized that the architecture that Clarkson had used was not really be that extensible now and would warrant a complete rewrite only. So I decided to build Hammond - The successor to Clarkson. + +The current version of Hammond is written using GO for backend and Vuejs for the front end. Originally I had thought of using the same tech stack for both frontend and the backend so that it became easier for users and other developers to use, deploy and contribute. Which is why the first version of Hammond has a NestJS backend complete with all the bells and whistles (GraphQL, Prisma and what nots). But I eventually decided to rebuild the backend in GO just to keep the container size small. No matter how much you can optimize the sheer size of the node\_modules will always add bulk to your containers. I host all my tools on my Raspberry Pi. It only makes sense to keep the container size as small as possible. + +Also I had initially thought of a 2 container approach (1 for backend and 1 for the frontend) so that they can be independently maintained and updated. I eventually decided against this idea for the sake of simplicity. Although it is safe to assume that most self-hosters are fairly tech capable it still is much better to have a single container that you can fire and forget. + +[![Product Name Screen Shot](https://github.com/akhilrex/hammond/raw/master/images/screenshot.jpg)](https://github.com/akhilrex/hammond/blob/master/images/screenshot.jpg) [More Screenshots](https://github.com/akhilrex/hammond/blob/master/Screenshots.md) \ No newline at end of file diff --git a/apps/hammond/metadata/logo.jpg b/apps/hammond/metadata/logo.jpg new file mode 100644 index 00000000..593bde83 Binary files /dev/null and b/apps/hammond/metadata/logo.jpg differ diff --git a/apps/hello-world/config.json b/apps/hello-world/config.json new file mode 100644 index 00000000..3d177d32 --- /dev/null +++ b/apps/hello-world/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "../schema.json", + "name": "Hello World", + "available": true, + "exposable": true, + "port": 8000, + "id": "hello-world", + "tipi_version": 1, + "version": "1.0.0", + "categories": [ + "utilities" + ], + "description": "Hello World web server in under 2 MB", + "short_desc": "Hello World web server in under 2 MB", + "author": "crccheck", + "source": "https://github.com/crccheck/docker-hello-world", + "form_fields": [] +} diff --git a/apps/hello-world/docker-compose.yml b/apps/hello-world/docker-compose.yml new file mode 100644 index 00000000..03d95808 --- /dev/null +++ b/apps/hello-world/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.7' +services: + hello-world: + container_name: hello-world + image: crccheck/hello-world + restart: unless-stopped + ports: + - ${APP_PORT}:8000 + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.hello-world.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.hello-world.entrypoints: websecure + traefik.http.routers.hello-world.service: hello-world + traefik.http.routers.hello-world.tls.certresolver: myresolver + traefik.http.services.hello-world.loadbalancer.server.port: 7575 diff --git a/apps/hello-world/metadata/description.md b/apps/hello-world/metadata/description.md new file mode 100644 index 00000000..a9867f9f --- /dev/null +++ b/apps/hello-world/metadata/description.md @@ -0,0 +1,2 @@ +# Hello World +Tiny app that prints "Hello World" in the browser. Can be used to test the deployment of a new app. diff --git a/apps/hello-world/metadata/logo.jpg b/apps/hello-world/metadata/logo.jpg new file mode 100644 index 00000000..5ffd5d55 Binary files /dev/null and b/apps/hello-world/metadata/logo.jpg differ diff --git a/apps/homarr/config.json b/apps/homarr/config.json index 2a07da54..97cfff82 100644 --- a/apps/homarr/config.json +++ b/apps/homarr/config.json @@ -5,9 +5,11 @@ "exposable": true, "port": 8102, "id": "homarr", - "tipi_version": 8, - "version": "0.11.5", - "categories": ["utilities"], + "tipi_version": 10, + "version": "0.12.1", + "categories": [ + "utilities" + ], "description": "A homepage for your server.", "short_desc": "Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.", "author": "ajnart", diff --git a/apps/homarr/docker-compose.yml b/apps/homarr/docker-compose.yml index 6f86036d..7325c2a8 100644 --- a/apps/homarr/docker-compose.yml +++ b/apps/homarr/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: homarr: container_name: homarr - image: ghcr.io/ajnart/homarr:0.11.5 + image: ghcr.io/ajnart/homarr:0.12.1 restart: unless-stopped volumes: - ${APP_DATA_DIR}/data/config:/app/data/configs diff --git a/apps/immich/config.json b/apps/immich/config.json index 968f26ad..b5e459f0 100644 --- a/apps/immich/config.json +++ b/apps/immich/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8128, "id": "immich", - "tipi_version": 4, - "version": "v1.53.0", + "tipi_version": 5, + "version": "v1.54.1", "categories": ["data", "photography"], "description": "Photo and video backup solution directly from your mobile phone.", "short_desc": "Photo and video backup solution directly from your mobile phone.", diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index dbcb58fd..a78b6e20 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: immich: container_name: immich - image: altran1502/immich-proxy:v1.53.0 + image: altran1502/immich-proxy:v1.54.1 ports: - ${APP_PORT}:8080 depends_on: @@ -25,7 +25,7 @@ services: immich-server: container_name: immich-server - image: altran1502/immich-server:v1.53.0 + image: altran1502/immich-server:v1.54.1 entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -50,7 +50,7 @@ services: immich-microservices: container_name: immich-microservices - image: altran1502/immich-server:v1.53.0 + image: altran1502/immich-server:v1.54.1 entrypoint: ["/bin/sh", "./start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -75,7 +75,7 @@ services: immich-machine-learning: container_name: immich-machine-learning - image: altran1502/immich-machine-learning:v1.53.0 + image: altran1502/immich-machine-learning:v1.54.1 volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${APP_DATA_DIR}/data/immich-ml-cache:/cache @@ -96,7 +96,7 @@ services: immich-web: container_name: immich-web - image: altran1502/immich-web:v1.53.0 + image: altran1502/immich-web:v1.54.1 entrypoint: ["/bin/sh", "./entrypoint.sh"] restart: unless-stopped networks: diff --git a/apps/jackett/config.json b/apps/jackett/config.json index f71c96f0..7335b172 100644 --- a/apps/jackett/config.json +++ b/apps/jackett/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8097, "id": "jackett", - "tipi_version": 7, - "version": "0.20.3903", + "tipi_version": 19, + "version": "0.20.4101", "description": "Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches.", "short_desc": "API Support for your favorite torrent trackers ", "categories": [ diff --git a/apps/jackett/docker-compose.yml b/apps/jackett/docker-compose.yml index 568b0f4b..fb425f6b 100644 --- a/apps/jackett/docker-compose.yml +++ b/apps/jackett/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: jackett: - image: lscr.io/linuxserver/jackett:0.20.3903 + image: lscr.io/linuxserver/jackett:0.20.4101 container_name: jackett environment: - PUID=1000 diff --git a/apps/jellyfin/config.json b/apps/jellyfin/config.json index 028e7ad8..4e6953fb 100644 --- a/apps/jellyfin/config.json +++ b/apps/jellyfin/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8091, "id": "jellyfin", - "tipi_version": 5, - "version": "10.8.9", + "tipi_version": 6, + "version": "10.8.10", "categories": [ "media" ], diff --git a/apps/jellyfin/docker-compose.yml b/apps/jellyfin/docker-compose.yml index 9ab455e5..1497f107 100644 --- a/apps/jellyfin/docker-compose.yml +++ b/apps/jellyfin/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: jellyfin: - image: lscr.io/linuxserver/jellyfin:10.8.9 + image: lscr.io/linuxserver/jellyfin:10.8.10 container_name: jellyfin volumes: - ${APP_DATA_DIR}/data/config:/config diff --git a/apps/jellyseerr/config.json b/apps/jellyseerr/config.json index dd7502c3..b9a10598 100644 --- a/apps/jellyseerr/config.json +++ b/apps/jellyseerr/config.json @@ -5,9 +5,12 @@ "exposable": true, "port": 8163, "id": "jellyseerr", - "tipi_version": 1, - "version": "1.4.1", - "categories": ["media", "utilities"], + "tipi_version": 2, + "version": "1.5.0", + "categories": [ + "media", + "utilities" + ], "description": "Jellyseerr is a free and open source software application for managing requests for your media library. It is a a fork of Overseerr built to bring support for Jellyfin & Emby media servers!", "short_desc": "Fork of overseerr for Jellyfin support", "author": "Fallenbagel", diff --git a/apps/jellyseerr/docker-compose.yml b/apps/jellyseerr/docker-compose.yml index 2a60bc0a..3b7ffcea 100644 --- a/apps/jellyseerr/docker-compose.yml +++ b/apps/jellyseerr/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: jellyseerr: container_name: jellyseerr - image: fallenbagel/jellyseerr:1.4.1 + image: fallenbagel/jellyseerr:1.5.0 ports: - ${APP_PORT}:5055 volumes: diff --git a/apps/kanboard/config.json b/apps/kanboard/config.json new file mode 100644 index 00000000..21bb1c26 --- /dev/null +++ b/apps/kanboard/config.json @@ -0,0 +1,23 @@ +{ + "name": "Kanboard", + "available": true, + "exposable": true, + "port": 8010, + "id": "kanboard", + "description": "Kanboard is a free and open source Kanban project management software.", + "tipi_version": 1, + "version": "1.2.28", + "categories": ["development"], + "short_desc": "Open Source Kanban Board", + "author": "Frédéric Guillot", + "source": "https://github.com/kanboard/kanboard", + "website": "https://kanboard.org/", + "form_fields": [ + { + "type": "boolean", + "label": "Enable Plugin Installer", + "required": false, + "env_variable": "PLUGIN_INSTALLER" + } + ] +} diff --git a/apps/kanboard/docker-compose.yml b/apps/kanboard/docker-compose.yml new file mode 100644 index 00000000..b786ba51 --- /dev/null +++ b/apps/kanboard/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3.9' + +services: + kanboard: + container_name: kanboard + image: kanboard/kanboard:v1.2.28 + environment: + - PLUGIN_INSTALLER=${PLUGIN_INSTALLER} + ports: + - ${APP_PORT}:80 + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data/kanboard_data:/var/www/app/data + - ${APP_DATA_DIR}/data/kanboard_plugins:/var/www/app/plugins + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.kanboard.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kanboard.entrypoints: websecure + traefik.http.routers.kanboard.service: kanboard + traefik.http.routers.kanboard.tls.certresolver: myresolver + traefik.http.services.kanboard.loadbalancer.server.port: 80 diff --git a/apps/kanboard/metadata/description.md b/apps/kanboard/metadata/description.md new file mode 100644 index 00000000..2924e147 --- /dev/null +++ b/apps/kanboard/metadata/description.md @@ -0,0 +1,17 @@ +# Kanboard + +Kanboard is a free and open source Kanban project management software. + +## Default credentials +Username: admin +Password: admin + + +- Kanban Board +- Visualize your work +- Limit your work in progress to focus on your goal +- Drag and drop tasks to manage your project + +![screenshot](https://kanboard.org/assets/img/board.png) + +Source: https://kanboard.org/ diff --git a/apps/kanboard/metadata/logo.jpg b/apps/kanboard/metadata/logo.jpg new file mode 100644 index 00000000..e54c8e79 Binary files /dev/null and b/apps/kanboard/metadata/logo.jpg differ diff --git a/apps/kavita/metadata/logo.jpg b/apps/kavita/metadata/logo.jpg index 23a41a03..bf32182f 100644 Binary files a/apps/kavita/metadata/logo.jpg and b/apps/kavita/metadata/logo.jpg differ diff --git a/apps/librephotos/config.json b/apps/librephotos/config.json index 14daf92f..22d60e47 100644 --- a/apps/librephotos/config.json +++ b/apps/librephotos/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "librephotos", - "tipi_version": 5, - "version": "2023w12", + "tipi_version": 6, + "version": "2023w18", "supported_architectures": ["amd64", "arm64"], "categories": ["photography"], "description": "Complete photo management service", diff --git a/apps/librephotos/docker-compose.yml b/apps/librephotos/docker-compose.yml index 57d40e93..483a5376 100644 --- a/apps/librephotos/docker-compose.yml +++ b/apps/librephotos/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: librephotos: - image: reallibrephotos/librephotos-proxy:2023w12 + image: reallibrephotos/librephotos-proxy:2023w18 container_name: librephotos restart: unless-stopped volumes: @@ -43,7 +43,7 @@ services: - tipi_main_network librephotos-frontend: - image: reallibrephotos/librephotos-frontend:2023w12 + image: reallibrephotos/librephotos-frontend:2023w18 container_name: librephotos-frontend restart: unless-stopped depends_on: @@ -52,7 +52,7 @@ services: - tipi_main_network librephotos-backend: - image: reallibrephotos/librephotos:2023w12 + image: reallibrephotos/librephotos:2023w18 container_name: librephotos-backend restart: unless-stopped volumes: @@ -76,6 +76,7 @@ services: - REDIS_PORT=6379 - ALLOW_UPLOAD=true - DEBUG=0 + - CSRF_TRUSTED_ORIGINS=${APP_PROTOCOL:-http}://${APP_DOMAIN},http://${INTERNAL_IP}:${APP_PORT} # Wait for Postgres depends_on: librephotos-db: diff --git a/apps/lidarr-deemix/config.json b/apps/lidarr-deemix/config.json new file mode 100644 index 00000000..11b98349 --- /dev/null +++ b/apps/lidarr-deemix/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "../schema.json", + "name": "Lidarr on Steroids", + "port": 8186, + "available": true, + "exposable": true, + "id": "lidarr-deemix", + "tipi_version": 2, + "version": "1.2.8", + "categories": [ + "media" + ], + "description": "Lidarr with some muscles thanks to deemix", + "short_desc": "Lidarr with some muscles thanks to deemix", + "author": "Youegraillot", + "source": "https://github.com/youegraillot/lidarr-on-steroids", + "form_fields": [] +} diff --git a/apps/lidarr-deemix/docker-compose.yml b/apps/lidarr-deemix/docker-compose.yml new file mode 100644 index 00000000..6ddf7678 --- /dev/null +++ b/apps/lidarr-deemix/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.7" + +services: + lidarr-deemix: + image: youegraillot/lidarr-on-steroids:1.2.8 + container_name: lidarr-deemix + volumes: + - ${APP_DATA_DIR}/data/config:/config + - ${APP_DATA_DIR}/data/config-deemix:/config_deemix + - ${ROOT_FOLDER_HOST}/media/downloads/deemix:/downloads + - ${ROOT_FOLDER_HOST}/media/data/music:/music + - ${ROOT_FOLDER_HOST}/media/usenet/completed/:/downloads/completed + - ${ROOT_FOLDER_HOST}/media:/media + ports: + - ${APP_PORT}:8686 # Lidarr web UI + - 8187:6595 # Deemix web UI + restart: unless-stopped + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.lidarr-deemix.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.lidarr-deemix.entrypoints: websecure + traefik.http.routers.lidarr-deemix.service: lidarr-deemix + traefik.http.routers.lidarr-deemix.tls.certresolver: myresolver + traefik.http.services.lidarr-deemix.loadbalancer.server.port: 8686 diff --git a/apps/lidarr-deemix/metadata/description.md b/apps/lidarr-deemix/metadata/description.md new file mode 100644 index 00000000..3be27b13 --- /dev/null +++ b/apps/lidarr-deemix/metadata/description.md @@ -0,0 +1,32 @@ +## Install Notice + +- To Finish the AutoConfig, Please login to your Deezer Account in the Deemix UI. After logging in, the container will run + +``` +- /music root folder if no other root folder is configured +- Delay profile allowing Deemix to be used by automatic search +- Deemix as an indexer +- Deemix as a download client +- Flac2Custom script connection if `FLAC2CUSTOM_ARGS` is set +- clean-downloads script connection to keep your downloads folder _clean_ after each imports +``` + +### Port Info + +| Exposed Service | Local Port | Exposed Domain | +|----------------------|------------|---------------------| +| Lidarr | IP:8186 | example.com | +| Deemix | IP:8167 | Not Exposed Via Domain| + +--- + +This repository bundles a modded version of Lidarr and Deemix into a docker image featuring : + +- Native Deemix integration as an indexer and downloader for Lidarr +- Automatic Lidarr and Deemix configuration +- Automatic conversion from any format with ffmpeg +- Podman compatibility with rootless mode + +This allows an easy deployment, with the advantage of having a direct control over Deemix indexing and downloader capacities into Lidarr : + +[!["Lidarr indexers"](https://github.com/youegraillot/lidarr-on-steroids/raw/main/.assets/lidarr-indexers.png "Lidarr indexers")](https://github.com/youegraillot/lidarr-on-steroids/raw/main/.assets/lidarr-indexers.png) \ No newline at end of file diff --git a/apps/lidarr-deemix/metadata/logo.jpg b/apps/lidarr-deemix/metadata/logo.jpg new file mode 100644 index 00000000..84964f06 Binary files /dev/null and b/apps/lidarr-deemix/metadata/logo.jpg differ diff --git a/apps/lidarr/config.json b/apps/lidarr/config.json index 69581336..55a694a2 100644 --- a/apps/lidarr/config.json +++ b/apps/lidarr/config.json @@ -5,9 +5,12 @@ "exposable": true, "port": 8131, "id": "lidarr", - "tipi_version": 1, - "version": "1.0.2.2592", - "categories": ["media", "music"], + "tipi_version": 2, + "version": "1.1.4", + "categories": [ + "media", + "music" + ], "description": "Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.", "short_desc": " Looks and smells like Sonarr but made for music.", "author": "lidarr.audio", diff --git a/apps/lidarr/docker-compose.yml b/apps/lidarr/docker-compose.yml index a35f3e75..f361f1a6 100644 --- a/apps/lidarr/docker-compose.yml +++ b/apps/lidarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: lidarr: - image: lscr.io/linuxserver/lidarr:1.0.2 + image: lscr.io/linuxserver/lidarr:1.1.4 container_name: lidarr environment: - PUID=1000 @@ -22,4 +22,4 @@ services: traefik.http.routers.lidarr.entrypoints: websecure traefik.http.routers.lidarr.service: lidarr traefik.http.routers.lidarr.tls.certresolver: myresolver - traefik.http.services.lidarr.loadbalancer.server.port: 8686 \ No newline at end of file + traefik.http.services.lidarr.loadbalancer.server.port: 8686 diff --git a/apps/memos/config.json b/apps/memos/config.json index 460aefc1..ba4197c0 100644 --- a/apps/memos/config.json +++ b/apps/memos/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 5230, "id": "memos", - "tipi_version": 3, - "version": "0.12.0", + "tipi_version": 4, + "version": "0.12.2", "categories": [ "utilities" ], diff --git a/apps/memos/docker-compose.yml b/apps/memos/docker-compose.yml index bcc93c30..0ad4c8d8 100644 --- a/apps/memos/docker-compose.yml +++ b/apps/memos/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: memos: - image: neosmemo/memos:0.12.0 + image: neosmemo/memos:0.12.2 container_name: memos volumes: - ${APP_DATA_DIR}/memos:/var/opt/memos diff --git a/apps/mixpost/config.json b/apps/mixpost/config.json index 3e75ee53..af0ec429 100644 --- a/apps/mixpost/config.json +++ b/apps/mixpost/config.json @@ -5,7 +5,7 @@ "available": true, "exposable": true, "id": "mixpost", - "tipi_version": 1, + "tipi_version": 2, "version": "v1.1.3", "categories": ["social"], "description": "Mixpost it's the coolest Self-hosted social media management software.", diff --git a/apps/mixpost/docker-compose.yml b/apps/mixpost/docker-compose.yml index 4e58d03a..c59f75d0 100644 --- a/apps/mixpost/docker-compose.yml +++ b/apps/mixpost/docker-compose.yml @@ -7,7 +7,7 @@ services: environment: - APP_NAME='Mixpost' - APP_KEY='${MIXPOST_APP_KEY}' - - APP_URL='https://${APP_DOMAIN}' + - APP_URL='${APP_PROTOCOL:-http}://${APP_DOMAIN}' - DB_HOST=mixpost-mysql - DB_DATABASE=mixpost - DB_USERNAME=tipi diff --git a/apps/monerod/config.json b/apps/monerod/config.json index b7a0a006..285b4505 100644 --- a/apps/monerod/config.json +++ b/apps/monerod/config.json @@ -6,8 +6,8 @@ "no_gui": true, "port": 18080, "id": "monerod", - "tipi_version": 5, - "version": "0.18.2.0", + "tipi_version": 6, + "version": "0.18.2.2", "categories": [ "finance" ], diff --git a/apps/monerod/docker-compose.yml b/apps/monerod/docker-compose.yml index 46c556da..1b7caaf4 100644 --- a/apps/monerod/docker-compose.yml +++ b/apps/monerod/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: monerod: - image: sethsimmons/simple-monerod:v0.18.2.0 + image: sethsimmons/simple-monerod:v0.18.2.2 dns: - ${DNS_IP} ports: diff --git a/apps/movary/config.json b/apps/movary/config.json index 3473a2c8..06399393 100644 --- a/apps/movary/config.json +++ b/apps/movary/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "movary", - "tipi_version": 1, - "version": "0.47.2", - "categories": ["media"], + "tipi_version": 3, + "version": "0.50.0", + "categories": [ + "media" + ], "description": "Movary is a self-hosted web application to track and rate your watched movies (like a digital movie diary). You can import/export your history and ratings from/to third parties like trakt.tv or letterboxd.com, scrobble your watches via Plex and Jellyfin and more.", "short_desc": "Movary is a self-hosted web application to track and rate your watched movies. ", "author": "leepeuker", diff --git a/apps/movary/docker-compose.yml b/apps/movary/docker-compose.yml index 80abe6ab..e415d2b7 100644 --- a/apps/movary/docker-compose.yml +++ b/apps/movary/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: movary: - image: leepeuker/movary:0.47.2 + image: leepeuker/movary:0.50.0 container_name: movary environment: - TMDB_API_KEY=${MOVARY_TMDB_API_KEY} diff --git a/apps/movary/metadata/logo.jpg b/apps/movary/metadata/logo.jpg index fcdf4e0c..f9ae6318 100644 Binary files a/apps/movary/metadata/logo.jpg and b/apps/movary/metadata/logo.jpg differ diff --git a/apps/mstream/metadata/logo.jpg b/apps/mstream/metadata/logo.jpg index 5ba06441..4f47a26a 100644 Binary files a/apps/mstream/metadata/logo.jpg and b/apps/mstream/metadata/logo.jpg differ diff --git a/apps/n8n/config.json b/apps/n8n/config.json index c697a46a..4f49ccb8 100644 --- a/apps/n8n/config.json +++ b/apps/n8n/config.json @@ -5,9 +5,11 @@ "exposable": true, "port": 8094, "id": "n8n", - "tipi_version": 11, - "version": "0.221.2", - "categories": ["automation"], + "tipi_version": 12, + "version": "0.224.1", + "categories": [ + "automation" + ], "description": "n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly versatile, enabling you to connect anything to everything.", "short_desc": "Workflow Automation Tool. Alternative to Zapier", "author": "n8n.io", diff --git a/apps/n8n/docker-compose.yml b/apps/n8n/docker-compose.yml index 6b9dab23..801dafa7 100644 --- a/apps/n8n/docker-compose.yml +++ b/apps/n8n/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.7' services: n8n: container_name: n8n - image: n8nio/n8n:0.221.2 + image: n8nio/n8n:0.224.1 restart: unless-stopped ports: - ${APP_PORT}:5678 diff --git a/apps/nextcloud/config.json b/apps/nextcloud/config.json index d7f323e6..1b08ae57 100644 --- a/apps/nextcloud/config.json +++ b/apps/nextcloud/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8083, "id": "nextcloud", - "tipi_version": 10, - "version": "25.0.5-apache", + "tipi_version": 11, + "version": "25.0.6-apache", "categories": [ "data" ], diff --git a/apps/nextcloud/docker-compose.yml b/apps/nextcloud/docker-compose.yml index 886b381d..b4ff9a94 100644 --- a/apps/nextcloud/docker-compose.yml +++ b/apps/nextcloud/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: nextcloud: container_name: nextcloud - image: nextcloud:25.0.5-apache + image: nextcloud:25.0.6-apache restart: unless-stopped ports: - ${APP_PORT}:80 @@ -69,7 +69,7 @@ services: - tipi_main_network cron: - image: nextcloud:25.0.5-apache + image: nextcloud:25.0.6-apache restart: on-failure volumes: - ${APP_DATA_DIR}/data/nextcloud:/var/www/html diff --git a/apps/nocodb/config.json b/apps/nocodb/config.json index e143dfb6..0bc092d9 100644 --- a/apps/nocodb/config.json +++ b/apps/nocodb/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "nocodb", - "tipi_version": 1, - "version": "0.105.3", - "categories": ["utilities"], + "tipi_version": 4, + "version": "0.106.1", + "categories": [ + "utilities" + ], "description": "The Open Source Airtable Alternative. Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.", "short_desc": "Open Source Airtable Alternative", "author": "https://github.com/nocodb", diff --git a/apps/nocodb/docker-compose.yml b/apps/nocodb/docker-compose.yml index c09d37d8..e75f13fa 100644 --- a/apps/nocodb/docker-compose.yml +++ b/apps/nocodb/docker-compose.yml @@ -8,10 +8,10 @@ services: condition: service_healthy environment: - NC_DB=pg://nocodb-db:5432?u=postgres&p=${NOCODB_DB_PASSWORD}&d=nocodb - - NC_PUBLIC_URL=https://${APP_DOMAIN} + - NC_PUBLIC_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - NC_AUTH_JWT_SECRET=${NOCODB_JWT_SECRET} - NC_REDIS_URL=redis://default:${NOCODB_REDIS_PASSWORD}@nocodb-redis:6379 - image: 'nocodb/nocodb:0.105.3' + image: 'nocodb/nocodb:0.106.1' ports: - '${APP_PORT}:8080' restart: always diff --git a/apps/onedev/config.json b/apps/onedev/config.json index abae2eac..d893ee5f 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 3, - "version": "8.0.15", + "tipi_version": 9, + "version": "8.1.6", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 62722263..0cfa0d64 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: onedev: - image: 1dev/server:8.0.15 + image: 1dev/server:8.1.6 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect diff --git a/apps/owncloud/config.json b/apps/owncloud/config.json index 494b9058..bf137c63 100644 --- a/apps/owncloud/config.json +++ b/apps/owncloud/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "owncloud", - "tipi_version": 2, - "version": "10.12.0", + "tipi_version": 3, + "version": "10.12.1", "categories": [ "data" ], diff --git a/apps/owncloud/docker-compose.yml b/apps/owncloud/docker-compose.yml index f12cc61b..d298463c 100644 --- a/apps/owncloud/docker-compose.yml +++ b/apps/owncloud/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: owncloud: - image: owncloud/server:10.12.0 + image: owncloud/server:10.12.1 container_name: owncloud restart: unless-stopped ports: diff --git a/apps/pairdrop/config.json b/apps/pairdrop/config.json new file mode 100644 index 00000000..703718a5 --- /dev/null +++ b/apps/pairdrop/config.json @@ -0,0 +1,22 @@ +{ + "$schema": "../schema.json", + "name": "PairDrop", + "port": 8182, + "available": true, + "exposable": true, + "force_expose": true, + "id": "pairdrop", + "tipi_version": 2, + "version": "1.6.3", + "categories": [ + "media", + "data", + "utilities" + ], + "description": "Local file sharing in your browser. Inspired by Apple's AirDrop", + "short_desc": "Local file sharing in your browser. Inspired by Apple's AirDrop", + "author": "schlagmichdoch", + "source": "https://github.com/schlagmichdoch/PairDrop", + "website": "https://pairdrop.net/", + "form_fields": [] +} diff --git a/apps/pairdrop/docker-compose.yml b/apps/pairdrop/docker-compose.yml new file mode 100644 index 00000000..64bb4315 --- /dev/null +++ b/apps/pairdrop/docker-compose.yml @@ -0,0 +1,23 @@ +version: "3" + +services: + pairdrop: + image: lscr.io/linuxserver/pairdrop:1.6.3 + container_name: pairdrop + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TZ} + - RATE_LIMIT=false] + - WS_FALLBACK=false + ports: + - ${APP_PORT}:3000 + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.pairdrop.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.pairdrop.entrypoints: websecure + traefik.http.routers.pairdrop.service: pairdrop + traefik.http.routers.pairdrop.tls.certresolver: myresolver + traefik.http.services.pairdrop.loadbalancer.server.port: 3000 diff --git a/apps/pairdrop/metadata/description.md b/apps/pairdrop/metadata/description.md new file mode 100644 index 00000000..ec60b35c --- /dev/null +++ b/apps/pairdrop/metadata/description.md @@ -0,0 +1,25 @@ +# PairDrop + +Local file sharing in your browser. Inspired by Apple's AirDrop. +[**Explore »**](https://pairdrop.net) + +[Report Bug](https://github.com/schlagmichdoch/PairDrop/issues) · [Request Feature](https://github.com/schlagmichdoch/PairDrop/issues) + +## Features + +[PairDrop](https://pairdrop.net) is a sublime alternative to AirDrop that works on all platforms. + +Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices. As it is web based, it runs on all devices. + +You want to quickly send a file from your phone to your laptop? +You want to share photos in original quality with friends that use a mixture of Android and iOS? +You want to share private files peer to peer between Linux systems? +AirDrop is unreliable again? +_Send it with PairDrop!_ + +Developed based on [Snapdrop](https://github.com/RobinLinus/snapdrop) + + +## Screenshots + +[![Pairdrop Preview](https://github.com/schlagmichdoch/PairDrop/raw/master/docs/pairdrop_screenshot_mobile.gif)](https://github.com/schlagmichdoch/PairDrop/blob/master/docs/pairdrop_screenshot_mobile.gif) \ No newline at end of file diff --git a/apps/pairdrop/metadata/logo.jpg b/apps/pairdrop/metadata/logo.jpg new file mode 100644 index 00000000..e0872b04 Binary files /dev/null and b/apps/pairdrop/metadata/logo.jpg differ diff --git a/apps/paperless-ngx/config.json b/apps/paperless-ngx/config.json new file mode 100644 index 00000000..7c76f15e --- /dev/null +++ b/apps/paperless-ngx/config.json @@ -0,0 +1,48 @@ +{ + "$schema": "../schema.json", + "name": "Paperless-ngx", + "available": true, + "exposable": true, + "port": 8012, + "id": "paperless-ngx", + "tipi_version": 1, + "version": "1.14.0", + "categories": [ + "utilities" + ], + "description": "Paperless-ngx is a community-supported open-source document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.", + "short_desc": "Document Management System (DMS)", + "author": "Daniel Quinn, Jonas Winkler, and the Paperless-ngx team", + "source": "https://github.com/paperless-ngx/paperless-ngx", +"form_fields": [ + { + "type": "text", + "label": "Administrator Username", + "required": true, + "min": 5, + "max": 20, + "hint": "Username for the paperless-ngx Admin user", + "env_variable": "PAPERLESS_ADMIN_USERNAME" + }, + { + "type": "password", + "label": "Administrator password", + "required": true, + "min": 5, + "max": 64, + "hint": "Password for the paperless-ngx Admin user", + "env_variable": "PAPERLESS_ADMIN_PASSWORD" + }, + { + "label": "Enable Tika", + "type": "text", + "hint": "Do you want to enable a Tika server for parsing and converting 'Office' documents (such as '.doc', '.xlsx' and '.odt')", + "required": true, + "options": [ + { "label": "Yes", "value": "1" }, + { "label": "No", "value": "2" } + ], + "env_variable": "PAPERLESS_TIKA_ENABLED" + } + ] + } diff --git a/apps/paperless-ngx/docker-compose.yml b/apps/paperless-ngx/docker-compose.yml new file mode 100644 index 00000000..705ff995 --- /dev/null +++ b/apps/paperless-ngx/docker-compose.yml @@ -0,0 +1,75 @@ +version: '3.7' +services: + # Redis + broker: + image: docker.io/library/redis:7 + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data/redis:/data + networks: + - tipi_main_network + + # Postgres SQL + db: + image: docker.io/library/postgres:13 + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data + environment: + POSTGRES_DB: paperless + POSTGRES_USER: paperless + POSTGRES_PASSWORD: paperless + networks: + - tipi_main_network + + gotenberg: + image: docker.io/gotenberg/gotenberg:7.8 + restart: unless-stopped + # The gotenberg chromium route is used to convert .eml files. We do not + # want to allow external content like tracking pixels or even javascript. + command: + - "gotenberg" + - "--chromium-disable-javascript=true" + - "--chromium-allow-list=file:///tmp/.*" + networks: + - tipi_main_network + + tika: + image: ghcr.io/paperless-ngx/tika:latest + restart: unless-stopped + networks: + - tipi_main_network + + paperless-ngx: + container_name: paperless-ngx + image: ghcr.io/paperless-ngx/paperless-ngx:1.14 + restart: unless-stopped + depends_on: + - db + - broker + ports: + - ${APP_PORT}:8000 + volumes: + - ${APP_DATA_DIR}/data/paperless_data:/usr/src/paperless/data + - ${APP_DATA_DIR}/data/paperless_media:/usr/src/paperless/media + - ${APP_DATA_DIR}/data/paperless_export:/usr/src/paperless/export + - ${APP_DATA_DIR}/data/paperless_consume:/usr/src/paperless/consume + environment: + PAPERLESS_REDIS: redis://broker:6379 + PAPERLESS_DBHOST: db + PAPERLESS_ADMIN_USER: ${PAPERLESS_ADMIN_USERNAME} + PAPERLESS_ADMIN_PASSWORD: ${PAPERLESS_ADMIN_PASSWORD} + PAPERLESS_TIKA_ENABLED: ${PAPERLESS_TIKA_ENABLED} + PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 + PAPERLESS_TIKA_ENDPOINT: http://tika:9998 + PAPERLESS_URL: ${APP_PROTOCOL:-http}://${APP_DOMAIN} + COMPOSE_PROJECT_NAME: paperless-ngx + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.paperless-ngx.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.paperless-ngx.entrypoints: websecure + traefik.http.routers.paperless-ngx.service: paperless-ngx + traefik.http.routers.paperless-ngx.tls.certresolver: myresolver + traefik.http.services.paperless-ngx.loadbalancer.server.port: 8000 \ No newline at end of file diff --git a/apps/paperless-ngx/metadata/description.md b/apps/paperless-ngx/metadata/description.md new file mode 100644 index 00000000..76245faf --- /dev/null +++ b/apps/paperless-ngx/metadata/description.md @@ -0,0 +1,39 @@ +# Paperless-ngx +Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper. + +## ! IMPORTANT - PLEASE READ ! +- Please **be patient** during installation, it may take a few minutes to download and install all dependencies. + +- Please wait a few seconds after Tipi says that the installation was finished, because Paperless-ngx needs some time to start. + +- **Tika** is available in this App, however you need to decide if you want to use it or not. You may disable it because of performance reasons. + - Tika allows you to upload Office documents (MSOffice, LibreOffice, etc) and automatically creates PDF versions of these documents. + - If you disable Tika, you will not be able to upload these document types. + - See here for more Information about Tika: https://docs.paperless-ngx.com/configuration/#tika + +![Dashboard](https://github.com/paperless-ngx/paperless-ngx/raw/main/resources/logo/web/png/Black%20logo%20-%20no%20background.png#gh-light-mode-only) + +![Dashboard](https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docs/assets/screenshots/documents-smallcards.png#gh-light-mode-only) + +- Organize and index your scanned documents with tags, correspondents, types, and more. +- Performs OCR on your documents, adds selectable text to image only documents and adds tags, correspondents and document types to your documents. +- Supports PDF documents, images, plain text files, and Office documents (Word, Excel, Powerpoint, and LibreOffice equivalents). + - Office document support is optional and provided by Apache Tika (see [configuration](https://docs.paperless-ngx.com/configuration/#tika)) +- Paperless stores your documents plain on disk. Filenames and folders are managed by paperless and their format can be configured freely. +- Single page application front end. + - Includes a dashboard that shows basic statistics and has document upload. + - Filtering by tags, correspondents, types, and more. + - Customizable views can be saved and displayed on the dashboard. +- Full text search helps you find what you need. + - Auto completion suggests relevant words from your documents. + - Results are sorted by relevance to your search query. + - Highlighting shows you which parts of the document matched the query. + - Searching for similar documents ("More like this") +- Email processing: Paperless adds documents from your email accounts. + - Configure multiple accounts and filters for each account. + - When adding documents from mail, paperless can move these mail to a new folder, mark them as read, flag them as important or delete them. +- Machine learning powered document matching. + - Paperless-ngx learns from your documents and will be able to automatically assign tags, correspondents and types to documents once you've stored a few documents in paperless. +- Optimized for multi core systems: Paperless-ngx consumes multiple documents in parallel. +- The integrated sanity checker makes sure that your document archive is in good health. +- [More screenshots are available in the documentation](https://docs.paperless-ngx.com/#screenshots). diff --git a/apps/paperless-ngx/metadata/logo.jpg b/apps/paperless-ngx/metadata/logo.jpg new file mode 100644 index 00000000..d192c8f4 Binary files /dev/null and b/apps/paperless-ngx/metadata/logo.jpg differ diff --git a/apps/peppermint/config.json b/apps/peppermint/config.json index 65f43e53..fe50b3ed 100644 --- a/apps/peppermint/config.json +++ b/apps/peppermint/config.json @@ -5,7 +5,7 @@ "available": true, "exposable": true, "id": "peppermint", - "tipi_version": 1, + "tipi_version": 2, "version": "latest", "categories": ["utilities"], "description": "An open source ticket management & help desk solution.", diff --git a/apps/peppermint/docker-compose.yml b/apps/peppermint/docker-compose.yml index 081c29b6..d9118139 100644 --- a/apps/peppermint/docker-compose.yml +++ b/apps/peppermint/docker-compose.yml @@ -9,7 +9,7 @@ services: - DB_USERNAME=tipi - DB_PASSWORD=${PEPPERMINT_DB_PASSWORD} - DB_HOST=peppermint-db - - BASE_URL=https://${APP_DOMAIN} + - BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} restart: unless-stopped ports: - ${APP_PORT}:5000 diff --git a/apps/podfetch/metadata/logo.jpg b/apps/podfetch/metadata/logo.jpg index fedcaa15..19fe7a23 100644 Binary files a/apps/podfetch/metadata/logo.jpg and b/apps/podfetch/metadata/logo.jpg differ diff --git a/apps/portainer/config.json b/apps/portainer/config.json index 0eb0d66f..1581570c 100644 --- a/apps/portainer/config.json +++ b/apps/portainer/config.json @@ -6,9 +6,11 @@ "exposable": true, "https": true, "id": "portainer", - "tipi_version": 7, - "version": "2.17.1-alpine", - "categories": ["utilities"], + "tipi_version": 9, + "version": "2.18.2-alpine", + "categories": [ + "utilities" + ], "description": "", "short_desc": "Making Docker and Kubernetes management easy.", "author": "portainer.io", diff --git a/apps/portainer/docker-compose.yml b/apps/portainer/docker-compose.yml index c482ab93..b96b94a7 100644 --- a/apps/portainer/docker-compose.yml +++ b/apps/portainer/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: portainer: - image: portainer/portainer-ce:2.17.1-alpine + image: portainer/portainer-ce:2.18.2-alpine container_name: portainer restart: unless-stopped ports: diff --git a/apps/qbittorrent/config.json b/apps/qbittorrent/config.json index 0256ddbe..673954ac 100644 --- a/apps/qbittorrent/config.json +++ b/apps/qbittorrent/config.json @@ -5,7 +5,7 @@ "exposable": true, "port": 8133, "id": "qbittorrent", - "tipi_version": 3, + "tipi_version": 4, "version": "4.5.2", "categories": [ "utilities" diff --git a/apps/qbittorrent/docker-compose.yml b/apps/qbittorrent/docker-compose.yml index 555b81f1..9c8e26c9 100644 --- a/apps/qbittorrent/docker-compose.yml +++ b/apps/qbittorrent/docker-compose.yml @@ -12,7 +12,7 @@ services: - WEBUI_PORT=${APP_PORT} volumes: - ${APP_DATA_DIR}/data/config:/config - - ${ROOT_FOLDER_HOST}/media/torrents:/downloads + - ${ROOT_FOLDER_HOST}/media/torrents:/media/torrents ports: - ${APP_PORT}:${APP_PORT} - 6881:6881 diff --git a/apps/qbittorrent/metadata/description.md b/apps/qbittorrent/metadata/description.md index ef7a7407..810d27fd 100644 --- a/apps/qbittorrent/metadata/description.md +++ b/apps/qbittorrent/metadata/description.md @@ -12,4 +12,4 @@ Password: adminadmin | Root Folder | Container Folder | |-------------------------------------------|------------------| | /runtipi/app-data/qbittorrent/data/config | /config | -| /runtipi/media/torrents | /downloads | \ No newline at end of file +| /runtipi/media/torrents | /media/torrents | diff --git a/apps/radarr/config.json b/apps/radarr/config.json index e508ed84..02847ed0 100644 --- a/apps/radarr/config.json +++ b/apps/radarr/config.json @@ -5,9 +5,12 @@ "exposable": true, "port": 8088, "id": "radarr", - "tipi_version": 4, - "version": "4.3.2", - "categories": ["media", "utilities"], + "tipi_version": 5, + "version": "4.4.4", + "categories": [ + "media", + "utilities" + ], "description": "Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available. Note that only one type of a given movie is supported. If you want both an 4k version and 1080p version of a given movie you will need multiple instances.", "short_desc": "Movie collection manager for Usenet and BitTorrent users.", "author": "radarr.video", diff --git a/apps/radarr/docker-compose.yml b/apps/radarr/docker-compose.yml index bc898f90..65f35f67 100644 --- a/apps/radarr/docker-compose.yml +++ b/apps/radarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: radarr: - image: lscr.io/linuxserver/radarr:4.3.2 + image: lscr.io/linuxserver/radarr:4.4.4 container_name: radarr environment: - PUID=1000 diff --git a/apps/romm/config.json b/apps/romm/config.json index 9fa03a2f..c7604ec9 100644 --- a/apps/romm/config.json +++ b/apps/romm/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "romm", - "tipi_version": 2, - "version": "1.6.5", - "categories": ["gaming"], + "tipi_version": 4, + "version": "1.8.1", + "categories": [ + "gaming" + ], "description": "RomM (Rom Manager) is a web based retro roms manager integrated with IGDB.", "short_desc": "RomM (Rom Manager) is a web based retro roms manager integrated with IGDB.", "author": "Zurdi15", diff --git a/apps/romm/docker-compose.yml b/apps/romm/docker-compose.yml index ea443f5e..486230f0 100644 --- a/apps/romm/docker-compose.yml +++ b/apps/romm/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: romm: - image: zurdi15/romm:1.6.5 + image: zurdi15/romm:1.8.1 container_name: romm environment: - ROMM_DB_DRIVER=mariadb diff --git a/apps/romm/metadata/logo.jpg b/apps/romm/metadata/logo.jpg index 6f798ac6..93c5b604 100644 Binary files a/apps/romm/metadata/logo.jpg and b/apps/romm/metadata/logo.jpg differ diff --git a/apps/rss/config.json b/apps/rss/config.json index cfc13d7c..b369a2c3 100644 --- a/apps/rss/config.json +++ b/apps/rss/config.json @@ -5,9 +5,12 @@ "available": true, "exposable": true, "id": "rss", - "tipi_version": 1, - "version": "v1.2.0", - "categories": ["utilities", "media"], + "tipi_version": 2, + "version": "1.3.0", + "categories": [ + "utilities", + "media" + ], "description": "A simple twitter-feed-style RSS aggregator written in PHP, Laravel, Inertia.js, Tailwind and Vue.js", "short_desc": "A simple, opinionated, RSS feed aggregator.", "author": "https://github.com/ssddanbrown", diff --git a/apps/rss/docker-compose.yml b/apps/rss/docker-compose.yml index 8b293f46..769a140e 100644 --- a/apps/rss/docker-compose.yml +++ b/apps/rss/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: rss: - image: ghcr.io/ssddanbrown/rss:v1.2.0 + image: ghcr.io/ssddanbrown/rss:v1.3.0 container_name: rss environment: - APP_NAME=Tipi-RSS diff --git a/apps/sabnzbd/config.json b/apps/sabnzbd/config.json index fd4c72e2..c48cd53f 100644 --- a/apps/sabnzbd/config.json +++ b/apps/sabnzbd/config.json @@ -5,9 +5,12 @@ "available": true, "exposable": true, "id": "sabnzbd", - "tipi_version": 2, - "version": "3.7.2", - "categories": ["media", "utilities"], + "tipi_version": 4, + "version": "4.0.1", + "categories": [ + "media", + "utilities" + ], "description": "Sabnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction.", "short_desc": "Sabnzbd makes Usenet as simple and streamlined as possible by automating everything we can", "author": "Sabnzbd", diff --git a/apps/sabnzbd/docker-compose.yml b/apps/sabnzbd/docker-compose.yml index becda7a5..27118788 100644 --- a/apps/sabnzbd/docker-compose.yml +++ b/apps/sabnzbd/docker-compose.yml @@ -2,13 +2,13 @@ version: '3' services: sabnzbd: - image: lscr.io/linuxserver/sabnzbd:3.7.2 + image: lscr.io/linuxserver/sabnzbd:4.0.1 container_name: sabnzbd ports: - ${APP_PORT}:8080 volumes: - ${APP_DATA_DIR}/data/config:/config - - ${ROOT_FOLDER_HOST}/media/usenet:/downloads + - ${ROOT_FOLDER_HOST}/media/usenet:/media/usenet environment: - PUID=1000 - PGID=1000 diff --git a/apps/sabnzbd/metadata/description.md b/apps/sabnzbd/metadata/description.md index 42725e19..449ea94c 100644 --- a/apps/sabnzbd/metadata/description.md +++ b/apps/sabnzbd/metadata/description.md @@ -11,4 +11,4 @@ If you want to know more you can head over to our website: [https://sabnzbd.org] | Root Folder | Container Folder | |---------------------------------------|------------------| | /runtipi/app-data/sabnzbd/data/config | /config | -| /runtipi/media/usenet | /downloads | \ No newline at end of file +| /runtipi/media/usenet | /media/usenet | diff --git a/apps/schema.json b/apps/schema.json index e6ffb6ac..592d8cb6 100644 --- a/apps/schema.json +++ b/apps/schema.json @@ -32,6 +32,12 @@ "gid": { "type": "integer" }, + "force_expose": { + "type": "boolean" + }, + "generate_vapid_keys": { + "type": "boolean" + }, "requirements": { "type": "object", "properties": { diff --git a/apps/tailscale/config.json b/apps/tailscale/config.json index 18ecd6df..9a52ad75 100644 --- a/apps/tailscale/config.json +++ b/apps/tailscale/config.json @@ -4,8 +4,8 @@ "available": true, "port": 8093, "id": "tailscale", - "tipi_version": 5, - "version": "1.38.3", + "tipi_version": 7, + "version": "1.40.0", "categories": [ "network", "security" diff --git a/apps/tailscale/docker-compose.yml b/apps/tailscale/docker-compose.yml index fc5d7338..276a8625 100644 --- a/apps/tailscale/docker-compose.yml +++ b/apps/tailscale/docker-compose.yml @@ -4,7 +4,7 @@ services: tailscale: container_name: tailscale network_mode: "host" # TODO: Find a way to remove this - image: tailscale/tailscale:v1.38.3 + image: tailscale/tailscale:v1.40.0 privileged: true restart: on-failure stop_grace_period: 1m diff --git a/apps/tasks-md/config.json b/apps/tasks-md/config.json index c76a958c..12d84d1c 100644 --- a/apps/tasks-md/config.json +++ b/apps/tasks-md/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "tasks-md", - "tipi_version": 1, - "version": "1.5.0", - "categories": ["development"], + "tipi_version": 2, + "version": "1.8.0", + "categories": [ + "development" + ], "description": "A self-hosted, file based task management board that supports Markdown syntax", "short_desc": "A self-hosted, file based task management board.", "author": "BaldissaraMatheus", diff --git a/apps/tasks-md/docker-compose.yml b/apps/tasks-md/docker-compose.yml index 1ac966eb..f5f3029e 100644 --- a/apps/tasks-md/docker-compose.yml +++ b/apps/tasks-md/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: tasks-md: container_name: tasks-md - image: baldissaramatheus/tasks.md:1.5.0 + image: baldissaramatheus/tasks.md:1.8.0 ports: - ${APP_PORT}:8080 volumes: diff --git a/apps/tautulli/config.json b/apps/tautulli/config.json index 32e2d352..695d8b92 100644 --- a/apps/tautulli/config.json +++ b/apps/tautulli/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8181, "id": "tautulli", - "tipi_version": 5, - "version": "2.12.2", + "tipi_version": 6, + "version": "2.12.3", "categories": [ "media", "utilities" diff --git a/apps/tautulli/docker-compose.yml b/apps/tautulli/docker-compose.yml index cac807a4..f1ab82ed 100644 --- a/apps/tautulli/docker-compose.yml +++ b/apps/tautulli/docker-compose.yml @@ -2,7 +2,7 @@ version: "2.1" services: tautulli: container_name: tautulli - image: lscr.io/linuxserver/tautulli:2.12.2 + image: lscr.io/linuxserver/tautulli:2.12.3 environment: - PUID=1000 - PGID=1000 diff --git a/apps/transmission/config.json b/apps/transmission/config.json index e7fd36ab..c03261ed 100644 --- a/apps/transmission/config.json +++ b/apps/transmission/config.json @@ -10,8 +10,8 @@ ] }, "id": "transmission", - "tipi_version": 4, - "version": "4.0.2", + "tipi_version": 6, + "version": "4.0.3", "categories": [ "utilities" ], diff --git a/apps/transmission/docker-compose.yml b/apps/transmission/docker-compose.yml index 321566c4..f42e1cf0 100644 --- a/apps/transmission/docker-compose.yml +++ b/apps/transmission/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: transmission: - image: lscr.io/linuxserver/transmission:4.0.2 + image: lscr.io/linuxserver/transmission:4.0.3 container_name: transmission dns: - ${DNS_IP} @@ -17,7 +17,7 @@ services: # - HOST_WHITELIST=dnsnane list #optional volumes: - ${APP_DATA_DIR}/data/config:/config - - ${ROOT_FOLDER_HOST}/media/torrents:/downloads + - ${ROOT_FOLDER_HOST}/media/torrents:/media/torrents ports: - ${APP_PORT}:9091 - 51413:51413 diff --git a/apps/transmission/metadata/description.md b/apps/transmission/metadata/description.md index 7dc4f22e..217a4772 100644 --- a/apps/transmission/metadata/description.md +++ b/apps/transmission/metadata/description.md @@ -13,4 +13,4 @@ Visit [https://transmissionbt.com/](https://transmissionbt.com/) for more inform | Root Folder | Container Folder | |-------------------------------|------------------| | /runtipi/app-data/transmission/data/config | /config | -| /runtipi/media/torrents | /downloads | \ No newline at end of file +| /runtipi/media/torrents | /media/torrents | diff --git a/apps/vikunja/metadata/description.md b/apps/vikunja/metadata/description.md index b95959e8..a9d3a419 100644 --- a/apps/vikunja/metadata/description.md +++ b/apps/vikunja/metadata/description.md @@ -6,6 +6,6 @@ - Share lists and namespaces with teams and users with granular permissions - Plenty of details for tasks -See the [features page](https://vikunja.cloud/features) on our website for a more exaustive list or try it on [try.vikunja.io](try.vikunja.io)! +See the [features page](https://vikunja.cloud/features) on our website for a more exaustive list or try it on [try.vikunja.io](https://try.vikunja.io)! ![](https://vikunja.io/images/vikunja/09-task-detail-dark.png) diff --git a/apps/wizarr/config.json b/apps/wizarr/config.json index 3a1b7f8f..a724095b 100644 --- a/apps/wizarr/config.json +++ b/apps/wizarr/config.json @@ -5,7 +5,7 @@ "available": true, "exposable": true, "id": "wizarr", - "tipi_version": 2, + "tipi_version": 3, "version": "2.1.3", "categories": [ "utilities" diff --git a/apps/wizarr/docker-compose.yml b/apps/wizarr/docker-compose.yml index 0e075b00..10d8fe5a 100644 --- a/apps/wizarr/docker-compose.yml +++ b/apps/wizarr/docker-compose.yml @@ -9,7 +9,7 @@ services: volumes: - ${APP_DATA_DIR}/data/database:/data/database environment: - - APP_URL=https://${APP_DOMAIN} + - APP_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - DISABLE_BUILTIN_AUTH=false #Set to true ONLY if you are using another auth provider (Authelia, Authentik, etc) - TZ=${TZ} networks: diff --git a/renovate.js b/renovate.js new file mode 100644 index 00000000..4b7c51f6 --- /dev/null +++ b/renovate.js @@ -0,0 +1,29 @@ +module.exports = { + extends: ["config:base"], + onboarding: false, + requireConfig: false, + gitIgnoredAuthors: ["githubaction@githubaction.com"], + dependencyDashboard: true, + enabledManagers: ["docker-compose", "dockerfile"], + hostRules: [ + { + matchHost: "index.docker.io", + hostType: "docker", + username: process.env.DOCKERHUB_USERNAME, + password: process.env.DOCKERHUB_TOKEN, + }, + { + matchHost: "docker.io", + concurrentRequestLimit: 2, + }, + ], + packageRules: [ + { + managers: ["docker-compose", "dockerfile"], + packagePatterns: [ + "^([^\\/]+\\/)?(mysql|mariadb|mongodb|mongo|postgres|redis)(:|$)", + ], + enabled: false, + }, + ], +}; diff --git a/renovate.json b/renovate.json index 77b47280..d2aba4b5 100644 --- a/renovate.json +++ b/renovate.json @@ -1,11 +1,29 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base" - ], - "gitIgnoredAuthors": [ - "githubaction@githubaction.com" - ], - "dependencyDashboard": true, - "enabledManagers": ["docker-compose", "dockerfile"] + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:base" + ], + "gitIgnoredAuthors": [ + "githubaction@githubaction.com" + ], + "dependencyDashboard": true, + "enabledManagers": ["docker-compose", "dockerfile"], + "hostRules": [{ + "matchHost": "index.docker.io", + "hostType": "docker", + "username": "jphj", + "encrypted": { + "password": "wcFMA/xDdHCJBTolAQ/9GRBMmOIIYT7vGWpjMD4UJN1zHR8O4xrmbwDFl/VXO26SoYcv34QpJsNr748f2zPVwQ77+Z22Tv9QMY1aA0sgT3t69NN1KVt9ErWa6Hctm5fFxhichrvgfb7mmjDcHr2mG2YGGHF5btZHlfxZXdEeLyBLwVXuS4tOb+9JAlyi6zvpdSqdSviPYFv2HSccMyuQxGHoQ02JT8v65K86E6BtvxCPVovs6RsBOF5SIZ4QHU4gaa0X2pDHefM61/b41QJLRNVNbR6NjROOG8Tt5JSgFxwvmO2HzT2LHzHlIXm936ElHRHkM7kaE3GMbT1tpLl2yGmQPDNHsUyAs9B8E86/I6Jatadq40jwLUWeCy2FAx4XwrBMFSNp9D+DmdFk6PcOUT4Wjyxg1gUWY67DTd6anWjivmbkDmlBqIpbIiJMIel4JlquQF1wnfqf46BKVOFSlBxIb8YZGpB2U0PdM8i4we6nInK4bwK/Ib2Ux4O+GLCEsoUHqD0gUff2+7rdE8Yi4ctui1RWRInE3WA9ix9CawZcVJImcQxKJzNRk1ZzoCe30+uN69o4bFGa/6kRFO6yAmPaOwp781CWX42fZQGZhp8gQzhRUjeDW2Wr2ygJclo9vzJ0eQPh0amdOXL1FazIa6jCtMY6VGMlfwG6Ip9t+NEBcb73GraOboPQMxXUxcTShgGiV+YzkBuH7tKGTSOhbAwhlV3OJs3PFAlvrJ4Vx40LNEinMsSAcVNxoDERi3E1JnjGNe1JlCHqLZEkNhwr9dDrr2OwSuC3RNm3r+hyl0twh97MHQonF/T6jX57aEHojASpml8rapCYUn/CUtXJRdA8zp9eV7P8BN8VpTWLgizd+fJ+Vylj" + } + }, + { + "matchHost": "docker.io", + "concurrentRequestLimit": 2 + } + ], + "packageRules": [{ + "managers": ["docker-compose", "dockerfile"], + "packagePatterns": ["^([^\\/]+\\/)?(mysql|mariadb|mongodb|mongo|postgres|redis)(:|$)"], + "enabled": false + }] }