paperless, budibase, kavita, change-detection

This commit is contained in:
Tomasz Borychowski 2022-09-17 12:57:34 +01:00
parent 9230f1113e
commit 77917d4f3c
7 changed files with 242 additions and 1 deletions

View File

@ -205,6 +205,7 @@ The aims is to provide a ready-to-run recipes that you can just copy, paste and
- [Deemix](apps/media/deemix.md) - music
- [Jackett](apps/media/jackett.md) - search engine proxy/adapter
- [Jellyfin](apps/media/jellyfin.md) - watch movies & shows almost everywhere!
- [Kavita](apps/media/kavita.md) - like plex for ebooks & comics
- [Komga](apps/media/komga.md) - comics
- [Navidrome](apps/media/navidrome.md) - music streaming server
- [Plex](apps/media/plex.md) - watch movies & shows everywhere!
@ -279,6 +280,8 @@ The aims is to provide a ready-to-run recipes that you can just copy, paste and
# Other services
- [bitwarden_rs](apps/other/bitwarden.md)
- [budibase](apps/other/budibase.md)
- [change-detection](apps/other/change-detection.md)
- [Cockpit](apps/other/cockpit.md)
- [Code server](apps/other/code.md)
- [Firefox sync server](apps/other/firefox-sync.md)

View File

