Improve clarity and formatting

This commit is contained in:
TheSpad
2022-08-27 11:16:22 +01:00
parent 79c22dabaa
commit dc72e9088a
2 changed files with 46 additions and 43 deletions
+46 -43
View File
@@ -81,14 +81,14 @@ The most common paths to leverage for Linuxserver images are as follows. Assumin
```text ```text
. .
└── root └── root
├── defaults -- Any default config files you need to copy as part of the mod can be placed here ├── defaults -- Any default config files you need to copy as part of the mod can be placed here
└── etc └── etc
├── cont-init.d ├── cont-init.d
├── 95-apt-get │ ├── 95-apt-get
└── 98-universal-mymod -- This is the init logic script that runs before the services in the container. It needs to be `chmod +x` and is run ordered by filename. │ └── 98-universal-mymod -- This is the init logic script that runs before the services in the container. It needs to be `chmod +x` and is run ordered by filename.
└── services.d └── services.d
└── mymod └── mymod
└── run -- This is the script that runs in the foreground for persistent services. It needs to be `chmod +x`. └── run -- This is the script that runs in the foreground for persistent services. It needs to be `chmod +x`.
``` ```
#### New (v3) mods #### New (v3) mods
@@ -98,31 +98,31 @@ The most common paths to leverage for Linuxserver images are as follows. Assumin
```text ```text
. .
└── root └── root
├── defaults -- Any default config files you need to copy as part of the mod can be placed here ├── defaults -- Any default config files you need to copy as part of the mod can be placed here
└── etc └── etc
└── s6-overlay └── s6-overlay
└── s6-rc.d └── s6-rc.d
├── init-mods-end ├── init-mods-end
└── dependencies.d │ └── dependencies.d
└── init-mod-universal-mymod │ └── init-mod-universal-mymod -- If your mod does not need to install packages it should be a dependency of init-mods-end
├── init-mods-package-install ├── init-mods-package-install
└── dependencies.d │ └── dependencies.d
└── init-mod-universal-mymod │ └── init-mod-universal-mymod -- If your mod needs to install packages it should be a dependency of init-mods-package-install
├── init-mod-universal-mymod ├── init-mod-universal-mymod
├── dependencies.d │ ├── dependencies.d
└── init-mods └── init-mods
├── run -- This is the init logic script that runs before the services in the container. It needs to be `chmod +x`. ├── run -- This is the init logic script that runs before the services in the container. It needs to be `chmod +x`.
├── type -- This should container the string `oneshot`. │ ├── type -- This should contain the string `oneshot`.
└── up -- This should contain the absolute path to `run` e.g. `/etc/s6-overlay/s6-rc.d/init-mod-universal-mymod/run`. └── up -- This should contain the absolute path to `run` e.g. `/etc/s6-overlay/s6-rc.d/init-mod-universal-mymod/run`.
├── svc-mod-universal-mymod ├── svc-mod-universal-mymod
├── dependencies.d │ ├── dependencies.d
└── init-services └── init-services
├── run -- This is the script that runs in the foreground for persistent services. It needs to be `chmod +x`. ├── run -- This is the script that runs in the foreground for persistent services. It needs to be `chmod +x`.
└── type -- This should contain the string `longrun`. │ └── type -- This should contain the string `longrun`.
└── user └── user
└── contents.d └── contents.d
├── init-mod-universal-mymod ├── init-mod-universal-mymod
└── svc-mod-universal-mymod └── svc-mod-universal-mymod
``` ```
Note: For `oneshot` scripts you can alternatively omit the `run` file entirely and use the [execlineb](https://skarnet.org/software/execline/execlineb.html) syntax in `up` if your requirements are simple enough. Note: For `oneshot` scripts you can alternatively omit the `run` file entirely and use the [execlineb](https://skarnet.org/software/execline/execlineb.html) syntax in `up` if your requirements are simple enough.
@@ -151,20 +151,23 @@ if [ -f /sbin/apk ]; then
fi fi
``` ```
If your mod needs to take additional config steps *after* the packages have been installed, add a second `oneshot` script and make it depend on `init-mods-package-install` e.g. If your mod needs to take additional config steps *after* the packages have been installed, add a second `oneshot` script and make it depend on `init-mods-package-install` and add it as a dependency of `init-mods-end` e.g.
```text ```text
. .
└── root └── root
└── etc └── etc
└── s6-overlay └── s6-overlay
└── s6-rc.d └── s6-rc.d
── init-mod-universal-mymod-postinstall ── init-mods-end
── dependencies.d ── dependencies.d
└── init-mods-package-install └── init-mod-universal-mymod-postinstall
├── run └── init-mod-universal-mymod-postinstall
├── type ├── dependencies.d
└── up │ └── init-mods-package-install
├── run
├── type
└── up
``` ```
Services will always run last, controlled by their dependency on `init-services`. Services will always run last, controlled by their dependency on `init-services`.