forked from dcflachs/compose_plugin
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathcompose.manager.plg
More file actions
199 lines (181 loc) · 7.11 KB
/
Copy pathcompose.manager.plg
File metadata and controls
199 lines (181 loc) · 7.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<?xml version='1.0' standalone='yes'?>
<!DOCTYPE PLUGIN [
<!ENTITY name "compose.manager">
<!ENTITY author "mstrhakr">
<!ENTITY version "2026.09.13">
<!ENTITY launch "Settings/&name;.settings">
<!ENTITY packageVER "&version;">
<!ENTITY packageMD5 "5dddb43f8ee98d2c67c953d3ebcbef19">
<!ENTITY pkgBUILD "2217">
<!ENTITY packageName "&name;-&packageVER;-noarch-&pkgBUILD;">
<!ENTITY packagefile "&packageName;.txz">
<!ENTITY github "mstrhakr/compose_plugin">
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/main/&name;.plg">
<!ENTITY packageURL "https://github.com/&github;/releases/download/v&version;/&packagefile;">
<!ENTITY pluginsPATH "/boot/config/plugins">
<!ENTITY pluginLOC "&pluginsPATH;/&name;">
<!ENTITY emhttpPATH "/usr/local/emhttp/plugins">
<!ENTITY emhttpLOC "&emhttpPATH;/&name;">
<!ENTITY pluginsInstalledPATH "/var/log/packages">
<!ENTITY aceVER "1.43.5">
<!ENTITY aceURL "https://github.com/ajaxorg/ace-builds/archive/refs/tags/v&aceVER;.zip">
<!ENTITY aceZIP "ace-v&aceVER;.zip">
<!ENTITY aceSHA256 "40169719746a5f83dcfb6e73a838221d34b91b75a939569217d62fb7d8175562">
]>
<PLUGIN name="&name;"
author="&author;"
version="&version;"
launch="&launch;"
pluginURL="&pluginURL;"
icon="cubes"
min="6.9.0"
support="https://forums.unraid.net/topic/197334-plugin-compose-manager-plus/"
project="https://github.com/mstrhakr/compose_plugin"
readme="https://github.com/mstrhakr/compose_plugin#readme"
>
<CHANGES>
###2026.09.13
- Features: add option to not close editor modal on outside click (#126)
- Bug Fixes: set remove-orphans checkbox checked state at render time instead of via setTimeout
- Bug Fixes: stop forced rebuilds on compose update
- Bug Fixes: adjust css so effective command is visible in all themes
- Bug Fixes: enhance logging and background processing in docker_started script
- Bug Fixes: enhance environment variable handling in build scripts and workflows
- Bug Fixes: dynamically resolve latest infozip package from Slackware repository
- Bug Fixes: enforce string type for path parameter in getComposeFilePath method
- Bug Fixes: support docker-compose stacks that resolve COMPOSE_FILE from .env in default discovery mode (#149)
- Bug Fixes: quiet routine dockerload reconnect warnings (#133)
- Chores: update changelog for v2026.09.13.1636 [skip ci]
- Chores: update changelog for v2026.09.07.2121 [skip ci]
- Chores: update changelog for v2026.09.07.2056 [skip ci]
- Chores: sync pluginURL+README for dev branch [skip ci]
- Chores: update changelog for v2026.09.06.2116 [skip ci]
- Chores: update changelog for v2026.09.06.1706 [skip ci]
- Chores: update changelog for v2026.09.05.2104 [skip ci]
- Fix #3: Add tests for indirect stack envpath metadata discovery
- Fix: Support relative envpath values in getExplicitEnvFilePath
- Fix: Pass stack directory to resolveProjectEnvFilePath for indirect stack envpath metadata resolution
- [View all changes](https://github.com/mstrhakr/compose_plugin/compare/v2026.09.03...v2026.09.13)
</CHANGES>
<!-- The 'pre-install' script. -->
<FILE Run="/bin/bash">
<INLINE>
# Remove all but current package file and ace zip from plugin root
rm -f $(ls &pluginLOC;/&name;*.txz 2>/dev/null|grep -v '&packageVER;')
rm -f $(ls &pluginLOC;/ace-v*.zip 2>/dev/null|grep -v '&aceZIP;')
# Clean up legacy package entries (compose.manager-package-*) left by older builds
# that used non-standard Slackware naming and weren't removed by upgradepkg
for pkg in &pluginsInstalledPATH;/&name;-package-*; do
[ -e "$pkg" ] && removepkg "$(basename "$pkg")" 2>/dev/null || true
done
#Create projects folder if it doesnt exist
mkdir -p &pluginLOC;/projects
</INLINE>
</FILE>
<!-- The 'install' script. -->
<FILE Name="&pluginLOC;/&packagefile;" Run="upgradepkg --install-new">
<URL>&packageURL;</URL>
<MD5>&packageMD5;</MD5>
</FILE>
<FILE Run="/bin/bash">
<INLINE>
echo ""
echo "----------------------------------------------------"
echo ""
echo " Ace editor v&aceVER; will only be downloaded and"
echo " installed for pre-7.0 Unraid versions."
echo ""
echo " If on 7.0 or later, Ace editor files are included"
echo " by default and skips will be shown below."
echo ""
echo "----------------------------------------------------"
echo ""
</INLINE>
</FILE>
<!-- Ace editor fallback for pre-7.0: download zip to flash cache -->
<FILE Name="&pluginLOC;/cache-&aceZIP;" Max="6.99.99">
<URL>&aceURL;</URL>
<SHA256>&aceSHA256;</SHA256>
</FILE>
<!-- Ace editor fallback for pre-7.0: copy cached zip to /tmp for extraction -->
<FILE Name="/tmp/temp-&aceZIP;" Max="6.99.99">
<LOCAL>&pluginLOC;/cache-&aceZIP;</LOCAL>
<SHA256>&aceSHA256;</SHA256>
</FILE>
<!-- Ace editor fallback for pre-7.0: extract needed JS files into plugin dir -->
<FILE Name="/tmp/ace-editor-install.sh" Run="/bin/bash" Max="6.99.99">
<INLINE>
&emhttpLOC;/scripts/install-ace.sh /tmp/temp-&aceZIP; &emhttpLOC; &aceVER;
rm -f /tmp/ace-editor-install.sh
</INLINE>
</FILE>
<FILE Run="/bin/bash">
<INLINE>
echo ""
echo "----------------------------------------------------"
echo ""
echo " Patches are only installed for"
echo " pre-6.12 Unraid versions."
echo ""
echo " If on 6.12 or later, patches are not needed"
echo " and skips will be shown below."
echo ""
echo "----------------------------------------------------"
echo ""
</INLINE>
</FILE>
<!-- Patch utility installation for pre-6.12: install or remove patches -->
<FILE Name="/tmp/patch-util-install.sh" Run="/bin/bash" Max="6.11.99">
<INLINE>
&emhttpLOC;/scripts/install-patch.sh install &emhttpLOC; &pluginLOC;
rm -f /tmp/patch-util-install.sh
</INLINE>
</FILE>
<FILE Run="/bin/bash">
<INLINE>
echo ""
echo "----------------------------------------------------"
echo ""
echo " Compose Manager Plus has been installed."
echo " Version: &version;"
echo ""
echo "----------------------------------------------------"
echo ""
</INLINE>
</FILE>
<FILE Run="/bin/bash" Method="remove">
<INLINE>
echo ""
echo "----------------------------------------------------"
echo ""
echo " Patches are only modified for"
echo " pre-6.12 Unraid versions."
echo ""
echo " If on 6.12 or later, patches are not needed"
echo " and skips will be shown below."
echo ""
echo "----------------------------------------------------"
echo ""
</INLINE>
</FILE>
<!-- Patch utility removal for pre-6.12: remove patches -->
<FILE Name="/tmp/patch-util-remove.sh" Run="/bin/bash" Method="remove" Max="6.11.99">
<INLINE>
&emhttpLOC;/scripts/install-patch.sh remove &emhttpLOC; &pluginLOC;
rm -f /tmp/patch-util-remove.sh
</INLINE>
</FILE>
<!-- Uninstall script; plus cleanup old/unused packages -->
<FILE Run="/bin/bash" Method="remove">
<INLINE>
# Remove all Slackware package entries for this plugin.
# Handles both new naming (compose.manager-VERSION-noarch-1) and
# legacy naming (compose.manager-package-VERSION) left by older builds.
for pkg in &pluginsInstalledPATH;/&name;-*; do
[ -e "$pkg" ] && removepkg "$(basename "$pkg")" 2>/dev/null || true
done
# Remove old package files from flash
rm -f $(ls &pluginLOC;/&name;*.txz 2>/dev/null|grep -v '&packageVER;')
</INLINE>
</FILE>
</PLUGIN>