Compare commits

..

No commits in common. "f0ec9c7a4a3d2f17cd0924523ee07dc95f45bf6a" and "4550a7e3c2893a96368e6e6ddc857da32c1ef4d4" have entirely different histories.

2 changed files with 90 additions and 187 deletions

View File

@ -93,48 +93,44 @@ services:
- ${DOCKER_DIR}/immich:/var/lib/postgresql/data - ${DOCKER_DIR}/immich:/var/lib/postgresql/data
restart: unless-stopped restart: unless-stopped
## Invidious (youtube client) # ## Invidious (youtube client)
invidious: # invidious:
image: quay.io/invidious/invidious:latest # image: quay.io/invidious/invidious:latest
container_name: invidious # container_name: invidious
ports: # ports:
- 9080:3000 # - 9080:3000
env_file: # env_file:
- ${ENV_DIR}/invidious.env # - ${ENV_DIR}/invidious.env
healthcheck: # depends_on:
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1 # - invidious-db
interval: 30s # - sighelper
timeout: 5s # restart: unless-stopped
retries: 2 # sighelper:
depends_on: # image: quay.io/invidious/inv-sig-helper:latest
- invidious-db # container_name: invidious-sighelper
- invidious-sighelper # init: true
restart: unless-stopped # command: ["--tcp", "0.0.0.0:12999"]
invidious-sighelper: # ports:
image: quay.io/invidious/inv-sig-helper:latest # - 12999:12999
container_name: invidious-sighelper # environment:
init: true # - ${TZ}
command: ["--tcp", "0.0.0.0:12999"] # - RUST_LOG=info
ports: # cap_drop:
- 12999:12999 # - ALL
environment: # read_only: true
- RUST_LOG=info # security_opt:
cap_drop: # - no-new-privileges:true
- ALL # restart: unless-stopped
read_only: true # invidious-db:
security_opt: # image: docker.io/library/postgres:14
- no-new-privileges:true # container_name: invidious-db
restart: unless-stopped # volumes:
invidious-db: # - ${DOCKER_DIR}/invidious/data:/var/lib/postgresql/data
image: docker.io/library/postgres:14 # - ${DOCKER_DIR}/invidious/config/sql:/config/sql
container_name: invidious-db # - ${DOCKER_DIR}/invidious/docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
volumes: # env_file:
- ${DOCKER_DIR}/invidious/data:/var/lib/postgresql/data # - ${ENV_DIR}/invidious.env
- ${DOCKER_DIR}/invidious/config/sql:/config/sql # restart: unless-stopped
- ${DOCKER_DIR}/invidious/docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
env_file:
- ${ENV_DIR}/invidious.env
restart: unless-stopped
## Jellyfin (media server) ## Jellyfin (media server)
jellyfin: jellyfin:
@ -176,33 +172,6 @@ services:
- ${DNS_IP} - ${DNS_IP}
restart: unless-stopped restart: unless-stopped
## ConvertX (file converter)
convertx:
image: ghcr.io/c4illin/convertx
container_name: convertx
ports:
- 9132:3000
volumes:
- ${DOCKER_DIR}/convertx:/app/data
env_file:
- ${ENV_DIR}/convertx.env
environment:
- PUID=1000
- PGID=1000
restart: unless-stopped
## Dumbpad (simple notes)
dumbpad:
image: dumbwareio/dumbpad:latest
container_name: dumbpad
ports:
- 3007:3000
volumes:
- ${DOCKER_DIR}/dumbpad:/app/data
env_file:
- ${ENV_DIR}/dumbpad.env
restart: unless-stopped
## Gitea ## Gitea
gitea: gitea:
image: docker.io/gitea/gitea:latest-rootless image: docker.io/gitea/gitea:latest-rootless
@ -234,6 +203,44 @@ services:
- 9283:80 - 9283:80
restart: unless-stopped restart: unless-stopped
## TinyHome (server dashboard)
tinyhome:
container_name: tinyhome
image: azpsen/tinyhome:main
environment:
- REFRESH_INTERVAL=360
ports:
- 3000:80
volumes:
- ${DOCKER_DIR}/tinyhome:/config:rw
dns:
- ${DNS_IP}
restart: unless-stopped
docker-proxy:
image: ghcr.io/tecnativa${DOCKER_DIR}-socket-proxy:latest
container_name: docker-proxy
environment:
- CONTAINERS=1 # Allow access to viewing containers
- POST=0 # Disallow any POST operations (effectively read-only)
ports:
- 2375:2375
volumes:
- /var/run${DOCKER_DIR}.sock:/var/run${DOCKER_DIR}.sock:ro
restart: unless-stopped
## Dumbpad (simple notes)
dumbpad:
image: dumbwareio/dumbpad:latest
container_name: dumbpad
ports:
- 3007:3000
volumes:
- ${DOCKER_DIR}/dumbpad:/app/data
env_file:
- ${ENV_DIR}/dumbpad.env
restart: unless-stopped
## Hoarder (link aggregator) ## Hoarder (link aggregator)
hoarder: hoarder:
image: ghcr.io/hoarder-app/hoarder:release image: ghcr.io/hoarder-app/hoarder:release
@ -487,20 +494,6 @@ services:
- ${DOCKER_DIR}/tandoor/postgresql:/var/lib/postgresql/data - ${DOCKER_DIR}/tandoor/postgresql:/var/lib/postgresql/data
restart: unless-stopped restart: unless-stopped
## TinyHome (server dashboard)
tinyhome:
container_name: tinyhome
image: azpsen/tinyhome:main
environment:
- REFRESH_INTERVAL=360
ports:
- 3000:80
volumes:
- ${DOCKER_DIR}/tinyhome:/config:rw
dns:
- ${DNS_IP}
restart: unless-stopped
## Vaultwarden (password manager) ## Vaultwarden (password manager)
vaultwarden: vaultwarden:
image: vaultwarden/server:latest image: vaultwarden/server:latest
@ -557,6 +550,19 @@ services:
target: /root/.config/glances/glances.pwd target: /root/.config/glances/glances.pwd
restart: unless-stopped restart: unless-stopped
## Doku (docker disk usage analyzer)
doku:
container_name: doku
image: amerkurev/doku
ports:
- 9090:9090
volumes:
- /var/run${DOCKER_DIR}.sock:/var/run${DOCKER_DIR}.sock:ro
- /:/hostroot:ro
environment:
- SI=false
restart: unless-stopped
## Scrutiny (disk health monitoring) ## Scrutiny (disk health monitoring)
scrutiny: scrutiny:
container_name: scrutiny container_name: scrutiny

