Merge branch 'meienberger:master' into app/halo
7
.github/workflows/renovate.yml
vendored
|
@ -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 }}
|
||||
|
|
1
.gitignore
vendored
|
@ -2,3 +2,4 @@ node_modules/
|
|||
package-lock.json
|
||||
github.secrets
|
||||
.DS_Store
|
||||
.nova
|
|
@ -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
|
||||
|
|
18
apps/actual-budget/config.json
Normal file
|
@ -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": []
|
||||
}
|
19
apps/actual-budget/docker-compose.yml
Normal file
|
@ -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
|
12
apps/actual-budget/metadata/description.md
Normal file
|
@ -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/
|
||||
|
||||
|
BIN
apps/actual-budget/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 13 KiB |
|
@ -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": [
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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}
|
||||
|
|
50
apps/chatgpt-ui/config.json
Normal file
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
77
apps/chatgpt-ui/docker-compose.yml
Normal file
|
@ -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
|
25
apps/chatgpt-ui/metadata/description.md
Normal file
|
@ -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
|
BIN
apps/chatgpt-ui/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 42 KiB |
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
traefik.http.services.flatnotes.loadbalancer.server.port: 8080
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
71
apps/gotosocial/config.json
Normal file
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
52
apps/gotosocial/docker-compose.yml
Normal file
|
@ -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
|
58
apps/gotosocial/metadata/description.md
Normal file
|
@ -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-)
|
BIN
apps/gotosocial/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 72 KiB |
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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:
|
||||
|
|
16
apps/hammond/config.json
Normal file
|
@ -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": []
|
||||
}
|
21
apps/hammond/docker-compose.yml
Normal file
|
@ -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
|
26
apps/hammond/metadata/description.md
Normal file
|
@ -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)
|
BIN
apps/hammond/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 55 KiB |
18
apps/hello-world/config.json
Normal file
|
@ -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": []
|
||||
}
|
17
apps/hello-world/docker-compose.yml
Normal file
|
@ -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
|
2
apps/hello-world/metadata/description.md
Normal file
|
@ -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.
|
BIN
apps/hello-world/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 48 KiB |
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.",
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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": [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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:
|
||||
|
|
23
apps/kanboard/config.json
Normal file
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
23
apps/kanboard/docker-compose.yml
Normal file
|
@ -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
|
17
apps/kanboard/metadata/description.md
Normal file
|
@ -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/
|
BIN
apps/kanboard/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 7.8 KiB |
|
@ -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",
|
||||
|
|
|
@ -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:
|
||||
|
|
18
apps/lidarr-deemix/config.json
Normal file
|
@ -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": []
|
||||
}
|
26
apps/lidarr-deemix/docker-compose.yml
Normal file
|
@ -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
|
32
apps/lidarr-deemix/metadata/description.md
Normal file
|
@ -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)
|
BIN
apps/lidarr-deemix/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 102 KiB |
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
traefik.http.services.lidarr.loadbalancer.server.port: 8686
|
||||
|
|
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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}
|
||||
|
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 21 KiB |
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
],
|
||||
|
|
|
@ -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:
|
||||
|
|
22
apps/pairdrop/config.json
Normal file
|
@ -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": []
|
||||
}
|
23
apps/pairdrop/docker-compose.yml
Normal file
|
@ -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
|
25
apps/pairdrop/metadata/description.md
Normal file
|
@ -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)
|
BIN
apps/pairdrop/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
48
apps/paperless-ngx/config.json
Normal file
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
75
apps/paperless-ngx/docker-compose.yml
Normal file
|
@ -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
|
39
apps/paperless-ngx/metadata/description.md
Normal file
|
@ -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).
|
BIN
apps/paperless-ngx/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
|
@ -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.",
|
||||
|
|
|
@ -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
|
||||
|
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
@ -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",
|
||||
|
|