Compare commits

...

14 Commits

Author SHA1 Message Date
LRVT
ded229e84c
Update README.md 2023-03-02 18:10:21 +01:00
L4RM4ND
c80b7db458 adjust sftpgo 2023-03-02 14:50:27 +01:00
LRVT
0b5e0e7cd7
Update README.md 2023-03-02 14:41:51 +01:00
L4RM4ND
a9d930f314 add filebrowser and filerun 2023-03-02 14:34:50 +01:00
LRVT
2b85010264
Update README.md 2023-03-02 13:50:19 +01:00
LRVT
41733cb179
Merge pull request #12 from askiiart/main
Add bibliogram, ombi, librephotos, nitter, whoogle
2023-03-02 12:29:28 +01:00
LRVT
36428c2c8b
Update docker-compose.yml
comment tmpfs as untested
2023-03-02 12:28:36 +01:00
LRVT
4630de7070
Update docker-compose.yml
adjust container names
2023-03-02 12:26:29 +01:00
LRVT
9038ce1a0e
Update docker-compose.yml 2023-03-02 12:22:59 +01:00
askiiart
9a928fb8db Add everything to README.md 2023-03-01 19:24:44 -06:00
askiiart
731188f2db Fix whoogle compose file, update its README 2023-03-01 19:24:34 -06:00
askiiart
49e408bc41 Add nitter.conf, update its README 2023-03-01 19:24:11 -06:00
askiiart
ecf933bfc3
Merge branch 'Haxxnet:main' into main 2023-03-01 19:11:22 -06:00
askiiart
07eae5f348 Add some stuff, too long to list 2023-03-01 09:32:03 -06:00
21 changed files with 408 additions and 11 deletions

View File

@ -55,7 +55,7 @@ docker compose up
- [Nginx Proxy Manager](examples/nginx-proxy-manager) - Nginx Proxy Manager is an easy way to accomplish reverse proxying hosts with SSL termination.
- [Caddy](examples/caddy) - The Caddy web server is an extensible, cross-platform, open-source web server written in Go. Caddy obtains and renews TLS certificates for your sites automatically.
### Identity Providers / Single Sign On
### Identity Providers / Single Sign On (SSO) / 2FA
- [Authelia](examples/authelia) - Authelia is an open-source authentication and authorization server providing two-factor authentication and single sign-on (SSO) for your applications via a web portal. It acts as a companion for reverse proxies by allowing, denying, or redirecting requests. Recommended to combine with [Traefik](examples/traefik).
### Virtual Private Network (VPN)
@ -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.
@ -128,6 +130,8 @@ docker compose up
- [Nextcloud](examples/nextcloud) - Access and share your files, calendars, contacts, mail and more from any device, on your terms.
- [Seafile](examples/seafile) - File hosting and sharing solution primary for teams and organizations.
- [SFTPGo](examples/sftpgo) - Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob.
- [Filebrowser](examples/filebrowser) - filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files.
- [FileRun](examples/filerun) - FileRun is a self-hosted File Sync and Share web-based application. It is a full featured web based file manager with an easy to use user interface.
- [Gokapi](examples/gokapi) - Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported.
- [Projectsend](examples/projectsend) - ProjectSend is a free, open source software that lets you share files with your clients, focused on ease of use and privacy. It supports clients groups, system users roles, statistics, multiple languages, detailed logs and much more!
- [Pwndrop](examples/pwndrop) - pwndrop is a self-deployable file hosting service for sending out red teaming payloads or securely sharing your private files over HTTP and WebDAV.
@ -157,6 +161,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) (deprecated) - 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.

View 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

View File

@ -0,0 +1,3 @@
module.exports = {
website_origin: "https://mydomain.net"
}

View 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

View File

@ -0,0 +1,3 @@
# References
- https://hub.docker.com/r/vectorim/element-web

View 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

View File

