Compare commits
7 Commits
498e73be95
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f5a75d936 | |||
| e79e0f35de | |||
| b703025d4c | |||
| 1d187a320c | |||
| 1de4cce8b3 | |||
| 97b1a3986f | |||
| 351c121b41 |
@@ -1,3 +1,11 @@
|
|||||||
|
# docker-compose
|
||||||
|
These are most of the docker-compose.yml files I use (with secrets removed, of
|
||||||
|
course). Technology hates me just often enough that I have to keep multiple
|
||||||
|
backups of everything because my shit gets rocked so often. :D
|
||||||
|
|
||||||
|
See [[Table-of-Services.md]] for what each of these does, as well as seeing what
|
||||||
|
I've discarded because it sucks (or just isn't for me).
|
||||||
|
|
||||||
## Named bind mounts
|
## Named bind mounts
|
||||||
Managing volumes that need to be shared within a config is easier if you can use names with bind mounts:
|
Managing volumes that need to be shared within a config is easier if you can use names with bind mounts:
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
This file is updated in my Obsidian vault, and then exported to `tangent/docker-compose` on my Gitea server.
|
||||||
|
So, me, reading this, UPDATE IT THERE.
|
||||||
|
|
||||||
|
| Service | In-Use | Purpose |
|
||||||
|
| --------------------- | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| audiobookhself | ✅ https://audiobookshelf.tangentfox.com/ | Organizing audiobooks, playing them, and providing them through RSS feed(s) for convenient access. While the software supports multiple users very well afaik, due to costs, this is mostly for my own personal use. May not survive power failures. |
|
||||||
|
| calibre-web-automated | ✅ https://calibre.tangentfox.com/ | Organizing, editing, and reading ebooks. While it does *technically* support multiple users, the way things are handled is mostly global, so it really only works for a single user with edit permissions - or full trust. Family-only access. |
|
||||||
|
| cosmos-server | ✅ https://cosmos.tangentfox.com/ | Supposed to be an all-in-one selfhosting management system. I use it as a GUI for reverse proxying and monitoring my services. In fact, I run everything *outside* of it first, and keep compose files around to not rely on it solely. |
|
||||||
|
| gitea | ✅ https://gitea.tangentfox.com/ | Very fast and small footprint git-based code server. I use this to sync data & share code. Managing many users would be difficult, so sadly I have to keep this locked down. |
|
||||||
|
| immich | ✅ https://immich.tangentfox.com/ | A full replacement for Google Photos, with nearly the same feature set at the same quality, but much safer. Unfortunately, only meant to be used with a small pool of trusted users by design and ballooning costs to run a larger system, so this is family-only. |
|
||||||
|
| mediatracker | 🛑 | I was looking for a way to track *all* media consumption. Unfortunately, this app didn't save its data according to its instructions, so I abandoned it. It also didn't have a method for adding custom entries or editing metadata, so you are beholden to databases centralized managed. 😬 |
|
||||||
|
| miniflux | ✅ https://miniflux.tangentfox.com/ | A minimal and privacy-protecting feed reader. Unfortunately, not the most stable or compatible (largely due to companies making subscriptions less accessible). Family-only. May not survive power failure. :\\ |
|
||||||
|
| nextcloud | ✅ https://nextcloud.tangentfox.com/ | Private cloud storage. I use it for me only because I cannot make my server reliable enough to be trusted with others' data, nor do I have adequate space. NextCloud has an extreme ability to be customized and extended, but I only use this for spreadsheets. It's worth trying to use, but has some problems with stability when you start extending it a lot. Support can be difficult as well. |
|
||||||
|
| peertube | ✅ https://peertube.tangentfox.com/ | The intent is to be a decentralized video sharing platform. I use it to store private backups of media, and synchronize with YouTube. Unfortunately, this makes it unsafe to have publicly available, so it's family-only now. :\( |
|
||||||
|
| vikunja | ✅ https://vikunja.tangentfox.com/ | A new task management app. By default, it supports anyone signing up, but I should not be trusted with this data, so I limit it to my use only for safety. :\( This gave me a yellow flag by failing to restore itself after a power failure, unlike most other services I have.. |
|
||||||
|
| wordpress | ✅ https://blog.tangentfox.com/ | Wordpress is an *okay* blog platform made by a bad company. I use it out of inertia and it best fitting my needs a long time ago. A long-term plan of mine is to replace it with something better, and simpler. Ideally, such a replacement will also allow me to give more access to others. |
|
||||||
|
| yamtrack | 🛑 | Was looking for a way to track media consumption. While better looking than mediatracker, it has the same flaws and adds a slower interface that is less useful. |
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
gitea-data:
|
data:
|
||||||
driver: local
|
driver: local
|
||||||
driver_opts:
|
driver_opts:
|
||||||
type: none
|
type: none
|
||||||
@@ -26,7 +26,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- gitea
|
- gitea
|
||||||
volumes:
|
volumes:
|
||||||
- gitea-data:/data
|
- data:/data
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
# ports:
|
# ports:
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# Jelu
|
||||||
|
Modified from [official instructions](https://github.com/bayang/jelu?tab=readme-ov-file#docker).
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
volumes:
|
||||||
|
config:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: /mnt/apple/jelu/config
|
||||||
|
database:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: /mnt/apple/jelu/database
|
||||||
|
images:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: /mnt/apple/jelu/images
|
||||||
|
imports:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: /mnt/apple/jelu/imports
|
||||||
|
|
||||||
|
services:
|
||||||
|
jelu:
|
||||||
|
image: wabayang/jelu
|
||||||
|
container_name: jelu
|
||||||
|
volumes:
|
||||||
|
- config:/config
|
||||||
|
- database:/database
|
||||||
|
- images:/files/images
|
||||||
|
- imports:/files/imports
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
# ports:
|
||||||
|
# - 11111:11111
|
||||||
|
restart: unless-stopped
|
||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
# Miniflux
|
# Miniflux
|
||||||
Modified from [official instructions](https://miniflux.app/docs/docker.html).
|
Modified from [official instructions](https://miniflux.app/docs/docker.html).
|
||||||
|
|
||||||
I commented out the stuff to create the initial user because I'm running this
|
~~I commented out the stuff to create the initial user because I'm running this
|
||||||
behind Cosmos, where I can temporarily quarantine it from the wider internet
|
behind Cosmos, where I can temporarily quarantine it from the wider internet
|
||||||
while configuring it.
|
while configuring it.~~ Apparently, Miniflux made it so this is required, even
|
||||||
|
though documentation implies it's only optional. :D
|
||||||
|
|||||||
@@ -18,16 +18,16 @@ services:
|
|||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_URL=postgres://miniflux:YOUR_PASSWORD@db/miniflux?sslmode=disable
|
- DATABASE_URL=postgres://miniflux:YOUR_DATABASE_PASSWORD@db/miniflux?sslmode=disable
|
||||||
- RUN_MIGRATIONS=1
|
- RUN_MIGRATIONS=1
|
||||||
# - CREATE_ADMIN=1
|
- CREATE_ADMIN=1
|
||||||
# - ADMIN_USERNAME=admin
|
- ADMIN_USERNAME=YOUR_USERNAME
|
||||||
# - ADMIN_PASSWORD=test123
|
- ADMIN_PASSWORD=YOUR_USER_PASSWORD
|
||||||
db:
|
db:
|
||||||
image: postgres:18
|
image: postgres:18
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER=miniflux
|
- POSTGRES_USER=miniflux
|
||||||
- POSTGRES_PASSWORD=YOUR_PASSWORD
|
- POSTGRES_PASSWORD=YOUR_DATABASE_PASSWORD
|
||||||
- POSTGRES_DB=miniflux
|
- POSTGRES_DB=miniflux
|
||||||
volumes:
|
volumes:
|
||||||
- postgres:/var/lib/postgresql
|
- postgres:/var/lib/postgresql
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# TODO set volume directories
|
# TODO set volume directories
|
||||||
|
# TODO set user/group IDs
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
data:
|
data:
|
||||||
@@ -10,6 +11,7 @@ volumes:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
nextcloud:
|
nextcloud:
|
||||||
|
user: "1003:1003"
|
||||||
image: nextcloud:27.1.3
|
image: nextcloud:27.1.3
|
||||||
container_name: nextcloud
|
container_name: nextcloud
|
||||||
hostname: nextcloud
|
hostname: nextcloud
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ volumes:
|
|||||||
driver_opts:
|
driver_opts:
|
||||||
type: none
|
type: none
|
||||||
o: bind
|
o: bind
|
||||||
device: /mnt/apple/peertube/postgres
|
device: /mnt/apple/peertube/postgresql
|
||||||
redis:
|
redis:
|
||||||
driver: local
|
driver: local
|
||||||
driver_opts:
|
driver_opts:
|
||||||
@@ -77,7 +77,8 @@ services:
|
|||||||
restart: "always"
|
restart: "always"
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:17-alpine
|
# image: postgres:17-alpine
|
||||||
|
image: postgres:13-alpine
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
POSTGRES_PASSWORD: YOUR_POSTGRES_PASSWORD
|
POSTGRES_PASSWORD: YOUR_POSTGRES_PASSWORD
|
||||||
|
|||||||
Reference in New Issue
Block a user