home-network/docker.org

81 lines
2.3 KiB
Org Mode
Raw Normal View History

2025-04-09 08:53:53 +03:00
#+title: Docker Setup
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="_share/media/css/computer.css" />
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="_share/media/css/org-media-sass/content-overview.css" />
#+OPTIONS: H:6
* links
- [[./toc.org][TOC - Home System]]
* data location
** modify docker configuration to point to new location
*** reasons we aren't using fstab mount
- Preferred: use `/etc/docker/daemon.json` with `data-root`
- Avoid: fstab bind mount to `/var/lib/docker` — fragile at boot
*** Docker Storage Layout
**** storage layout diagram
#+begin_example
/mnt/storage/docker/
├── lib/ ← Docker engine (images, containers, volumes)
├── compose/ ← All your compose projects
│ ├── calibre/
│ │ ├── docker-compose.yml
│ │ └── data/
│ ├── forgejo/
│ └── n8n/
2025-07-29 02:46:43 +03:00
│ └── jellyfin/
2025-04-09 08:53:53 +03:00
#+end_example
**** storage layout table
| Path | Purpose |
|------------------------------------------+-----------------------------------------|
| /mnt/storage/docker/lib | Docker engine data (images, containers) |
| /mnt/storage/docker/compose | Parent for all docker-compose projects |
| /mnt/storage/docker/compose/calibre | Calibre compose setup |
| /mnt/storage/docker/compose/calibre/data | Calibre persistent volume |
| /mnt/storage/docker/compose/forgejo | Forgejo compose setup |
| /mnt/storage/docker/compose/n8n | N8N compose setup |
2025-07-29 02:46:43 +03:00
| /mnt/storage/docker/compose/jellyfin | Jellyfin compose setup |
2025-04-09 08:53:53 +03:00
*** commands
#+begin_src bash
cd /etc/docker
nvim daemon.json
#+end_src
#+begin_src json
{
"data-root": "/mnt/storage/docker/lib"
}
#+end_src
* Docker compose scripts
** Forgejo
:PROPERTIES:
:CUSTOM_ID: docker-forgejo
:END:
#+include: "_share/data/docker/forgejo-compose.yml" src yaml
** Calibre
:PROPERTIES:
:CUSTOM_ID: docker-calibre
:END:
#+include: "_share/data/docker/calibre-compose.yml" src yaml
** N8N
:PROPERTIES:
:CUSTOM_ID: docker-n8n
:END:
#+include: "_share/data/docker/n8n-compose.yml" src yaml
2025-07-29 02:46:43 +03:00
** Jellyfin
:PROPERTIES:
:CUSTOM_ID: docker-jellyfin
:END:
#+include: "_share/data/docker/jellyfin-compose.yml" src yaml