@ -0,0 +1,8 @@
# References
- https://github.com/hurlenko/filebrowser-docker
- https://github.com/filebrowser/filebrowser
# Notes
Default login is `admin:admin` as mentioned [here](https://filebrowser.org/installation#:~:text=You%20just%20need%20to%20go,Password%3A%20admin).

View File

@ -0,0 +1,15 @@
version: "3"
services:
filebrowser:
image: hurlenko/filebrowser
container_name: filebrowser
user: 1000:1000 # adjust to your needs
ports:
- 8080:8080
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filebrowser/data:/data
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filebrowser/config:/config
environment:
- FB_BASEURL=/filebrowser
restart: unless-stopped

View File

@ -0,0 +1,3 @@
# References
- https://github.com/filerun/docker

View File

@ -0,0 +1,32 @@
version: '2'
services:
db:
image: mariadb:10.1
container_name: filerun-db
environment:
- MYSQL_ROOT_PASSWORD=your_mysql_root_password
- MYSQL_USER=your_filerun_username
- MYSQL_PASSWORD=your_filerun_password
- MYSQL_DATABASE=your_filerun_database
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filerun/db:/var/lib/mysql
filerun:
image: filerun/filerun
container_name: filerun
environment:
- FR_DB_HOST=db
- FR_DB_PORT=3306
- FR_DB_USER=your_filerun_username
- FR_DB_PASS=your_filerun_password
- FR_DB_NAME=your_filerun_database
depends_on:
- db
links:
- db:db
ports:
- 8080:80
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filerun/html:/var/www/html
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filerun/files:/user-files

62
examples/librephotos/.env Normal file
View 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.
# Youll 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

View File

@ -0,0 +1,3 @@
# References
- https://docs.librephotos.com/1/standard_install/

View 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

View 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

View 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

View 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
View File

@ -0,0 +1,3 @@
# References
- https://hub.docker.com/r/linuxserver/ombi

View 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

View File

@ -1,33 +1,35 @@
services:
sftpgo:
image: "drakkan/sftpgo:v2-alpine"
user: "1000:1000"
image: drakkan/sftpgo:v2-alpine
user: 1000:1000
restart: unless-stopped
ports:
- 8080:8080 # HTTP
- 8888:8080 # HTTP
#- 8443:443" # HTTPS
#- 5007:5007 # WEBDAV
environment:
# These are the settings to access your db
SFTPGO_WEBDAVD__BINDINGS__0__PORT: 5007
SFTPGO_DATA_PROVIDER__DRIVER: "mysql"
SFTPGO_DATA_PROVIDER__NAME: "sftpgo"
SFTPGO_DATA_PROVIDER__HOST: "mysql"
SFTPGO_DATA_PROVIDER__DRIVER: mysql
SFTPGO_DATA_PROVIDER__NAME: sftpgo
SFTPGO_DATA_PROVIDER__HOST: mysql
SFTPGO_DATA_PROVIDER__PORT: 3306
SFTPGO_DATA_PROVIDER__USERNAME: sftpgo # please change
SFTPGO_DATA_PROVIDER__PASSWORD: sftpgo # please change
SFTPGO_COMMON_DEFENDER__ENABLED: "true"
SFTPGO_COMMON_DEFENDER__BAN_TIME: 15
SFTPGO_COMMON_DEFENDER__ENABLED: true
SFTPGO_COMMON_DEFENDER__BAN_TIME: 15
SFTPGO_COMMON_DEFENDER__BAN_TIME_INCREMENT: 100
SFTPGO_COMMON_DEFENDER__THRESHOLD: 5
SFTPGO_COMMON_DEFENDER__THRESHOLD: 5
SFTPGO_COMMON_DEFENDER__OBSERVATION_TIME: 15
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/sftpgo/data:/srv/sftpgo
mysql:
image: mysql:latest
restart: always
environment:
MYSQL_DATABASE: "sftpgo"
MYSQL_DATABASE: sftpgo
MYSQL_USER: sftpgo # please change
MYSQL_PASSWORD: sftpgo # please change
MYSQL_ROOT_PASSWORD: MySecureRootDatabasePassword

View File

@ -0,0 +1,3 @@
# References
- https://github.com/benbusby/whoogle-search/blob/main/docker-compose.yml

View 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