46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
|
# Overrides for mailcow-dockerized
|
||
|
|
||
|
Provides files that are meant to be copied into your location of the [github.com/mailcow/mailcow-dockerized](https://github.com/mailcow/mailcow-dockerized) repo thereby customizing its behavior.
|
||
|
|
||
|
yq 'del( .services.[].environment.[] | select(. == "TZ=*") ) | del(.. | select( (tag == "!!map" or tag =="!!seq") and length == 0)) | del( .services.[].restart )' /opt/containers/mailcow-dockerized/docker-compose.yml | yq --indent 4 ea '. as $item ireduce ({}; . * $item )' - /opt/containers/mailcow-dockerized/docker-compose.override.yml > /opt/containers/mailcow-dockerized/docker-compose.final.yml
|
||
|
|
||
|
|
||
|
* Env variables
|
||
|
```
|
||
|
yq 'del( .services.[].environment.[] | select(. == "TZ=*") ) | del(.. | select( (tag == "!!map" or tag =="!!seq") and length == 0))' ...
|
||
|
```
|
||
|
From all `.services.[].environment.[]` lists remove items that match the expression `TZ=*`. Realistically this removes the `TZ` environment variable declaration and in some cases leaves the `environment` list empty. If the list now truly is empty delete it.
|
||
|
|
||
|
Given a file:
|
||
|
```
|
||
|
services:
|
||
|
unbound-mailcow:
|
||
|
image: mailcow/unbound:1.16
|
||
|
environment:
|
||
|
- TZ=${TZ}
|
||
|
volumes:
|
||
|
- ./data/hooks/unbound:/hooks:Z
|
||
|
```
|
||
|
Step one does:
|
||
|
```
|
||
|
services:
|
||
|
unbound-mailcow:
|
||
|
image: mailcow/unbound:1.16
|
||
|
---> environment:
|
||
|
volumes:
|
||
|
- ./data/hooks/unbound:/hooks:Z
|
||
|
```
|
||
|
We detect that `environment` is now empty and delete it:
|
||
|
```
|
||
|
services:
|
||
|
unbound-mailcow:
|
||
|
image: mailcow/unbound:1.16
|
||
|
---> volumes:
|
||
|
- ./data/hooks/unbound:/hooks:Z
|
||
|
```
|
||
|
* Restart policy
|
||
|
```
|
||
|
del( .services.[].restart ) ...
|
||
|
```
|
||
|
From all services delete restart policy declaration. We're defaulting to `unless-stopped` via the `extends:` directive.
|