@ -87,3 +87,15 @@ services:
- ./consume:/usr/src/paperless/consume
- ./trash:/usr/src/paperless/trash
```
## First run these:
```sh
# fetch the docker image
docker-compose pull
# create admin user
docker-compose run --rm webserver createsuperuser
# start
docker-compose up -d
```

27
apps/media/kavita.md Normal file
View File

@ -0,0 +1,27 @@
# Kavita
Probably the best self-hosted ebook & comic reader.
<br>
- [Homepage](http://www.kavitareader.com)
- [Github repo](https://github.com/Kareadita/Kavita)
- [Demo](https://demo.kavitareader.com) - login: demouser, pass: Demouser64
![screenshot](kavita.png)
## docker-compose.yml
```yml
---
services:
kavita:
image: kizaing/kavita:latest
container_name: kavita
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- ./data:/kavita/config
- ./books:/books
```

BIN
apps/media/kavita.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 KiB

View File

@ -1,6 +1,6 @@
# Komga
Probably the best self-hosted comic books reader.
A very good self-hosted comic books reader.
<br>

152
apps/other/budibase.md Normal file
View File

@ -0,0 +1,152 @@
# Budibase
- Build internal apps in minutes.
- This is a "meta" app, that allows to quickly create a database, fill it with data, and create a simple app that would read/write data.
<br>
- [Homepage](https://budibase.com)
- [Github repo](https://github.com/Budibase/budibase)
- [Docs](https://docs.budibase.com/docs)
## .env
```ini
MAIN_PORT=10000
# These should be updated
JWT_SECRET=testsecret
MINIO_ACCESS_KEY=budibase
MINIO_SECRET_KEY=budibase
COUCH_DB_PASSWORD=budibase
COUCH_DB_USER=budibase
REDIS_PASSWORD=budibase
INTERNAL_API_KEY=budibase
# This section contains variables that do not need to be altered under normal circumstances
APP_PORT=4002
WORKER_PORT=4003
MINIO_PORT=4004
COUCH_DB_PORT=4005
REDIS_PORT=6379
BUDIBASE_ENVIRONMENT=PRODUCTION
# An admin user can be automatically created initially if these are set
BB_ADMIN_USER_EMAIL=admin@domain.com
BB_ADMIN_USER_PASSWORD=admin
```
## docker-compose.yml
```yml
---
services:
app-service:
restart: unless-stopped
image: budibase.docker.scarf.sh/budibase/apps
container_name: bbapps
environment:
SELF_HOSTED: 1
COUCH_DB_URL: http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb-service:5984
WORKER_URL: http://worker-service:4003
MINIO_URL: http://minio-service:9000
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
INTERNAL_API_KEY: ${INTERNAL_API_KEY}
BUDIBASE_ENVIRONMENT: ${BUDIBASE_ENVIRONMENT}
PORT: 4002
JWT_SECRET: ${JWT_SECRET}
LOG_LEVEL: info
SENTRY_DSN: https://a34ae347621946bf8acded18e5b7d4b8@o420233.ingest.sentry.io/5338131
ENABLE_ANALYTICS: "false"
REDIS_URL: redis-service:6379
REDIS_PASSWORD: ${REDIS_PASSWORD}
BB_ADMIN_USER_EMAIL: ${BB_ADMIN_USER_EMAIL}
BB_ADMIN_USER_PASSWORD: ${BB_ADMIN_USER_PASSWORD}
depends_on:
- worker-service
- redis-service
worker-service:
restart: unless-stopped
image: budibase.docker.scarf.sh/budibase/worker
container_name: bbworker
environment:
SELF_HOSTED: 1
PORT: 4003
CLUSTER_PORT: ${MAIN_PORT}
JWT_SECRET: ${JWT_SECRET}
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
MINIO_URL: http://minio-service:9000
APPS_URL: http://app-service:4002
COUCH_DB_USERNAME: ${COUCH_DB_USER}
COUCH_DB_PASSWORD: ${COUCH_DB_PASSWORD}
COUCH_DB_URL: http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb-service:5984
SENTRY_DSN: https://a34ae347621946bf8acded18e5b7d4b8@o420233.ingest.sentry.io/5338131
INTERNAL_API_KEY: ${INTERNAL_API_KEY}
REDIS_URL: redis-service:6379
REDIS_PASSWORD: ${REDIS_PASSWORD}
depends_on:
- redis-service
- minio-service
- couch-init
minio-service:
restart: unless-stopped
image: minio/minio
environment:
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
MINIO_BROWSER: "off"
command: server /data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
volumes:
- ./minio:/data
proxy-service:
restart: unless-stopped
ports:
- "${MAIN_PORT}:10000"
container_name: bbproxy
image: budibase/proxy
environment:
- PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10
depends_on:
- minio-service
- worker-service
- app-service
- couchdb-service
couchdb-service:
restart: unless-stopped
image: ibmcom/couchdb3
environment:
- COUCHDB_PASSWORD=${COUCH_DB_PASSWORD}
- COUCHDB_USER=${COUCH_DB_USER}
volumes:
- ./couchdb:/opt/couchdb/data
couch-init:
image: curlimages/curl
environment:
PUT_CALL: "curl -u ${COUCH_DB_USER}:${COUCH_DB_PASSWORD} -X PUT couchdb-service:5984"
depends_on:
- couchdb-service
command: ["sh","-c","sleep 10 && $${PUT_CALL}/_users && $${PUT_CALL}/_replicator; fg;"]
redis-service:
restart: unless-stopped
image: redis
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- ./redis:/data
```

View File

@ -0,0 +1,47 @@
# Change detection
Periodically monitors websites for changes and sends a notification when a change is detected.
- can use plain http request (faster option) or playwright (headless chrome) to render websites with javascript
- can filter a site with css selectors (to e.g. only get notifications when a price changes)
- many useful options like executing javascript on a site, before detecting changes (useful to eg. login)
- uses apprise for notifications, so hundreds of options (email, slack, telegram, sms, etc.)
<br>
- [Github repo](https://github.com/dgtlmoon/changedetection.io)
- [Non-self-hosted version](https://lemonade.changedetection.io/start)
## docker-compose.yml
```yml
---
services:
playwright-chrome:
hostname: playwright-chrome
image: browserless/chrome
restart: unless-stopped
environment:
- SCREEN_WIDTH=1920
- SCREEN_HEIGHT=1024
- SCREEN_DEPTH=16
- ENABLE_DEBUGGER=false
- PREBOOT_CHROME=true
- CONNECTION_TIMEOUT=300000
- MAX_CONCURRENT_SESSIONS=10
- CHROME_REFRESH_TIME=600000
- DEFAULT_BLOCK_ADS=true
- DEFAULT_STEALTH=true
volumes:
- ./data:/datastore
changedetection:
image: ghcr.io/dgtlmoon/changedetection.io
container_name: changedetection
hostname: changedetection
restart: unless-stopped
environment:
- PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000/?stealth=1&--disable-web-security=true
- BASE_URL=https://changedetection.domain.com
ports:
- 5000:5000
```