105
readme.md
View File

@ -31,7 +31,6 @@ These are all the services hosted, what they are for, and any clients I use with
- [Actual Budget](https://actualbudget.org/) - Excellent budgeting app. It can be automatically synced with your bank ([SimpleFIN Bridge](https://beta-bridge.simplefin.org/) for US banks, $15/year), but I have found that to be unstable - [Actual Budget](https://actualbudget.org/) - Excellent budgeting app. It can be automatically synced with your bank ([SimpleFIN Bridge](https://beta-bridge.simplefin.org/) for US banks, $15/year), but I have found that to be unstable
- There used to be an official app but it has been discontinued - I added the website to my phone's home screen and it works quite well - There used to be an official app but it has been discontinued - I added the website to my phone's home screen and it works quite well
- [ConvertX](https://github.com/C4illin/ConvertX) - File conversion utility
- [DumbPad](https://github.com/DumbWareio/DumbPad) - Stupid simple notes app (for grocery lists, quick notes, etc.) - [DumbPad](https://github.com/DumbWareio/DumbPad) - Stupid simple notes app (for grocery lists, quick notes, etc.)
- [Gitea](https://about.gitea.com/) - Git server - in the process of replacing my GitHub account - [Gitea](https://about.gitea.com/) - Git server - in the process of replacing my GitHub account
- [Grocy](https://github.com/grocy/grocy) - Household management (Am I out of milk? Do I have AAA batteries? What can I make for dinner?) - [Grocy](https://github.com/grocy/grocy) - Household management (Am I out of milk? Do I have AAA batteries? What can I make for dinner?)
@ -41,7 +40,6 @@ These are all the services hosted, what they are for, and any clients I use with
- [Joplin](https://joplinapp.org/) - Notes (Obsidian alternative) - [Joplin](https://joplinapp.org/) - Notes (Obsidian alternative)
- [Kiwix](https://kiwix.org/en/) - Offline wiki hosting - I have Wikipedia, the Arch Linux wiki, and several others downloaded - [Kiwix](https://kiwix.org/en/) - Offline wiki hosting - I have Wikipedia, the Arch Linux wiki, and several others downloaded
- [LinkStack](https://linkstack.org/) - Self-hosted LinkTree alternative ([azpsen.com](https://azpsen.com)) - more for content creators, definitely overkill for what I need. I'll probably replace it with a simple static site at some point - [LinkStack](https://linkstack.org/) - Self-hosted LinkTree alternative ([azpsen.com](https://azpsen.com)) - more for content creators, definitely overkill for what I need. I'll probably replace it with a simple static site at some point
- [LubeLogger](https://lubelogger.com/) - Car mileage and service tracker
- [Maloja](https://github.com/krateng/maloja) - Self-hosted music listen tracker (last.fm replacement) - with [multi-scrobbler](https://github.com/FoxxMD/multi-scrobbler) for Jellyfin support - [Maloja](https://github.com/krateng/maloja) - Self-hosted music listen tracker (last.fm replacement) - with [multi-scrobbler](https://github.com/FoxxMD/multi-scrobbler) for Jellyfin support
- [Miniflux](https://miniflux.app/) - Minimalist RSS feed reader - [Miniflux](https://miniflux.app/) - Minimalist RSS feed reader
- [NetNewsWire](https://netnewswire.com/) - Wonderful all-purpose iOS RSS client - [NetNewsWire](https://netnewswire.com/) - Wonderful all-purpose iOS RSS client
@ -121,29 +119,6 @@ Below are the variables that need to be set in the `.env` file for each service.
TUNNEL_TOKEN= TUNNEL_TOKEN=
``` ```
### ConvertX
[Docs](https://github.com/C4illin/ConvertX#environment-variables)
```env
# convertx.env
JWT_SECRET=
HTTP_ALLOWED=true
```
### DumbPad
[Docs](https://github.com/C4illin/ConvertX#environment-variables)
```env
# dumbpad.env
SITE_TITLE=
DUMBPAD_PIN=
BASE_URL=
```
### gluetun ### gluetun
[Docs](https://github.com/qdm12/gluetun) [Docs](https://github.com/qdm12/gluetun)
@ -169,7 +144,7 @@ The values for `WIREGUARD_PRIVATE_KEY` and `WIREGUARD_ADDRESSES` should be avail
My current Immich docker setup has a lot of repetition - when I want to update, I have to change the version in 3 places. I have plans to improve this, but for now this is what works. Also note that the way I set the upload location is not recommended by the Immich docs. My current Immich docker setup has a lot of repetition - when I want to update, I have to change the version in 3 places. I have plans to improve this, but for now this is what works. Also note that the way I set the upload location is not recommended by the Immich docs.
```env ```env
# immich.env #immich.env
UPLOAD_LOCATION=/media/immich UPLOAD_LOCATION=/media/immich
IMMICH_VERSION="v1.123.0" IMMICH_VERSION="v1.123.0"
@ -189,51 +164,6 @@ POSTGRES_USER=postgres
POSTGRES_DB=immich POSTGRES_DB=immich
``` ```
### Invidious
[Docs](https://docs.invidious.io/installation/)
Note that the `password` under `db` in `INVIDIOUS_CONFIG` should be the same as the `POSTGRES_PASSWORD`. The `hmac_key` should be a different, randomly generated value
```env
# invidious.env
# Invidious
INVIDIOUS_CONFIG='
db:
dbname: invidious
user: invidious
password:
host: invidious-db
port: 5432
check_tables: true
signature_server: invidious-sighelper:12999
visitor_data:
po_token:
external_port: 9080
https_only: false
statistics_enabled: false
registration_enabled: false
popular_enabled: false
hmac_key:
admins: ["april"]
default_user_preferences:
quality: dash
feed_menu: ["Trending", "Subscriptions", "Playlists"]
default_home: Trending
'
# Database
POSTGRES_DB=invidious
POSTGRES_USER=invidious
POSTGRES_PASSWORD=
# to update the visitor_data and po_token:
# docker run quay.io/invidious/youtube-trusted-session-generator
# or, for use with gluetun:
# docker run --network=container:gluetun quay.io/invidious/youtube-trusted-session-generator
```
### Joplin ### Joplin
[Docs](https://github.com/flosoft/docker-joplin-server) [Docs](https://github.com/flosoft/docker-joplin-server)
@ -274,21 +204,6 @@ HTTPS_SERVER_NAME=
SERVER_ADMIN= SERVER_ADMIN=
``` ```
### LubeLogger
[Docs](https://docs.lubelogger.com/Advanced/Environment%20Variables)
```env
# lubelogger.env
LC_ALL=en_US
LANG=en_US
MailConfig__EmailServer=
MailConfig__EmailFrom=
MailConfig__Port=587
MailConfig__Username=
MailConfig__Password=
```
### Miniflux ### Miniflux
[Docs](https://miniflux.app/docs/docker.html) [Docs](https://miniflux.app/docs/docker.html)
@ -304,24 +219,6 @@ POSTGRES_PASSWORD= # this is the password used above
POSTGRES_DB=miniflux POSTGRES_DB=miniflux
``` ```
### MultiScrobbler
[Docs](https://foxxmd.github.io/multi-scrobbler/docs/configuration/)
```env
# multi-scrobbler.env
TZ=America/Chicago
PUID=1000
PGID=1000
MALOJA_URL=http://maloja:42010
MALOJA_API_KEY=
JELLYFIN_URL=http://jellyfin:8096
JELLYFIN_USER=
JELLYFIN_APIKEY=
JELLYFIN_USERS_ALLOW=
```
### Paperless-ngx ### Paperless-ngx
[Docs](https://docs.paperless-ngx.com/setup/#docker) [Docs](https://docs.paperless-ngx.com/setup/#docker)