mirror of
https://github.com/Haxxnet/Compose-Examples
synced 2024-11-30 15:31:12 +00:00
Merge pull request #12 from askiiart/main
Add bibliogram, ombi, librephotos, nitter, whoogle
This commit is contained in:
commit
41733cb179
|
@ -115,6 +115,8 @@ docker compose up
|
|||
- [Prowlarr](examples/prowlarr) - Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Lidarr, Mylar3, Radarr, Readarr, and Sonarr offering complete management of your indexers with no per app Indexer setup required (we do it all).
|
||||
- [Radarr](examples/radarr) - 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.
|
||||
- [Sonarr](examples/sonarr) - Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows 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.
|
||||
- [Ombi](examples/ombi) - Ombi is a tool that enables users to manage requests for movies and TV shows on their Plex server. It provides an easy-to-use interface for users to request new content, leave notes and report issues. Ombi also offers notification and newsletter features, making it easier for server owners to manage user requests and share new content updates.
|
||||
- [LibrePhotos](examples/librephotos) - A self-hosted open source photo management service, with face recognition, geolocation, and more.
|
||||
|
||||
### Document Management Systems (DMS)
|
||||
- [Paperless NGX](examples/paperless-ngx) - A community-supported supercharged version of paperless: scan, index and archive all your physical documents.
|
||||
|
@ -157,6 +159,8 @@ docker compose up
|
|||
- [Tor-Browser](examples/tor-browser) - Running a Tor browser instance on any headless server.
|
||||
- [Firefox](examples/firefox) - Firefox by linuxserver.io allows you to run the popular Firefox web broser on a remote server.
|
||||
- [Libreddit](examples/libreddit) - Libreddit is a portmanteau of "libre" (meaning freedom) and "Reddit". It is a private front-end like Invidious but for Reddit. Browse the coldest takes of r/unpopularopinion without being tracked.
|
||||
- [Bibliogram](examples/bibliogram) - Bibliogram is a private front-end frontend to Instagram, similar to Invidous.
|
||||
- [Nitter](examples/nitter) - Nitter is an alternative front-end to Twitter, and was inspired by Invidious.
|
||||
|
||||
### Internet of Things / Smart Home / IT Automation
|
||||
- [Home Assistant](examples/homeassistant) - Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
|
||||
|
|
4
examples/bibliogram/README.md
Normal file
4
examples/bibliogram/README.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
# References
|
||||
|
||||
- https://hub.docker.com/r/schklom/bibliogram
|
||||
- https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Configuring.md#files
|
3
examples/bibliogram/config.js
Normal file
3
examples/bibliogram/config.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
module.exports = {
|
||||
website_origin: "https://mydomain.net"
|
||||
}
|
10
examples/bibliogram/docker-compose.yml
Normal file
10
examples/bibliogram/docker-compose.yml
Normal file
|
@ -0,0 +1,10 @@
|
|||
version: '3.4'
|
||||
services:
|
||||
bibliogram:
|
||||
image: schklom/bibliogram
|
||||
container_name: bibliogram
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/bibliogram/config.js:/app/config.js:ro
|
||||
ports:
|
||||
- '10407:10407'
|
||||
restart: unless-stopped
|
3
examples/element-web/README.md
Normal file
3
examples/element-web/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# References
|
||||
|
||||
- https://hub.docker.com/r/vectorim/element-web
|
9
examples/element-web/docker-compose.yml
Normal file
9
examples/element-web/docker-compose.yml
Normal file
|
@ -0,0 +1,9 @@
|
|||
version: '3.3'
|
||||
|
||||
services:
|
||||
element-web:
|
||||
image: 'vectorim/element-web'
|
||||
container_name: element-web
|
||||
ports:
|
||||
- '80:80'
|
||||
restart: unless-stopped
|
62
examples/librephotos/.env
Normal file
62
examples/librephotos/.env
Normal file
|
@ -0,0 +1,62 @@
|
|||
# This file contains all the things you need to change to set up your Libre Photos.
|
||||
# There are a few items that must be set for it to work such as the location of your photos.
|
||||
# After the mandatory entries there are some optional ones that you may set.
|
||||
|
||||
# Start of mandatory changes.
|
||||
|
||||
# Location of your photos.
|
||||
scanDirectory=/mnt/docker-volumes/librephotos/pictures
|
||||
|
||||
# Internal data of LibrePhotos
|
||||
data=/mnt/docker-volumes/librephotos/data
|
||||
|
||||
# ------------------------------------------------------------------------------------------------
|
||||
|
||||
# Wow, we are at the optional now. Pretty easy so far. You do not have to change any of the below.
|
||||
|
||||
#What port should Libre Photos be accessed at (Default 3000)
|
||||
httpPort=3000
|
||||
|
||||
# What branch should we install the latest weekly build or the development branch (dev)
|
||||
tag=latest
|
||||
|
||||
# Number of workers, which take care of the request to the api. This setting can dramatically affect the ram usage.
|
||||
# A positive integer generally in the 2-4 x $(NUM_CORES) range.
|
||||
# You’ll want to vary this a bit to find the best for your particular workload.
|
||||
# Each worker needs 800MB of RAM. Change at your own will. Default is 2.
|
||||
gunniWorkers=2
|
||||
|
||||
# You can set the database name. Did you know Libre Photos was forked from OwnPhotos?
|
||||
dbName=librephotos
|
||||
|
||||
# Here you can change the user name for the database.
|
||||
dbUser=docker
|
||||
|
||||
# The password used by the database.
|
||||
dbPass=AaAa1234
|
||||
|
||||
# Default minimum rating to interpret as favorited. This default value is used when creating a new user.
|
||||
# Users can change this in their settings (Dashboards > Library).
|
||||
DEFAULT_FAVORITE_MIN_RATING=4
|
||||
|
||||
# Database host. Only change this if you want to use your own existing Postgres server. If using your own server, you can remove the 'db' container from docker-compose.yml. If you're changing the name of the DB's container name (DB_CONT_NAME further down), you need to set this variable to match that name too.
|
||||
dbHost=db
|
||||
|
||||
# Set the names of the docker containers to your own entries. Or don't, I'm not your dad.
|
||||
# Changing these will require you to `make rename` to rename the services, and start the system with your chosen `docker-compose up -d` invocation again.
|
||||
# Note that changing the DB_CONT_NAME will also need you to set the `dbHost` variable to the same value.
|
||||
DB_CONT_NAME=db
|
||||
BACKEND_CONT_NAME=backend
|
||||
FRONTEND_CONT_NAME=frontend
|
||||
PROXY_CONT_NAME=proxy
|
||||
REDIS_CONT_NAME=redis
|
||||
PGADMIN_CONT_NAME=pgadmin
|
||||
# ---------------------------------------------------------------------------------------------
|
||||
|
||||
# If you are not a developer ignore the following parameters: you will never need them.
|
||||
|
||||
# Where shall we store the backend and frontend code files.
|
||||
codedir=./librephotos/code
|
||||
|
||||
# Location for pgAdmin
|
||||
pgAdminLocation=./librephotos/pgadmin
|
3
examples/librephotos/README.md
Normal file
3
examples/librephotos/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# References
|
||||
|
||||
- https://docs.librephotos.com/1/standard_install/
|
90
examples/librephotos/docker-compose.yml
Normal file
90
examples/librephotos/docker-compose.yml
Normal file
|
@ -0,0 +1,90 @@
|
|||
# DO NOT EDIT
|
||||
# The .env file has everything you need to edit.
|
||||
# Run options:
|
||||
# 1. Use prebuilt images (preferred method):
|
||||
# run cmd: docker-compose up -d
|
||||
# 2. Build images on your own machine:
|
||||
# build cmd: COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build
|
||||
# run cmd: docker-compose up -d
|
||||
|
||||
version: "3.8"
|
||||
services:
|
||||
proxy:
|
||||
image: reallibrephotos/librephotos-proxy:${tag}
|
||||
container_name: librephotos-proxy
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${scanDirectory}:/data
|
||||
- ${data}/protected_media:/protected_media
|
||||
ports:
|
||||
- ${httpPort}:80
|
||||
depends_on:
|
||||
- backend
|
||||
- frontend
|
||||
|
||||
db:
|
||||
image: postgres:13
|
||||
container_name: librephotos-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=${dbUser}
|
||||
- POSTGRES_PASSWORD=${dbPass}
|
||||
- POSTGRES_DB=${dbName}
|
||||
volumes:
|
||||
- ${data}/db:/var/lib/postgresql/data
|
||||
command: postgres -c fsync=off -c synchronous_commit=off -c full_page_writes=off -c random_page_cost=1.0
|
||||
healthcheck:
|
||||
test: psql -U ${dbUser} -d ${dbName} -c "SELECT 1;"
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
frontend:
|
||||
image: reallibrephotos/librephotos-frontend:${tag}
|
||||
container_name: frontend
|
||||
restart: unless-stopped
|
||||
|
||||
backend:
|
||||
image: reallibrephotos/librephotos:${tag}
|
||||
container_name: librephotos-backend
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${scanDirectory}:/data
|
||||
- ${data}/protected_media:/protected_media
|
||||
- ${data}/logs:/logs
|
||||
- ${data}/cache:/root/.cache
|
||||
environment:
|
||||
- SECRET_KEY=${shhhhKey:-}
|
||||
- BACKEND_HOST=backend
|
||||
- ADMIN_EMAIL=${adminEmail:-}
|
||||
- ADMIN_USERNAME=${userName:-}
|
||||
- ADMIN_PASSWORD=${userPass:-}
|
||||
- DB_BACKEND=postgresql
|
||||
- DB_NAME=${dbName}
|
||||
- DB_USER=${dbUser}
|
||||
- DB_PASS=${dbPass}
|
||||
- DB_HOST=${dbHost}
|
||||
- DB_PORT=5432
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- MAPBOX_API_KEY=${mapApiKey:-}
|
||||
- WEB_CONCURRENCY=${gunniWorkers:-1}
|
||||
- SKIP_PATTERNS=${skipPatterns:-}
|
||||
- ALLOW_UPLOAD=${allowUpload:-false}
|
||||
- DEBUG=0
|
||||
- HEAVYWEIGHT_PROCESS=${HEAVYWEIGHT_PROCESS:-}
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
redis:
|
||||
image: redis:6
|
||||
container_name: librephotos-redis
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 12
|
4
examples/nitter/README.md
Normal file
4
examples/nitter/README.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
# References
|
||||
|
||||
- https://github.com/zedeus/nitter/blob/master/docker-compose.yml
|
||||
- https://github.com/zedeus/nitter/blob/master/nitter.example.conf
|
30
examples/nitter/docker-compose.yml
Normal file
30
examples/nitter/docker-compose.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
|
||||
nitter:
|
||||
image: zedeus/nitter:latest
|
||||
container_name: nitter
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nitter/nitter.conf:/src/nitter.conf:ro
|
||||
depends_on:
|
||||
- nitter-redis
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: wget -nv --tries=1 --spider http://127.0.0.1:8080/Jack/status/20 || exit 1
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 2
|
||||
|
||||
nitter-redis:
|
||||
image: redis:6-alpine
|
||||
container_name: nitter-redis
|
||||
command: redis-server --save 60 1 --loglevel warning
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nitter/data:/data
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: redis-cli ping
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 2
|
44
examples/nitter/nitter.conf
Normal file
44
examples/nitter/nitter.conf
Normal file
|
@ -0,0 +1,44 @@
|
|||
[Server]
|
||||
address = "0.0.0.0"
|
||||
port = 8080
|
||||
https = false # disable to enable cookies when not using https
|
||||
httpMaxConnections = 100
|
||||
staticDir = "./public"
|
||||
title = "nitter"
|
||||
hostname = "nitter.net"
|
||||
|
||||
[Cache]
|
||||
listMinutes = 240 # how long to cache list info (not the tweets, so keep it high)
|
||||
rssMinutes = 10 # how long to cache rss queries
|
||||
redisHost = "nitter-redis"
|
||||
redisPort = 6379
|
||||
redisPassword = ""
|
||||
redisConnections = 20 # connection pool size
|
||||
redisMaxConnections = 30
|
||||
# max, new connections are opened when none are available, but if the pool size
|
||||
# goes above this, they're closed when released. don't worry about this unless
|
||||
# you receive tons of requests per second
|
||||
|
||||
[Config]
|
||||
hmacKey = "secretkey" # random key for cryptographic signing of video urls
|
||||
base64Media = false # use base64 encoding for proxied media urls
|
||||
enableRSS = true # set this to false to disable RSS feeds
|
||||
enableDebug = false # enable request logs and debug endpoints
|
||||
proxy = "" # http/https url, SOCKS proxies are not supported
|
||||
proxyAuth = ""
|
||||
tokenCount = 10
|
||||
# minimum amount of usable tokens. tokens are used to authorize API requests,
|
||||
# but they expire after ~1 hour, and have a limit of 187 requests.
|
||||
# the limit gets reset every 15 minutes, and the pool is filled up so there's
|
||||
# always at least $tokenCount usable tokens. again, only increase this if
|
||||
# you receive major bursts all the time
|
||||
|
||||
# Change default preferences here, see src/prefs_impl.nim for a complete list
|
||||
[Preferences]
|
||||
theme = "Nitter"
|
||||
replaceTwitter = "nitter.net"
|
||||
replaceYouTube = "piped.video"
|
||||
replaceReddit = "teddit.net"
|
||||
proxyVideos = true
|
||||
hlsPlayback = false
|
||||
infiniteScroll = false
|
3
examples/ombi/README.md
Normal file
3
examples/ombi/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# References
|
||||
|
||||
- https://hub.docker.com/r/linuxserver/ombi
|
15
examples/ombi/docker-compose.yml
Normal file
15
examples/ombi/docker-compose.yml
Normal file
|
@ -0,0 +1,15 @@
|
|||
version: "2.1"
|
||||
services:
|
||||
ombi:
|
||||
image: lscr.io/linuxserver/ombi:latest
|
||||
container_name: ombi
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=UTC/Chicago
|
||||
# - BASE_URL=/ombi #optional
|
||||
volumes:
|
||||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ombi/config:/config
|
||||
ports:
|
||||
- 3579:3579
|
||||
restart: unless-stopped
|
3
examples/whoogle/README.md
Normal file
3
examples/whoogle/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# References
|
||||
|
||||
- https://github.com/benbusby/whoogle-search/blob/main/docker-compose.yml
|
48
examples/whoogle/docker-compose.yml
Normal file
48
examples/whoogle/docker-compose.yml
Normal file
|
@ -0,0 +1,48 @@
|
|||
# can't use mem_limit in a 3.x docker-compose file in non swarm mode
|
||||
# see https://github.com/docker/compose/issues/4513
|
||||
version: "2.4"
|
||||
|
||||
services:
|
||||
whoogle-search:
|
||||
image: benbusby/whoogle-search
|
||||
container_name: whoogle-search
|
||||
restart: unless-stopped
|
||||
pids_limit: 50
|
||||
mem_limit: 256mb
|
||||
memswap_limit: 256mb
|
||||
# user debian-tor from tor package
|
||||
user: whoogle
|
||||
security_opt:
|
||||
- no-new-privileges
|
||||
cap_drop:
|
||||
- ALL
|
||||
#tmpfs:
|
||||
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/whoogle/config/:size=10M,uid=927,gid=927,mode=1700
|
||||
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/whoogle/var/lib/tor/:size=15M,uid=927,gid=927,mode=1700
|
||||
# - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/whoogle/run/tor/:size=1M,uid=927,gid=927,mode=1700
|
||||
#environment: # Uncomment to configure environment variables
|
||||
# Basic auth configuration, uncomment to enable
|
||||
#- WHOOGLE_USER=<auth username>
|
||||
#- WHOOGLE_PASS=<auth password>
|
||||
# Proxy configuration, uncomment to enable
|
||||
#- WHOOGLE_PROXY_USER=<proxy username>
|
||||
#- WHOOGLE_PROXY_PASS=<proxy password>
|
||||
#- WHOOGLE_PROXY_TYPE=<proxy type (http|https|socks4|socks5)
|
||||
#- WHOOGLE_PROXY_LOC=<proxy host/ip>
|
||||
# Site alternative configurations, uncomment to enable
|
||||
# Note: If not set, the feature will still be available
|
||||
# with default values.
|
||||
#- WHOOGLE_ALT_TW=farside.link/nitter
|
||||
#- WHOOGLE_ALT_YT=farside.link/invidious
|
||||
#- WHOOGLE_ALT_IG=farside.link/bibliogram/u
|
||||
#- WHOOGLE_ALT_RD=farside.link/libreddit
|
||||
#- WHOOGLE_ALT_MD=farside.link/scribe
|
||||
#- WHOOGLE_ALT_TL=farside.link/lingva
|
||||
#- WHOOGLE_ALT_IMG=farside.link/rimgo
|
||||
#- WHOOGLE_ALT_WIKI=farside.link/wikiless
|
||||
#- WHOOGLE_ALT_IMDB=farside.link/libremdb
|
||||
#- WHOOGLE_ALT_QUORA=farside.link/quetre
|
||||
#env_file: # Alternatively, load variables from whoogle.env
|
||||
#- whoogle.env
|
||||
ports:
|
||||
- 5000:5000
|
Loading…
Reference in New Issue
Block a user