Compare commits

...

320 commits

Author SHA1 Message Date
Viktor Varland 458f79ca4b
ci: fuckin push to the right image
All checks were successful
build / build (push) Successful in 32s
2025-04-14 21:14:51 +02:00
Viktor Varland 6ea8b43b0d
docs: update readme
All checks were successful
build / build (push) Successful in 32s
2025-04-14 18:19:18 +02:00
Viktor Varland 113e0bf43b
ci: main => master
Some checks failed
build / build (push) Failing after 32s
2025-04-14 18:15:48 +02:00
Viktor Varland 6a6256acd4
ci: convert to meatbag 2025-04-14 18:13:03 +02:00
LinuxServer-CI ac17141dc8
Bot Updating Package Versions 2025-04-09 22:08:50 +00:00
Adam 2c1f03e3a7
Merge pull request #258 from linuxserver/master-usermod 2025-04-09 23:05:59 +01:00
thespad 4775b97056
Switch abc home to avoid chown penalty 2025-04-08 20:39:33 +01:00
LinuxServer-CI d9e9c8a664
Bot Updating Package Versions 2025-03-29 13:33:30 +00:00
LinuxServer-CI ec8542f160
Bot Updating Package Versions 2025-03-22 13:32:16 +00:00
LinuxServer-CI e1e80e60c0
Bot Updating Package Versions 2025-02-15 13:34:00 +00:00
LinuxServer-CI 59c62f1ae7
Bot Updating Templated Files 2025-02-15 13:29:35 +00:00
LinuxServer-CI 081f3bf4a3
Bot Updating Package Versions 2025-02-08 13:33:09 +00:00
LinuxServer-CI a34a58bd62
Bot Updating Templated Files 2025-02-01 13:30:31 +00:00
LinuxServer-CI 64ecb6745f
Bot Updating Templated Files 2025-02-01 13:28:48 +00:00
Adam ba27487240
Merge pull request #254 from linuxserver/new-readme 2025-01-19 10:50:10 +00:00
LinuxServer-CI 5e393c25ff
Bot Updating Package Versions 2025-01-18 13:29:41 +00:00
thespad 5a3ccf4cf0
Phrasing 2025-01-17 19:36:07 +00:00
thespad d48d182f0f
Add support lifecycle note 2025-01-17 19:34:04 +00:00
thespad 8beeaeca45
Update readme with new style 2025-01-17 18:08:34 +00:00
LinuxServer-CI 12873dd927
Bot Updating Package Versions 2025-01-10 19:42:27 +00:00
LinuxServer-CI 1730537b24
Bot Updating Package Versions 2025-01-04 13:33:17 +00:00
LinuxServer-CI 7d602a73c4
Bot Updating Package Versions 2024-12-28 11:37:34 +00:00
LinuxServer-CI 2f5c0f11df
Bot Updating Package Versions 2024-12-15 18:37:51 +00:00
LinuxServer-CI 2411390177
Bot Updating Templated Files 2024-12-15 18:33:52 +00:00
LinuxServer-CI 7777d8828d
Bot Updating Templated Files 2024-12-15 18:30:46 +00:00
LinuxServer-CI 795d744a0f
Bot Updating Package Versions 2024-12-05 16:13:31 +00:00
Adam 5dfe7d15c6
Merge pull request #251 from linuxserver/3.21-initial 2024-12-05 16:07:23 +00:00
thespad ff812c0651
Run builder 2024-12-05 14:28:14 +00:00
thespad 70b76baa2f
Enable SBOM/Provenance 2024-12-05 14:24:00 +00:00
thespad 8f35e8139b
Remove contenv symlinks so we don't overwrite them 2024-11-15 13:52:12 +00:00
thespad 6bd31eb477
Initial 3.21 release 2024-11-15 11:38:48 +00:00
LinuxServer-CI 481825d48e
Bot Updating Package Versions 2024-09-28 13:36:15 +00:00
LinuxServer-CI 2926dbe73c
Bot Updating Templated Files 2024-09-28 13:34:09 +00:00
LinuxServer-CI c6b5263eb1
Bot Updating Templated Files 2024-09-28 13:32:49 +00:00
LinuxServer-CI f272148962
Bot Updating Templated Files 2024-09-28 13:31:28 +00:00
LinuxServer-CI bb5a7b16e2
Bot Updating Package Versions 2024-09-21 13:31:58 +00:00
LinuxServer-CI 1983fb36bb
Bot Updating Package Versions 2024-09-14 13:30:55 +00:00
LinuxServer-CI 85bd229846
Bot Updating Package Versions 2024-09-07 13:31:45 +00:00
LinuxServer-CI 94ccace81c
Bot Updating Package Versions 2024-08-31 13:29:57 +00:00
LinuxServer-CI 9ec43eb872
Bot Updating Templated Files 2024-08-24 13:30:04 +00:00
LinuxServer-CI c822962c7a Bot Updating Templated Files 2024-08-24 13:28:45 +00:00
LinuxServer-CI a2b17e520a Bot Updating Package Versions 2024-07-27 13:28:58 +00:00
LinuxServer-CI 6567cde19c Bot Updating Package Versions 2024-07-13 13:31:42 +00:00
LinuxServer-CI 719f49cb0a Bot Updating Templated Files 2024-07-13 13:29:39 +00:00
LinuxServer-CI 5b1eb38ce6 Bot Updating Templated Files 2024-07-13 13:27:43 +00:00
Adam 34006fe7e7
Merge pull request #248 from linuxserver/3.20-ro
RO support hooks (3.20)
2024-07-02 15:31:58 +01:00
LinuxServer-CI af2c6f228e Bot Updating Package Versions 2024-06-29 13:28:00 +00:00
thespad b48c87eb2f
Linting 2024-06-26 23:09:02 +01:00
thespad ef81cb3b33
RO support hooks 2024-06-26 21:07:41 +01:00
LinuxServer-CI 56d8fbb73f Bot Updating Package Versions 2024-06-22 13:31:01 +00:00
LinuxServer-CI b9b51a1b93 Bot Updating Package Versions 2024-06-11 10:24:47 +00:00
Adam 46e3e8d74c
Merge pull request #242 from linuxserver/3.20-lsiown
Copy lsiown from repo (3.20)
2024-06-11 11:22:23 +01:00
thespad 4066c272d7
Copy lsiown from repo 2024-06-10 15:27:34 +01:00
LinuxServer-CI 28e54925ca Bot Updating Package Versions 2024-06-08 13:29:27 +00:00
LinuxServer-CI c4951e7021 Bot Updating Package Versions 2024-05-22 19:20:33 +00:00
LinuxServer-CI f2844953b3 Bot Updating Templated Files 2024-05-22 19:18:30 +00:00
Adam 552137dbb1
Merge pull request #238 from linuxserver/3.20-initial
Bump to 3.20
2024-05-22 20:16:26 +01:00
thespad 3ae6c4fd66
Remove errant indent 2024-05-22 20:09:34 +01:00
thespad cb6b200afc
Remove build_version 2024-05-22 20:07:10 +01:00
thespad 458334e3c1
Add build_version output on init where supported. 2024-05-22 19:05:19 +01:00
thespad d69c527089
Bump to 3.20 2024-05-16 22:32:59 +01:00
Roxedus 3d21020c64
Merge pull request #234 from linuxserver/3.19-remove-arm-warning 2024-05-14 14:25:38 +02:00
thespad 145020adaa
Remove armhf warning 2024-05-12 15:04:33 +01:00
LinuxServer-CI ed4057339b Bot Updating Package Versions 2024-05-08 18:51:54 +00:00
Roxedus 9268218a5f
Merge pull request #232 from linuxserver/master-catatonit 2024-05-08 20:49:30 +02:00
Roxedus cd796b3370
Add Catatonit 2024-05-06 19:54:32 +02:00
LinuxServer-CI 0b5f271f0e Bot Updating Templated Files 2024-05-04 13:27:48 +00:00
LinuxServer-CI 7cd7e1401c Bot Updating Package Versions 2024-04-17 13:47:46 +00:00
aptalca eb3cf22d0d
Merge pull request #227 from linuxserver/3.19-find
3.19: add gnu find
2024-04-17 09:45:26 -04:00
aptalca f47b402a1a
add gnu find 2024-04-13 16:03:18 -04:00
LinuxServer-CI 05763edeb2 Bot Updating Package Versions 2024-04-13 13:26:20 +00:00
LinuxServer-CI f023763fe6 Bot Updating Package Versions 2024-04-06 13:27:59 +00:00
LinuxServer-CI 402e4abbc3 Bot Updating Package Versions 2024-03-30 13:27:25 +00:00
LinuxServer-CI ff87e3bd5a Bot Updating Package Versions 2024-03-23 13:26:34 +00:00
LinuxServer-CI a0702347af Bot Updating Templated Files 2024-03-16 13:25:54 +00:00
LinuxServer-CI 6cfbdd72c6 Bot Updating Package Versions 2024-03-02 13:25:09 +00:00
LinuxServer-CI 2263515ffb Bot Updating Templated Files 2024-02-24 13:29:52 +00:00
LinuxServer-CI 9626561aea Bot Updating Templated Files 2024-02-24 13:27:27 +00:00
LinuxServer-CI 725df02e95 Bot Updating Package Versions 2024-02-03 13:27:13 +00:00
LinuxServer-CI bd4c1887c2 Bot Updating Package Versions 2024-01-27 13:25:17 +00:00
LinuxServer-CI f7a30b5942 Bot Updating Package Versions 2024-01-20 13:29:58 +00:00
LinuxServer-CI e971d0872f Bot Updating Package Versions 2024-01-12 10:21:03 +00:00
LinuxServer-CI a03942aac4 Bot Updating Templated Files 2024-01-12 10:15:59 +00:00
LinuxServer-CI 1bfc5cb7a7 Bot Updating Package Versions 2023-12-30 13:26:51 +00:00
LinuxServer-CI d2d759f136 Bot Updating Package Versions 2023-12-16 13:28:23 +00:00
LinuxServer-CI 443aa44015 Bot Updating Package Versions 2023-12-08 14:53:16 +00:00
Adam 36bfc31d62
Merge pull request #220 from linuxserver/3.19-initial
Release 3.19 to master
2023-12-08 14:50:21 +00:00
TheSpad 0e7a9b6fbd
Release 3.19 to master 2023-12-07 11:35:05 +00:00
LinuxServer-CI 07c4bf4594 Bot Updating Package Versions 2023-12-02 13:28:07 +00:00
Eric Nemchik 3a67103736
Merge pull request #218 from linuxserver/3.18-cron-user-file
Add cron user file
2023-11-20 11:58:06 -06:00
Eric Nemchik 330012ef01
Merge pull request #211 from linuxserver/3.18-etc-cron
Import crontabs from etc
2023-11-20 11:55:53 -06:00
Eric Nemchik 9b393a8668
Add cron user file
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-20 11:04:54 -06:00
Eric Nemchik dbd643f8c3
Import crontabs from etc
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-19 14:34:27 -06:00
Eric Nemchik bef0f4cee2
Merge pull request #208 from linuxserver/3.18-silent-cron
silent cron
2023-11-11 16:05:54 -06:00
Adam 2b1fc3f6c8
Merge pull request #198 from linuxserver/3.18-secrets
Warn about newlines in secrets (3.18)
2023-11-11 21:32:20 +00:00
TheSpad 09726961fd
!0 instead of 1 2023-11-11 20:02:44 +00:00
Eric Nemchik 937caa6f19
silent cron
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-11 11:10:40 -06:00
LinuxServer-CI 3256bb4eeb Bot Updating Package Versions 2023-11-11 13:26:34 +00:00
TheSpad 6be18c0df7
Warn rather than sanitize 2023-11-11 10:35:47 +00:00
Eric Nemchik 89ebe1cc22
Merge pull request #201 from linuxserver/3.18-cron-redirect-stderr
Redirect stderr from cron
2023-11-02 16:12:05 -05:00
Eric Nemchik 8b9dbd0bed
Redirect stderr from cron
Signed-off-by: GitHub <noreply@github.com>
2023-11-02 17:09:46 +00:00
TheSpad 1b98fd9bc7
Fix env enumeration 2023-11-02 16:45:08 +00:00
TheSpad 7c6601c83a
Remove redundant if 2023-11-02 16:41:21 +00:00
Eric Nemchik cf5896ce7c
Merge pull request #191 from linuxserver/standard-cron
standard cron 3.18
2023-11-02 10:53:50 -05:00
TheSpad 6bb5231d17
Default to sanitizing newlines in secrets 2023-10-31 16:54:52 +00:00
LinuxServer-CI 00db510002 Bot Updating Package Versions 2023-10-28 13:29:48 +00:00
LinuxServer-CI 5543e3dd0f Bot Updating Package Versions 2023-10-14 13:27:41 +00:00
LinuxServer-CI a54b440055 Bot Updating Templated Files 2023-10-14 13:25:43 +00:00
LinuxServer-CI d971cf0873 Bot Updating Package Versions 2023-10-07 13:31:36 +00:00
LinuxServer-CI a8bbd50370 Bot Updating Templated Files 2023-10-07 13:28:15 +00:00
LinuxServer-CI 5461255904 Bot Updating Templated Files 2023-10-07 13:26:50 +00:00
LinuxServer-CI c060e20690 Bot Updating Package Versions 2023-09-30 13:26:54 +00:00
LinuxServer-CI fe39d670b7 Bot Updating Package Versions 2023-09-23 13:30:49 +00:00
LinuxServer-CI 1e9e41836b Bot Updating Package Versions 2023-09-02 13:27:12 +00:00
Eric Nemchik ed066bdae3
cron in base
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-18 23:29:57 -05:00
Eric Nemchik 0166b15838
Revert "cron in base"
This reverts commit b8c0295890.
2023-08-18 23:24:36 -05:00
LinuxServer-CI ab9e158526 Bot Updating Package Versions 2023-08-19 04:15:54 +00:00
Eric Nemchik b8c0295890
cron in base
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-18 23:06:17 -05:00
LinuxServer-CI 5e374ee43a Bot Updating Package Versions 2023-08-12 13:25:42 +00:00
LinuxServer-CI 816d25fbf7 Bot Updating Package Versions 2023-08-05 13:27:30 +00:00
LinuxServer-CI 96984e3854 Bot Updating Package Versions 2023-07-29 13:26:27 +00:00
LinuxServer-CI 8cf7e20755 Bot Updating Package Versions 2023-07-22 13:28:28 +00:00
LinuxServer-CI aa9b7f4b95 Bot Updating Package Versions 2023-07-15 13:32:07 +00:00
LinuxServer-CI 7d5f74364e Bot Updating Package Versions 2023-07-08 13:32:10 +00:00
LinuxServer-CI 4fe4220a7e Bot Updating Templated Files 2023-07-01 13:31:32 +00:00
LinuxServer-CI e434ab3fe3 Bot Updating Package Versions 2023-06-17 13:28:35 +00:00
LinuxServer-CI 1adb03aef0 Bot Updating Package Versions 2023-06-03 13:28:14 +00:00
LinuxServer-CI a0d322b305 Bot Updating Package Versions 2023-05-27 13:29:32 +00:00
LinuxServer-CI d2b85ed256 Bot Updating Templated Files 2023-05-27 13:27:37 +00:00
LinuxServer-CI 07df980344 Bot Updating Package Versions 2023-05-20 13:27:06 +00:00
Adam 466a927f40
Merge pull request #188 from linuxserver/3.18-package-install 2023-05-16 16:22:40 +01:00
TheSpad 15496c0fca
Externalise package check 2023-05-16 10:49:38 +01:00
aptalca 39642821ec
use venv in init mods package install 2023-05-15 16:38:33 -04:00
Adam 643409d275
Merge pull request #187 from linuxserver/3.18-pyvenv 2023-05-15 20:58:42 +01:00
TheSpad 8b124808ef
Create lsiopy venv folder and envs 2023-05-15 18:12:51 +01:00
LinuxServer-CI d36f2ddbf4 Bot Updating Package Versions 2023-05-13 13:26:39 +00:00
LinuxServer-CI 76c8c4fd58 Bot Updating Package Versions 2023-05-10 19:52:10 +00:00
Adam 7fc5da5f71
Merge pull request #183 from linuxserver/3.18-initial 2023-05-10 20:50:12 +01:00
TheSpad 91044234a7
Initial release 2023-05-10 15:24:43 +01:00
LinuxServer-CI eb4b14ce3c Bot Updating Package Versions 2023-05-06 13:28:10 +00:00
LinuxServer-CI a7ba2053f0 Bot Updating Templated Files 2023-04-29 13:29:16 +00:00
LinuxServer-CI a8465643b1 Bot Updating Templated Files 2023-04-29 13:27:36 +00:00
LinuxServer-CI 5d733ee571 Bot Updating Package Versions 2023-04-22 08:29:54 -05:00
LinuxServer-CI 08e780a773 Bot Updating Package Versions 2023-04-15 15:29:36 +02:00
Adam a9ef2ccf6c
Merge pull request #178 from linuxserver/master-armhf-notice 2023-04-12 22:45:44 +01:00
TheSpad eb6d5d5c12
Add armhf deprecation notice 2023-04-12 21:20:26 +01:00
LinuxServer-CI 370967709c Bot Updating Package Versions 2023-04-04 06:35:22 +00:00
LinuxServer-CI 72281a0cf8 Bot Updating Templated Files 2023-04-04 06:33:10 +00:00
LinuxServer-CI c54869a7bd Bot Updating Templated Files 2023-04-04 06:30:48 +00:00
LinuxServer-CI 64afadbace Bot Updating Templated Files 2023-04-04 08:27:26 +02:00
LinuxServer-CI a7ed4de8d4 Bot Updating Package Versions 2023-03-28 08:29:05 +02:00
LinuxServer-CI 31ef1b0d0a Bot Updating Package Versions 2023-03-21 01:28:57 -05:00
LinuxServer-CI 527b37252f Bot Updating Package Versions 2023-03-01 14:15:19 -06:00
LinuxServer-CI fbb9785cd6 Bot Updating Templated Files 2023-03-01 14:13:11 -06:00
Adam eea14b996e
Merge pull request #173 from linuxserver/3.17-branding 2023-03-01 20:11:31 +00:00
TheSpad d2c30740b3
Restore procps 2023-03-01 19:53:11 +00:00
TheSpad 8f6304defe
Fix permissions 2023-03-01 11:22:26 +00:00
TheSpad e128cf0cda
Add netcat-openbsd 2023-03-01 11:20:37 +00:00
TheSpad bb923d4917
Custom branding 2023-03-01 11:16:10 +00:00
TheSpad 292e1ef85f
Remove copied contenv, source from mods now 2023-03-01 11:13:43 +00:00
TheSpad 062b99c30f
Rename CI check 2023-03-01 11:13:27 +00:00
TheSpad 62ae1165ed
Remove legacy /run symlink hack 2023-03-01 11:13:07 +00:00
LinuxServer-CI b11a5ca283 Bot Updating Package Versions 2023-02-21 07:32:15 +01:00
LinuxServer-CI c675e2f545 Bot Updating Package Versions 2023-02-14 06:40:34 +00:00
LinuxServer-CI 00f7a6794e Bot Updating Templated Files 2023-02-14 00:37:47 -06:00
LinuxServer-CI 67cd47254a Bot Updating Templated Files 2023-02-14 07:35:22 +01:00
LinuxServer-CI 1a6f120c44 Bot Updating Package Versions 2023-01-17 07:30:20 +01:00
LinuxServer-CI 659bf29597 Bot Updating Package Versions 2023-01-10 00:32:04 -06:00
Adam 91a498c9e2
Merge pull request #165 from linuxserver/3.17-legacy-scripts
Remove legacy scripts check
2023-01-02 16:58:01 +00:00
LinuxServer-CI 82bb8aa307 Bot Updating Package Versions 2022-12-27 00:30:35 -06:00
LinuxServer-CI 2180f0d64d Bot Updating Package Versions 2022-12-20 07:31:47 +01:00
TheSpad 8736a368e5
Remove legacy custom file handlers 2022-12-10 18:24:54 +00:00
TheSpad f72ffa6ad9
Remove legacy scripts check 2022-12-10 17:05:15 +00:00
TheSpad 9fcf5d8681
Minor Dockerfile optimisations 2022-12-10 17:05:05 +00:00
LinuxServer-CI a7991dea60 Bot Updating Package Versions 2022-12-06 07:31:28 +01:00
LinuxServer-CI 7b446f095d Bot Updating Templated Files 2022-11-29 06:39:20 +00:00
LinuxServer-CI 87dfb43832 Bot Updating Templated Files 2022-11-29 07:35:58 +01:00
LinuxServer-CI 5d59580279 Bot Updating Templated Files 2022-11-29 07:33:41 +01:00
LinuxServer-CI df09f6d68c Bot Updating Package Versions 2022-11-25 11:12:36 -06:00
Adam ad924e72a7
Merge pull request #162 from linuxserver/alpine-release 2022-11-25 17:10:21 +00:00
TheSpad 7596410d7f
Spaces 2022-11-25 15:37:19 +00:00
TheSpad 078343fa8c
Add alpine-release package 2022-11-25 15:27:22 +00:00
LinuxServer-CI 305e9a2c7e Bot Updating Package Versions 2022-11-23 16:29:34 -06:00
Adam 92bd611edb
Merge pull request #161 from linuxserver/3.17-initial 2022-11-23 22:27:18 +00:00
TheSpad 1009478827
Initial 3.17 release 2022-11-23 22:00:25 +00:00
Adam 4659d1bb57
Merge pull request #159 from linuxserver/buildkit-master 2022-11-23 21:46:06 +00:00
TheSpad fb53f2e1bc
Remove separate chmod 2022-11-23 19:23:27 +00:00
TheSpad c1e8211ef7
chmod docker-mods script on ADD 2022-11-23 19:22:27 +00:00
LinuxServer-CI a7218a6ab4 Bot Updating Package Versions 2022-11-15 07:34:01 +01:00
LinuxServer-CI 15f2972106 Bot Updating Package Versions 2022-11-08 00:38:38 -06:00
LinuxServer-CI cd5e96dc7f Bot Updating Package Versions 2022-10-30 18:59:39 +01:00
Eric Nemchik 672802cf04
Merge pull request #155 from linuxserver/fix-migrations
Fix migrations
2022-10-30 12:56:52 -05:00
Eric Nemchik de94dc1911 Fix migrations 2022-10-28 16:18:25 -05:00
LinuxServer-CI 93731cdb69 Bot Updating Package Versions 2022-10-05 17:32:09 +00:00
Adam 855ddee102
Merge pull request #152 from linuxserver/mods-n-things-3.16 2022-10-05 18:29:59 +01:00
TheSpad dff708b8b7
Fix indentation on qemu curl 2022-10-05 18:08:38 +01:00
TheSpad 505eaafb77
Pull docker-mods from repo, install jq 2022-10-05 18:03:45 +01:00
Adam 0fa7d8bbf2
Merge pull request #103 from linuxserver/s6-rc-3.16 2022-09-23 15:56:51 +01:00
TheSpad 4b88885e86
CI oneshot should depend on legacy-services 2022-09-22 21:04:17 +01:00
TheSpad c82b92c605
Merge branch 'master' into s6-rc-3.16 2022-09-22 17:34:37 +01:00
LinuxServer-CI ca4a42df4a Bot Updating Templated Files 2022-09-20 02:00:12 -05:00
TheSpad 19b9b4baef
Regen jenkinsfile 2022-09-16 20:14:15 +01:00
Eric Nemchik 5aefb6cd61
Merge pull request #148 from linuxserver/custom-svc-clean-3.16
Fix custom svc removal, cleanup readme issues
2022-09-13 07:01:55 -05:00
TheSpad 4deecce65a
Fix custom svc removal, cleanup readme issues 2022-09-13 11:29:41 +01:00
TheSpad 12948902a1
Add user bundle removal to legacy block too 2022-09-13 11:19:04 +01:00
TheSpad 81ae7dfe9b
Fix errors if custom dir is mounted but empty 2022-09-13 11:12:42 +01:00
TheSpad 914b1f16a4
Remove custom svc from user bundle 2022-09-13 11:00:35 +01:00
LinuxServer-CI 84b302cd60 Bot Updating Package Versions 2022-09-13 02:05:37 -05:00
TheSpad 0cd410af3d
Don't write custom svc warning txt file 2022-09-11 16:13:19 +01:00
TheSpad 3e928ed92f
Fix package reads 2022-09-10 16:33:05 +01:00
TheSpad 0f6c8bd028
Remove duplicate shellcheck directive 2022-09-10 16:28:06 +01:00
TheSpad 255b2a1b11
Merge branch 'master' into s6-rc-3.16 2022-09-10 16:27:21 +01:00
Adam 428152474d
Merge pull request #141 from linuxserver/3.16-custom-rework 2022-09-10 10:59:25 +01:00
TheSpad 4e412a5fdc
Use DIR vars for folder check 2022-09-09 19:47:02 +01:00
TheSpad 2ee8af10f9
Move var declaration to top of script for clarity 2022-09-09 16:31:49 +01:00
TheSpad 34300133f6
Remove the *old* scripts dir, not the new one 2022-09-09 16:27:14 +01:00
TheSpad 1bc2cd870f
Remove *old* scripts dir, not new 2022-09-09 16:24:06 +01:00
TheSpad 256cbbff64
Fix missing output prefix 2022-09-06 15:48:18 +01:00
TheSpad c773341cea
Standardise output 2022-09-06 15:45:01 +01:00
TheSpad f4f76d6918
Fix package install logic 2022-09-06 11:05:50 +01:00
TheSpad fe11b1ded7
Fix package install logic 2022-09-06 09:44:57 +01:00
TheSpad 12eda7a831
Fix pip args 2022-09-05 22:32:03 +01:00
TheSpad fd0e34c1f5
Allow word splitting 2022-09-05 21:55:22 +01:00
TheSpad 261c0b7c50
Add note if no custom services found 2022-09-05 17:14:17 +01:00
TheSpad 14ba912cf0
Add note if no custom services found 2022-09-05 17:13:53 +01:00
TheSpad 82d4508817
Rework legacy custom file handling 2022-09-05 17:07:57 +01:00
TheSpad ea2e584fde
Delete legacy scripts folder if it's empty 2022-09-05 16:50:09 +01:00
TheSpad d7bdc2a516
Clarify tamper wording 2022-09-05 16:40:25 +01:00
TheSpad 55cff18284
Rework legacy custom file handling 2022-09-05 16:36:37 +01:00
TheSpad 61b7bb68e5
Merge branch 'master' into s6-rc-3.16 2022-09-03 16:14:47 +01:00
aptalca a507fbf537
Merge pull request #137 from linuxserver/custom-user-bundle-3.16
Add custom services to user bundle
2022-09-03 08:38:02 -04:00
TheSpad 696a16f01b
Set noninteractive for apt 2022-09-03 13:32:38 +01:00
TheSpad 6e7eb8a8d3
Add custom services to user bundle 2022-09-03 11:14:44 +01:00
TheSpad 91f450f06c
Remove vscode's trailling spaces 2022-09-03 11:09:41 +01:00
TheSpad 00a0bd1d2c
Add custom services to user bundle 2022-09-03 11:07:21 +01:00
LinuxServer-CI 110ea527e9 Bot Updating Package Versions 2022-09-02 16:11:10 +02:00
Adam 2f02d2559c
Merge pull request #134 from linuxserver/fix-custom-svc-3.16 2022-09-02 15:08:43 +01:00
TheSpad d1d84fac4c
Fix custom svc logic 2022-09-02 11:07:44 +01:00
TheSpad ef5ebc65e4
Fix custom service logic 2022-09-02 11:03:21 +01:00
TheSpad 0e55439386
Bump s6 to 3.1.2.1 to fix regression 2022-08-29 23:06:06 +01:00
TheSpad 75b3115d75
Fix custom script banner tee 2022-08-28 23:17:13 +01:00
Eric Nemchik e1f14ef6e1
Merge pull request #126 from linuxserver/new-custom-files-3.16
Support new custom files locations
2022-08-28 16:26:04 -05:00
TheSpad 1f816f0fd2
Support new custom files locations 2022-08-28 21:30:35 +01:00
TheSpad 5eb25b8357
Fix tamper check for custom files 2022-08-28 20:30:30 +01:00
TheSpad 7f8d142552
Fix script check exit code 2022-08-28 20:20:28 +01:00
TheSpad 10d77113b5
Simplify if logic 2022-08-28 18:37:38 +01:00
TheSpad ea7f9dddff
Standardise logic so it works cross-distro 2022-08-28 18:12:20 +01:00
TheSpad 7b8515c27e
Add link to script check banner 2022-08-28 17:51:23 +01:00
TheSpad 00cc255a45
Fix trigger logic 2022-08-28 17:48:09 +01:00
TheSpad 9c126e46cc
Use user2 bundle instead of top hack for ci-check 2022-08-28 16:24:18 +01:00
TheSpad e0fd8cb964
Expand tamper check and enable custom files warning 2022-08-28 16:07:23 +01:00
TheSpad 4f4d988211
Fix incorrect S6 version 2022-08-28 13:02:55 +01:00
TheSpad ec2e9b7ac0
Bump s6 to 3.1.2.0, replace patch with STAGE2_HOOK, reduce logging level 2022-08-28 12:57:13 +01:00
TheSpad 7519dd8f97
Integrate changes from Edge PR #123 2022-08-28 12:55:22 +01:00
TheSpad 595c036d6d
Merge branch 'master' into s6-rc-3.16 2022-08-27 21:04:56 +01:00
TheSpad 9b753d0667
Fix migrations 2022-08-27 20:35:37 +01:00
Eric Nemchik eabdf1cf32
Merge pull request #122 from linuxserver/nemchik-patch-2
Update 01-migrations
2022-08-27 10:12:47 -05:00
LinuxServer-CI d8547ab363 Bot Updating Package Versions 2022-08-23 08:42:30 +02:00
Eric Nemchik 2de8130702
Update 01-migrations
Fix broken bash syntax
2022-08-22 09:16:25 -05:00
LinuxServer-CI 2edf79aab1 Bot Updating Package Versions 2022-08-16 01:34:42 -05:00
LinuxServer-CI b0a2852692 Bot Updating Package Versions 2022-08-09 01:36:56 -05:00
TheSpad 34eee09951
Fix apk path 2022-08-03 13:45:52 +01:00
LinuxServer-CI 6ba2997eeb Bot Updating Package Versions 2022-08-02 08:34:58 +02:00
LinuxServer-CI 42825ece45 Bot Updating Package Versions 2022-07-31 12:54:36 +02:00
Adam 35e90d8ef5
Merge pull request #119 from linuxserver/mod-package-3.16 2022-07-31 11:52:46 +01:00
TheSpad 201227b220
Support universal package install 2022-07-29 18:00:22 +01:00
TheSpad b7b477c8d6
Support universal mod package install 2022-07-29 17:05:19 +01:00
aptalca 34f4a4681c
Merge pull request #112 from linuxserver/mod-init-3.16
Add mod-init
2022-07-26 12:37:05 -04:00
LinuxServer-CI 29c0ee219d Bot Updating Package Versions 2022-07-26 14:17:22 +02:00
TheSpad 4af8d4292f
Add init-services anchor 2022-07-23 12:56:30 +01:00
Adam 549772f05c
Merge branch 'master' into s6-rc-3.16 2022-07-22 22:02:27 +01:00
TheSpad a51ad09b7b
Add mod-init 2022-07-22 20:55:34 +01:00
Adam 2f97067d7e
Merge pull request #108 from linuxserver/hybrid-mods-3.16 2022-07-22 20:07:30 +01:00
TheSpad bd084de07d
Support hybrid mods 2022-07-22 15:46:30 +01:00
TheSpad 4d28a9cdc6
Move custom files to post-mods, add init-services anchor 2022-07-22 14:57:59 +01:00
TheSpad 3c7ccbd583
Disable custom script check for now 2022-07-21 17:14:28 +01:00
TheSpad 273f624f3a
Add "success" message to mods 2022-07-21 17:14:17 +01:00
LinuxServer-CI 90d9d04a66 Bot Updating Package Versions 2022-07-19 08:34:46 +02:00
TheSpad e696236d42
Copy rather than moving mod files to avoid overwrite issues 2022-07-16 14:11:00 +01:00
TheSpad 0e016f977e
Trailing newline 2022-07-15 21:16:15 +01:00
TheSpad dd40de00b6
Set s6 service max timeout to 0 2022-07-15 21:13:39 +01:00
TheSpad 74a4516271
Fix UMASK handling 2022-07-15 21:12:39 +01:00
TheSpad b5f9bf1093
Handle dual-mode mods 2022-07-15 21:07:38 +01:00
TheSpad bb2ab4ccdf
Change message wording to be more accurate 2022-07-14 22:20:23 +01:00
TheSpad e890f470b6
Fix old path handling, touch deps 2022-07-14 22:20:10 +01:00
TheSpad 4f51cb2f4f
Rework init order again 2022-07-14 22:19:49 +01:00
LinuxServer-CI 5f3a505a50 Bot Updating Package Versions 2022-07-12 01:36:02 -05:00
LinuxServer-CI 97f69b8423 Bot Updating Package Versions 2022-07-05 08:34:46 +02:00
TheSpad 92595b45d8 Fix umask handling for v3 2022-06-20 20:04:08 -04:00
j0nnymoe c758822c55
Merge pull request #98 from linuxserver/3.16-timeout
Set s6 service max timeout to 0
2022-06-17 07:13:59 +01:00
TheSpad d69c94cc2f
Set s6 service max timeout to 0 2022-06-14 16:05:51 +01:00
LinuxServer-CI 1d9f2f3862 Bot Updating Package Versions 2022-06-14 08:34:23 +02:00
TheSpad d7ac0a9a4e
Reorder so custom services aren't dependent on mods 2022-06-10 23:38:29 +01:00
TheSpad 3e69697264
Still chown old services folder if it exists 2022-06-10 16:34:16 +01:00
TheSpad c285069d03
Fix service file types 2022-06-10 16:31:30 +01:00
TheSpad 1dabda8b62
Split tamper check between files/services 2022-06-10 16:29:36 +01:00
TheSpad 36c3f7ffb5
Trailing newline 2022-06-10 16:19:53 +01:00
TheSpad 1f81e9ac8a
Add custom service handling 2022-06-10 16:16:25 +01:00
TheSpad 92a97355b4
Remove custom service handling 2022-06-10 16:16:17 +01:00
TheSpad ec6eed279d
Chown legacy custom locations if they exist 2022-06-09 11:51:13 +01:00
TheSpad 32e37c440b
Add tamper check until legacy custom files location removed 2022-06-09 11:51:02 +01:00
TheSpad 6ac3a53809
Add base to init-base so downstream init doesn't run too early 2022-06-08 17:55:24 +01:00
TheSpad 2c28aeb4c8
Trailing newline 2022-06-08 15:32:49 +01:00
TheSpad f6f2804792
Initial s6-rc commit 2022-06-08 15:31:58 +01:00
LinuxServer-CI 45b3854870 Bot Updating Package Versions 2022-06-07 01:33:26 -05:00
LinuxServer-CI 7383c0982b Bot Updating Package Versions 2022-06-06 07:56:38 -05:00
Adam 6f9c4d3d01
Merge pull request #97 from linuxserver/s6-3.1.0.1-3.16 2022-06-06 13:54:14 +01:00
TheSpad 73de4c6c4c
Trailing newline 2022-06-03 17:33:52 +01:00
TheSpad ca43caabd3
Add compatibility shim for v2 scandir 2022-06-03 14:38:02 +01:00
Eric Nemchik 43abf13ebd Update s6-overlay to v3.1.0.1 for 3.15 2022-06-02 11:01:05 -05:00
LinuxServer-CI 35065baace Bot Updating Package Versions 2022-05-31 16:49:40 +02:00
thelamer a374f6d565 switch master to 3.16 2022-05-31 10:47:06 -04:00
LinuxServer-CI b8061f5abf Bot Updating Package Versions 2022-05-17 08:35:12 +02:00
LinuxServer-CI 75cacb5446 Bot Updating Package Versions 2022-05-03 08:33:59 +02:00
aptalca 50056b0de7
Merge pull request #88 from linuxserver/modcurl
add retry to mod curls
2022-04-21 15:33:05 -04:00
aptalca dd6cea607a add retry to mod curls 2022-04-19 15:29:41 -04:00
LinuxServer-CI a6b4c3a750 Bot Updating Package Versions 2022-04-12 08:33:19 +02:00
LinuxServer-CI 94c906d4cb Bot Updating Package Versions 2022-04-05 08:33:20 +02:00
LinuxServer-CI caa7a49b09 Bot Updating Package Versions 2022-03-29 01:32:55 -05:00
LinuxServer-CI bfe8091ed5 Bot Updating Package Versions 2022-03-22 07:31:54 +01:00
93 changed files with 971 additions and 1396 deletions

View file

@ -15,6 +15,6 @@ trim_trailing_whitespace = false
indent_style = space
indent_size = 2
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}]
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

View file

@ -0,0 +1,15 @@
name: build
run-name: ${{ gitea.actor }} is building baseimage-alpine
on:
push:
branches:
- 'master'
jobs:
build:
runs-on: podman
steps:
- uses: actions/checkout@v3
- run: podman login --username registry --password ${{ secrets.MEATBAG_REGISTRY_TOKEN }} registry.meatbag.se
- run: podman build -t meatbag/baseimage-alpine:latest .
- run: podman push meatbag/baseimage-alpine registry.meatbag.se/meatbag/baseimage-alpine

View file

@ -1,123 +0,0 @@
# Contributing to baseimage-alpine
## Gotchas
* While contributing make sure to make all your changes before creating a Pull Request, as our pipeline builds each commit after the PR is open.
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
## Common files
| File | Use case |
| :----: | --- |
| `Dockerfile` | Dockerfile used to build amd64 images |
| `Dockerfile.aarch64` | Dockerfile used to build 64bit ARM architectures |
| `Dockerfile.armhf` | Dockerfile used to build 32bit ARM architectures |
| `Jenkinsfile` | This file is a product of our builder and should not be edited directly. This is used to build the image |
| `jenkins-vars.yml` | This file is used to generate the `Jenkinsfile` mentioned above, it only affects the build-process |
| `package_versions.txt` | This file is generated as a part of the build-process and should not be edited directly. It lists all the installed packages and their versions |
| `README.md` | This file is a product of our builder and should not be edited directly. This displays the readme for the repository and image registries |
| `readme-vars.yml` | This file is used to generate the `README.md` |
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-baseimage-alpine/edit/master/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io)
### Fixing typos or clarify the text in the readme
There are variables for multiple parts of the readme, the most common ones are:
| Variable | Description |
| :----: | --- |
| `project_blurb` | This is the short excerpt shown above the project logo. |
| `app_setup_block` | This is the text that shows up under "Application Setup" if enabled |
### Parameters
The compose and run examples are also generated from these variables.
We have a [reference file](https://github.com/linuxserver/docker-jenkins-builder/blob/master/vars/_container-vars-blank) in our Jenkins Builder.
These are prefixed with `param_` for required parameters, or `opt_param` for optional parameters, except for `cap_add`.
Remember to enable param, if currently disabled. This differs between parameters, and can be seen in the reference file.
Devices, environment variables, ports and volumes expects its variables in a certain way.
### Devices
```yml
param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
opt_param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
```
### Environment variables
```yml
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
opt_param_env_vars:
- { env_var: "VERSION", env_value: "latest", desc: "Supported values are LATEST, PLEXPASS or a specific version number." }
```
### Ports
```yml
param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
opt_param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
```
### Volumes
```yml
param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
opt_param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
```
### Testing template changes
After you make any changes to the templates, you can use our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) to have the files updated from the modified templates. Please use the command found under `Running Locally` [on this page](https://github.com/linuxserver/docker-jenkins-builder/blob/master/README.md) to generate them prior to submitting a PR.
## Dockerfiles
We use multiple Dockerfiles in our repos, this is because sometimes some CPU architectures needs different packages to work.
If you are proposing additional packages to be added, ensure that you added the packages to all the Dockerfiles in alphabetical order.
### Testing your changes
```bash
git clone https://github.com/linuxserver/docker-baseimage-alpine.git
cd docker-baseimage-alpine
docker build \
--no-cache \
--pull \
-t linuxserver/baseimage-alpine:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```bash
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-baseimage-alpine/tree/master/root), add an entry to the changelog
```yml
changelogs:
- { date: "DD.MM.YY:", desc: "Added some love to templates" }
```

2
.github/FUNDING.yml vendored
View file

@ -1,2 +0,0 @@
github: linuxserver
open_collective: linuxserver

View file

@ -1,13 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://discord.gg/YWrKVTn
about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum
url: https://discourse.linuxserver.io
about: Post on our community forum.
- name: Documentation
url: https://docs.linuxserver.io
about: Documentation - information about all of our containers.

View file

@ -1,40 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- Provide a general summary of the bug in the Title above -->
------------------------------
## Expected Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Environment
**OS:**
**CPU architecture:** x86_64/arm32/arm64
**How docker service was installed:**
<!--- ie. from the official docker repo, from the distro repo, nas OS provided, etc. -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Command used to create docker container (run/create/compose/screenshot)
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
## Docker logs
<!--- Provide a full docker log, output of "docker logs baseimage-alpine" -->

View file

@ -1,25 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- If this acts as a feature request please ask yourself if this modification is something the whole userbase will benefit from --->
<!--- If this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- Provide a general summary of the request in the Title above -->
------------------------------
## Desired Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Alternatives Considered
<!--- Tell us what other options you have tried or considered -->

View file

@ -1,43 +0,0 @@
<!--- Provide a general summary of your changes in the Title above -->
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- Before submitting a pull request please check the following -->
<!--- If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR -->
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
<!--- We maintain a changelog of major revisions to the container at the end of readme-vars.yml in the root of this repository, please add your changes there if appropriate -->
<!--- Coding guidelines: -->
<!--- 1. Installed packages in the Dockerfiles should be in alphabetical order -->
<!--- 2. Changes to Dockerfile should be replicated in Dockerfile.armhf and Dockerfile.aarch64 if applicable -->
<!--- 3. Indentation style (tabs vs 4 spaces vs 1 space) should match the rest of the document -->
<!--- 4. Readme is auto generated from readme-vars.yml, make your changes there -->
------------------------------
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------
<!--- We welcome all PRs though this doesnt guarantee it will be accepted. -->
## Description:
<!--- Describe your changes in detail -->
## Benefits of this PR and context:
<!--- Please explain why we should accept this PR. If this fixes an outstanding bug, please reference the issue # -->
## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Source / References:
<!--- Please include any forum posts/github links relevant to the PR -->

View file

@ -1,16 +0,0 @@
name: External Trigger Main
on:
workflow_dispatch:
jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: External Trigger
if: github.ref == 'refs/heads/master'
run: |
echo "**** No external release, exiting ****"
exit 0

View file

@ -1,43 +0,0 @@
name: External Trigger Scheduler
on:
schedule:
- cron: '52 * * * *'
workflow_dispatch:
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "$br" == "$ls_branch" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-baseimage-alpine/actions/workflows/external_trigger.yml/dispatches
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi
done

View file

@ -1,13 +0,0 @@
name: Greetings
on: [pull_request_target, issues]
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,38 +0,0 @@
name: Package Trigger Main
on:
workflow_dispatch:
jobs:
package-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Package Trigger
if: github.ref == 'refs/heads/master'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_BASEIMAGE_ALPINE_MASTER }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_BASEIMAGE_ALPINE_MASTER is set; skipping trigger. ****"
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-alpine/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
exit 0
fi
echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_BASEIMAGE_ALPINE_MASTER\". ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-alpine/job/master/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"

View file

@ -1,50 +0,0 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '01 6 * * 2'
workflow_dispatch:
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "${br}" == "${ls_branch}" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
triggered_branches="${triggered_branches}${br} "
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-baseimage-alpine/actions/workflows/package_trigger.yml/dispatches
sleep 30
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi
done
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
echo "**** Notifying Discord ****"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Package Check Build(s) Triggered for baseimage-alpine** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-baseimage-alpine/activity/"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}

View file

@ -1,23 +0,0 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
days-before-stale: 30
days-before-close: 365
exempt-issue-labels: 'awaiting-approval,work-in-progress'
exempt-pr-labels: 'awaiting-approval,work-in-progress'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,89 +1,104 @@
FROM alpine:3.14 as rootfs-stage
# syntax=docker/dockerfile:1
FROM alpine:3.20 AS rootfs-stage
# environment
ENV REL=v3.15
ENV ROOTFS=/root-out
ENV REL=v3.21
ENV ARCH=x86_64
ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine
ENV PACKAGES=alpine-baselayout,\
alpine-keys,\
apk-tools,\
busybox,\
libc-utils,\
xz
libc-utils
# install packages
RUN \
apk add --no-cache \
bash \
curl \
tzdata \
xz
apk add --no-cache \
bash \
xz
# fetch builder script from gliderlabs
# build rootfs
RUN \
curl -o \
/mkimage-alpine.bash -L \
https://raw.githubusercontent.com/gliderlabs/docker-alpine/master/builder/scripts/mkimage-alpine.bash && \
chmod +x \
/mkimage-alpine.bash && \
./mkimage-alpine.bash && \
mkdir /root-out && \
tar xf \
/rootfs.tar.xz -C \
/root-out && \
sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow
mkdir -p "$ROOTFS/etc/apk" && \
{ \
echo "$MIRROR/$REL/main"; \
echo "$MIRROR/$REL/community"; \
} > "$ROOTFS/etc/apk/repositories" && \
apk --root "$ROOTFS" --no-cache --keys-dir /etc/apk/keys add --arch $ARCH --initdb ${PACKAGES//,/ } && \
sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow
# set version for s6 overlay
ARG S6_OVERLAY_VERSION="3.2.0.2"
ARG S6_OVERLAY_ARCH="x86_64"
# add s6 overlay
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-noarch.tar.xz
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz /tmp
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz
# add s6 optional symlinks
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && unlink /root-out/usr/bin/with-contenv
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz
# Runtime stage
FROM scratch
COPY --from=rootfs-stage /root-out/ /
ARG BUILD_DATE
ARG VERSION
ARG MODS_VERSION="v3"
ARG PKG_INST_VERSION="v1"
ARG LSIOWN_VERSION="v1"
ARG WITHCONTENV_VERSION="v1"
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="TheLamer"
# set version for s6 overlay
ARG OVERLAY_VERSION="v2.2.0.3"
ARG OVERLAY_ARCH="amd64"
# add s6 overlay
ADD https://github.com/just-containers/s6-overlay/releases/download/${OVERLAY_VERSION}/s6-overlay-${OVERLAY_ARCH}-installer /tmp/
RUN chmod +x /tmp/s6-overlay-${OVERLAY_ARCH}-installer && /tmp/s6-overlay-${OVERLAY_ARCH}-installer / && rm /tmp/s6-overlay-${OVERLAY_ARCH}-installer
COPY patch/ /tmp/patch
ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods"
ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/package-install.${PKG_INST_VERSION}" "/etc/s6-overlay/s6-rc.d/init-mods-package-install/run"
ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/lsiown.${LSIOWN_VERSION}" "/usr/bin/lsiown"
ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/with-contenv.${WITHCONTENV_VERSION}" "/usr/bin/with-contenv"
# environment variables
ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \
HOME="/root" \
TERM="xterm"
HOME="/root" \
TERM="xterm" \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \
S6_VERBOSITY=1 \
S6_STAGE2_HOOK=/docker-mods \
VIRTUAL_ENV=/lsiopy \
PATH="/lsiopy/bin:$PATH"
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \
curl \
patch \
tar && \
echo "**** install runtime packages ****" && \
apk add --no-cache \
bash \
ca-certificates \
coreutils \
procps \
shadow \
tzdata && \
echo "**** create abc user and make our folders ****" && \
groupmod -g 1000 users && \
useradd -u 911 -U -d /config -s /bin/false abc && \
usermod -G users abc && \
mkdir -p \
/app \
/config \
/defaults && \
mv /usr/bin/with-contenv /usr/bin/with-contenvb && \
patch -u /etc/s6/init/init-stage2 -i /tmp/patch/etc/s6/init/init-stage2.patch && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/*
echo "**** install runtime packages ****" && \
apk add --no-cache \
alpine-release \
bash \
ca-certificates \
catatonit \
coreutils \
curl \
findutils \
jq \
netcat-openbsd \
procps-ng \
shadow \
tzdata && \
echo "**** create abc user and make our folders ****" && \
groupmod -g 1000 users && \
useradd -u 911 -U -d /config -s /bin/false abc && \
usermod -G users abc && \
mkdir -p \
/app \
/config \
/defaults \
/lsiopy && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*
# add local files
COPY root/ /

View file

@ -1,94 +1,104 @@
FROM alpine:3.14 as rootfs-stage
# syntax=docker/dockerfile:1
FROM alpine:3.20 AS rootfs-stage
# environment
ENV REL=v3.15
ENV ROOTFS=/root-out
ENV REL=v3.21
ENV ARCH=aarch64
ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine
ENV PACKAGES=alpine-baselayout,\
alpine-keys,\
apk-tools,\
busybox,\
libc-utils,\
xz
libc-utils
# install packages
RUN \
apk add --no-cache \
bash \
curl \
tzdata \
xz
apk add --no-cache \
bash \
xz
# fetch builder script from gliderlabs
# build rootfs
RUN \
curl -o \
/mkimage-alpine.bash -L \
https://raw.githubusercontent.com/gliderlabs/docker-alpine/master/builder/scripts/mkimage-alpine.bash && \
chmod +x \
/mkimage-alpine.bash && \
./mkimage-alpine.bash && \
mkdir /root-out && \
tar xf \
/rootfs.tar.xz -C \
/root-out && \
sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow
mkdir -p "$ROOTFS/etc/apk" && \
{ \
echo "$MIRROR/$REL/main"; \
echo "$MIRROR/$REL/community"; \
} > "$ROOTFS/etc/apk/repositories" && \
apk --root "$ROOTFS" --no-cache --keys-dir /etc/apk/keys add --arch $ARCH --initdb ${PACKAGES//,/ } && \
sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow
# set version for s6 overlay
ARG S6_OVERLAY_VERSION="3.2.0.2"
ARG S6_OVERLAY_ARCH="aarch64"
# add s6 overlay
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-noarch.tar.xz
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz /tmp
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz
# add s6 optional symlinks
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && unlink /root-out/usr/bin/with-contenv
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp
RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz
# Runtime stage
FROM scratch
COPY --from=rootfs-stage /root-out/ /
ARG BUILD_DATE
ARG VERSION
ARG MODS_VERSION="v3"
ARG PKG_INST_VERSION="v1"
ARG LSIOWN_VERSION="v1"
ARG WITHCONTENV_VERSION="v1"
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="TheLamer"
# set version for s6 overlay
ARG OVERLAY_VERSION="v2.2.0.3"
ARG OVERLAY_ARCH="aarch64"
# add s6 overlay
ADD https://github.com/just-containers/s6-overlay/releases/download/${OVERLAY_VERSION}/s6-overlay-${OVERLAY_ARCH}-installer /tmp/
RUN chmod +x /tmp/s6-overlay-${OVERLAY_ARCH}-installer && /tmp/s6-overlay-${OVERLAY_ARCH}-installer / && rm /tmp/s6-overlay-${OVERLAY_ARCH}-installer
COPY patch/ /tmp/patch
ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods"
ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/package-install.${PKG_INST_VERSION}" "/etc/s6-overlay/s6-rc.d/init-mods-package-install/run"
ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/lsiown.${LSIOWN_VERSION}" "/usr/bin/lsiown"
ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/with-contenv.${WITHCONTENV_VERSION}" "/usr/bin/with-contenv"
# environment variables
ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \
HOME="/root" \
TERM="xterm"
HOME="/root" \
TERM="xterm" \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \
S6_VERBOSITY=1 \
S6_STAGE2_HOOK=/docker-mods \
VIRTUAL_ENV=/lsiopy \
PATH="/lsiopy/bin:$PATH"
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \
curl \
patch \
tar && \
echo "**** install runtime packages ****" && \
apk add --no-cache \
bash \
ca-certificates \
coreutils \
procps \
shadow \
tzdata && \
echo "**** create abc user and make our folders ****" && \
groupmod -g 1000 users && \
useradd -u 911 -U -d /config -s /bin/false abc && \
usermod -G users abc && \
mkdir -p \
/app \
/config \
/defaults && \
mv /usr/bin/with-contenv /usr/bin/with-contenvb && \
patch -u /etc/s6/init/init-stage2 -i /tmp/patch/etc/s6/init/init-stage2.patch && \
echo "**** add qemu ****" && \
curl -o \
/usr/bin/qemu-aarch64-static -L \
"https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static" && \
chmod +x /usr/bin/qemu-aarch64-static && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/*
echo "**** install runtime packages ****" && \
apk add --no-cache \
alpine-release \
bash \
ca-certificates \
catatonit \
coreutils \
curl \
findutils \
jq \
netcat-openbsd \
procps-ng \
shadow \
tzdata && \
echo "**** create abc user and make our folders ****" && \
groupmod -g 1000 users && \
useradd -u 911 -U -d /config -s /bin/false abc && \
usermod -G users abc && \
mkdir -p \
/app \
/config \
/defaults \
/lsiopy && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*
# add local files
COPY root/ /

View file

@ -1,96 +0,0 @@
FROM alpine:3.14 as rootfs-stage
# environment
ENV REL=v3.15
ENV ARCH=armv7
ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine
ENV PACKAGES=alpine-baselayout,\
alpine-keys,\
apk-tools,\
busybox,\
libc-utils,\
xz
# install packages
RUN \
apk add --no-cache \
bash \
curl \
tzdata \
xz
# fetch builder script from gliderlabs
RUN \
curl -o \
/mkimage-alpine.bash -L \
https://raw.githubusercontent.com/gliderlabs/docker-alpine/master/builder/scripts/mkimage-alpine.bash && \
chmod +x \
/mkimage-alpine.bash && \
./mkimage-alpine.bash && \
mkdir /root-out && \
tar xf \
/rootfs.tar.xz -C \
/root-out && \
sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow
# Runtime stage
FROM scratch
COPY --from=rootfs-stage /root-out/ /
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="TheLamer"
# set version for s6 overlay
ARG OVERLAY_VERSION="v2.2.0.3"
ARG OVERLAY_ARCH="arm"
# add s6 overlay
ADD https://github.com/just-containers/s6-overlay/releases/download/${OVERLAY_VERSION}/s6-overlay-${OVERLAY_ARCH}-installer /tmp/
RUN chmod +x /tmp/s6-overlay-${OVERLAY_ARCH}-installer && /tmp/s6-overlay-${OVERLAY_ARCH}-installer / && rm /tmp/s6-overlay-${OVERLAY_ARCH}-installer
COPY patch/ /tmp/patch
# environment variables
ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \
HOME="/root" \
TERM="xterm"
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \
curl \
patch \
tar && \
echo "**** install runtime packages ****" && \
apk add --no-cache \
bash \
ca-certificates \
coreutils \
procps \
shadow \
tzdata && \
echo "**** create abc user and make our folders ****" && \
groupmod -g 1000 users && \
useradd -u 911 -U -d /config -s /bin/false abc && \
usermod -G users abc && \
mkdir -p \
/app \
/config \
/defaults && \
mv /usr/bin/with-contenv /usr/bin/with-contenvb && \
patch -u /etc/s6/init/init-stage2 -i /tmp/patch/etc/s6/init/init-stage2.patch && \
echo "**** add qemu ****" && \
curl -o \
/usr/bin/qemu-arm-static -L \
"https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static" && \
chmod +x /usr/bin/qemu-arm-static && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/*
# add local files
COPY root/ /
ENTRYPOINT ["/init"]

883
Jenkinsfile vendored

File diff suppressed because it is too large Load diff

View file

@ -1,30 +1 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/CONTRIBUTING.md -->
[linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://mibbit.com/?server=irc.libera.chat&channel=%23linuxserver.io
[appurl]: https://alpinelinux.org
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png?v=4&s=4000)][linuxserverurl]
## Contact information:-
| Type | Address/Details |
| :---: | --- |
| Discord | [Discord](https://discord.gg/YWrKVTn) |
| IRC | libera at `#linuxserver.io` more information at:- [IRC][ircurl]
| Forum | [LinuxServer.io forum][forumurl] |
&nbsp;
&nbsp;
[![](https://images.microbadger.com/badges/image/lsiobase/alpine.svg)](https://microbadger.com/images/lsiobase/alpine "Get your own image badge on microbadger.com")
[![](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/Dockerfile-Link-green.png)](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/Dockerfile)
A custom base image built with [Alpine linux][appurl] and [S6 overlay](https://github.com/just-containers/s6-overlay)..
The following line is only in this repo for loop testing:
- { date: "01.01.50:", desc: "I am the release message for this internal repo." }
A custom base image built with [Alpine Linux](https://alpinelinux.org) and [s6-overlay](https://github.com/just-containers/s6-overlay).

View file

@ -4,8 +4,10 @@
project_name: docker-baseimage-alpine
external_type: os
release_type: stable
release_tag: "3.15"
release_tag: "3.21"
ls_branch: master
image_sbom: true
image_provenance: true
repo_vars:
- BUILD_VERSION_ARG = 'OS'
- LS_USER = 'linuxserver'
@ -21,6 +23,6 @@ repo_vars:
- CI_PORT='80'
- CI_SSL='true'
- CI_DELAY='30'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_DOCKERENV='LSIO_FIRST_PARTY=true'
- CI_AUTH=''
- CI_WEBPATH=''

View file

@ -1,33 +1,51 @@
alpine-baselayout-3.2.0-r18
alpine-keys-2.4-r1
apk-tools-2.12.7-r3
bash-5.1.16-r0
busybox-1.34.1-r4
ca-certificates-20211220-r0
ca-certificates-bundle-20211220-r0
coreutils-9.0-r2
libacl-2.2.53-r0
libattr-2.5.1-r1
libc-utils-0.7.2-r3
libcrypto1.1-1.1.1l-r8
libintl-0.21-r0
libproc-3.3.17-r0
libretls-3.3.4-r2
libssl1.1-1.1.1l-r8
linux-pam-1.5.2-r0
musl-1.2.2-r7
musl-utils-1.2.2-r7
ncurses-libs-6.3_p20211120-r0
ncurses-terminfo-base-6.3_p20211120-r0
procps-3.3.17-r0
readline-8.1.1-r0
s6-ipcserver-2.11.0.0-r0
scanelf-1.3.3-r0
shadow-4.8.1-r1
skalibs-2.11.0.0-r0
ssl_client-1.34.1-r4
tzdata-2021e-r0
utmps-0.1.0.3-r0
xz-5.2.5-r0
xz-libs-5.2.5-r0
zlib-1.2.11-r3
NAME VERSION TYPE
acl-libs 2.3.2-r1 apk
alpine-baselayout 3.6.8-r1 apk
alpine-baselayout-data 3.6.8-r1 apk
alpine-keys 2.5-r0 apk
alpine-release 3.21.3-r0 apk
apk-tools 2.14.6-r3 apk
bash 5.2.37-r0 apk
brotli-libs 1.1.0-r2 apk
busybox 1.37.0-r12 apk
busybox-binsh 1.37.0-r12 apk
c-ares 1.34.5-r0 apk
ca-certificates 20241121-r1 apk
ca-certificates-bundle 20241121-r1 apk
catatonit 0.2.0-r0 apk
coreutils 9.5-r2 apk
coreutils-env 9.5-r2 apk
coreutils-fmt 9.5-r2 apk
coreutils-sha512sum 9.5-r2 apk
curl 8.12.1-r1 apk
findutils 4.10.0-r0 apk
jq 1.7.1-r0 apk
libattr 2.5.2-r2 apk
libbsd 0.12.2-r0 apk
libcrypto3 3.3.3-r0 apk
libcurl 8.12.1-r1 apk
libidn2 2.3.7-r0 apk
libintl 0.22.5-r0 apk
libmd 1.1.0-r0 apk
libncursesw 6.5_p20241006-r3 apk
libproc2 4.0.4-r2 apk
libpsl 0.21.5-r3 apk
libssl3 3.3.3-r0 apk
libunistring 1.2-r0 apk
linux-pam 1.6.1-r1 apk
musl 1.2.5-r9 apk
musl-utils 1.2.5-r9 apk
ncurses-terminfo-base 6.5_p20241006-r3 apk
netcat-openbsd 1.226.1.1-r0 apk
nghttp2-libs 1.64.0-r0 apk
oniguruma 6.9.9-r0 apk
procps-ng 4.0.4-r2 apk
readline 8.2.13-r0 apk
scanelf 1.3.8-r1 apk
shadow 4.16.0-r1 apk
skalibs-libs 2.14.3.0-r0 apk
ssl_client 1.37.0-r12 apk
tzdata 2025b-r0 apk
utmps-libs 0.1.2.3-r2 apk
zlib 1.3.1-r2 apk
zstd-libs 1.5.6-r2 apk

View file

@ -1,15 +0,0 @@
--- init-stage2 2021-01-20 20:21:41.628300700 -0600
+++ init-stage2_new 2021-01-20 20:23:48.123677700 -0600
@@ -17,6 +17,12 @@
backtick -D 0 -n S6_READ_ONLY_ROOT { printcontenv S6_READ_ONLY_ROOT }
importas -u S6_READ_ONLY_ROOT S6_READ_ONLY_ROOT
+# Docker Mods run logic
+foreground
+{
+ /docker-mods
+}
+
foreground
{
if

View file

@ -4,29 +4,22 @@
project_name: baseimage-alpine
full_custom_readme: |
{% raw -%}
[linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://mibbit.com/?server=irc.libera.chat&channel=%23linuxserver.io
[appurl]: https://alpinelinux.org
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png?v=4&s=4000)][linuxserverurl]
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
## Contact information:-
| Type | Address/Details |
| :---: | --- |
| Discord | [Discord](https://discord.gg/YWrKVTn) |
| IRC | libera at `#linuxserver.io` more information at:- [IRC][ircurl]
| Forum | [LinuxServer.io forum][forumurl] |
| Discord | [Discord](https://linuxserver.io/discord) |
| IRC | `#linuxserver.io` on irc.libera.chat |
| Forum | [Discourse](https://discourse.linuxserver.io/) |
&nbsp;
&nbsp;
A custom base image built with [Alpine Linux](https://alpinelinux.org) and [s6-overlay](https://github.com/just-containers/s6-overlay).
[![](https://images.microbadger.com/badges/image/lsiobase/alpine.svg)](https://microbadger.com/images/lsiobase/alpine "Get your own image badge on microbadger.com")
[![](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/Dockerfile-Link-green.png)](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/Dockerfile)
A custom base image built with [Alpine linux][appurl] and [S6 overlay](https://github.com/just-containers/s6-overlay)..
- Support for using our base images in your own projects is provided on a Reasonable Endeavours basis, please see our [Support Policy](https://www.linuxserver.io/supportpolicy) for details.
- There is no `latest` tag for any of our base images, by design. We often make breaking changes between versions, and we don't publish release notes like we do for the downstream images.
- If you're intending to distribute an image using one of our bases, please read our [docs on container branding](https://docs.linuxserver.io/general/container-branding/) first.
- Alpine releases are supported for 2 years, after which we will stop building new base images for that version.
The following line is only in this repo for loop testing:

View file

@ -1,119 +0,0 @@
#!/usr/bin/with-contenv bash
# Exit if mods is not set
if [ -z ${DOCKER_MODS+x} ]; then
exit 0
fi
# Check for curl
if [ ! -f /usr/bin/curl ] || [ ! -f /usr/bin/jq ]; then
echo "[mod-init] Curl/JQ was not found on this system for Docker mods installing"
if [ -f /usr/bin/apt ]; then
## Ubuntu
apt-get update
apt-get install --no-install-recommends -y \
curl \
jq
elif [ -f /sbin/apk ]; then
# Alpine
apk add --no-cache \
curl \
jq
fi
fi
## Functions
# Use different filtering depending on URL
get_blob_sha () {
if [[ $1 == "ghcr" ]]; then
curl \
--silent \
--location \
--request GET \
--header "Authorization: Bearer $2" \
$3 | jq -r '.layers[0].digest'
else
curl \
--silent \
--location \
--request GET \
--header "Authorization: Bearer $2" \
$3 | jq -r '.fsLayers[0].blobSum'
fi
}
# Main run logic
echo "[mod-init] Attempting to run Docker Modification Logic"
IFS='|'
DOCKER_MODS=(${DOCKER_MODS})
for DOCKER_MOD in "${DOCKER_MODS[@]}"; do
# Support alternative endpoints
if [[ ${DOCKER_MOD} == ghcr.io/* ]] || [[ ${DOCKER_MOD} == linuxserver/* ]]; then
DOCKER_MOD="${DOCKER_MOD#ghcr.io/*}"
ENDPOINT="${DOCKER_MOD%%:*}"
USERNAME="${DOCKER_MOD%%/*}"
REPO="${ENDPOINT#*/}"
TAG="${DOCKER_MOD#*:}"
if [[ ${TAG} == "${DOCKER_MOD}" ]]; then
TAG="latest"
fi
FILENAME="${USERNAME}.${REPO}.${TAG}"
AUTH_URL="https://ghcr.io/token?scope=repository%3A${USERNAME}%2F${REPO}%3Apull"
MANIFEST_URL="https://ghcr.io/v2/${ENDPOINT}/manifests/${TAG}"
BLOB_URL="https://ghcr.io/v2/${ENDPOINT}/blobs/"
MODE="ghcr"
else
ENDPOINT="${DOCKER_MOD%%:*}"
USERNAME="${DOCKER_MOD%%/*}"
REPO="${ENDPOINT#*/}"
TAG="${DOCKER_MOD#*:}"
if [[ ${TAG} == "${DOCKER_MOD}" ]]; then
TAG="latest"
fi
FILENAME="${USERNAME}.${REPO}.${TAG}"
AUTH_URL="https://auth.docker.io/token?service=registry.docker.io&scope=repository:${ENDPOINT}:pull"
MANIFEST_URL="https://registry-1.docker.io/v2/${ENDPOINT}/manifests/${TAG}"
BLOB_URL="https://registry-1.docker.io/v2/${ENDPOINT}/blobs/"
MODE="dockerhub"
fi
# Kill off modification logic if any of the usernames are banned
BLACKLIST=$(curl -s https://raw.githubusercontent.com/linuxserver/docker-mods/master/blacklist.txt)
IFS=$'\n'
BLACKLIST=(${BLACKLIST})
for BANNED in "${BLACKLIST[@]}"; do
if [ "${BANNED}" == "${USERNAME,,}" ]; then
if [ -z ${RUN_BANNED_MODS+x} ]; then
echo "[mod-init] ${DOCKER_MOD} is banned from use due to reported abuse aborting mod logic"
exit 0
else
echo "[mod-init] You have chosen to run banned mods ${DOCKER_MOD} will be applied"
fi
fi
done
echo "[mod-init] Applying ${DOCKER_MOD} files to container"
# Get Dockerhub token for api operations
TOKEN=\
"$(curl \
--silent \
--header 'GET' \
"${AUTH_URL}" \
| jq -r '.token' \
)"
# Determine first and only layer of image
SHALAYER=$(get_blob_sha "${MODE}" "${TOKEN}" "${MANIFEST_URL}")
# Check if we have allready applied this layer
if [ -f "/${FILENAME}" ] && [ "${SHALAYER}" == "$(cat /${FILENAME})" ]; then
echo "[mod-init] ${DOCKER_MOD} at ${SHALAYER} has been previously applied skipping"
else
# Download and extract layer to /
curl \
--silent \
--location \
--request GET \
--header "Authorization: Bearer ${TOKEN}" \
"${BLOB_URL}${SHALAYER}" \
| tar xz -C /
echo ${SHALAYER} > "/${FILENAME}"
fi
done

View file

@ -1,16 +0,0 @@
#! /bin/bash
if [[ "$(ls /var/run/s6/container_environment/ | xargs)" == *"FILE__"* ]]; then
for FILENAME in /var/run/s6/container_environment/*; do
if [[ "${FILENAME##*/}" == "FILE__"* ]]; then
SECRETFILE=$(cat ${FILENAME})
if [[ -f ${SECRETFILE} ]]; then
FILESTRIP=${FILENAME//FILE__/}
cat ${SECRETFILE} > ${FILESTRIP}
echo "[env-init] ${FILESTRIP##*/} set from ${FILENAME##*/}"
else
echo "[env-init] cannot find secret in ${FILENAME##*/}"
fi
fi
done
fi

View file

@ -1,30 +0,0 @@
#!/bin/bash
MIGRATIONS_DIR="/migrations"
MIGRATIONS_HISTORY="/config/.migrations"
echo "[migrations] started"
if [ ! -d $MIGRATIONS_DIR ]; then
echo "[migrations] no migrations found"
exit
fi
for MIGRATION in $(ls -1 ${MIGRATIONS_DIR}/* | sort -n); do
NAME="$(basename "${MIGRATION}")"
if [ -f $MIGRATIONS_HISTORY ] && grep -Fxq "$NAME" $MIGRATIONS_HISTORY; then
echo "[migrations] ${NAME}: skipped"
continue
fi
echo "[migrations] ${NAME}: executing..."
chmod +x $MIGRATION
EXIT_CODE=$(/bin/bash ${MIGRATION}; echo $?)
if [ $EXIT_CODE -ne 0 ]; then
echo "[migrations] ${NAME}: failed with exit code $EXIT_CODE, contact support"
exit $EXIT_CODE
fi
echo $NAME >> $MIGRATIONS_HISTORY
echo "[migrations] ${NAME}: succeeded"
done
echo "[migrations] done"

View file

@ -1,18 +0,0 @@
#!/usr/bin/with-contenv bash
if ([ -d "/config/custom-cont-init.d" ] && [ -n "$(find /config/custom-cont-init.d ! -user root)" ]) || ([ -d "/config/custom-services.d" ] && [ -n "$(find /config/custom-services.d ! -user root)" ]); then
echo "**** Potential tampering with custom scripts/services detected ****"
randstr=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-8};echo;)
for folder in "/config/custom-cont-init.d" "/config/custom-services.d"; do
if [ -d "${folder}" ]; then
mv "${folder}" "${folder}.${randstr}"
echo "**** Folder ${folder} is moved to ${folder}.${randstr} ****"
fi
done
echo "**** The folders '/config/custom-cont-init.d' and '/config/custom-services.d'; and their contents need to all be owned by root to prevent root escalation inside the container!!! ****"
mkdir -p /config/custom-cont-init.d /config/custom-services.d
chown 0:0 /config/custom-cont-init.d /config/custom-services.d
elif ([ -d "/config/custom-cont-init.d" ] && [ -n "$(find /config/custom-cont-init.d -perm -o+w)" ]) || ([ -d "/config/custom-services.d" ] && [ -n "$(find /config/custom-services.d -perm -o+w)" ]); then
echo "**** The folders '/config/custom-cont-init.d' or '/config/custom-services.d'; or some of their contents have write permissions for others, which is a security risk. ****"
echo "**** Please review the permissions of these two folders and their contents to make sure they are owned by root, and can only be modified by root. ****"
fi

View file

@ -1,56 +0,0 @@
#!/usr/bin/with-contenv bash
PUID=${PUID:-911}
PGID=${PGID:-911}
groupmod -o -g "$PGID" abc
usermod -o -u "$PUID" abc
echo '
-------------------------------------
_ ()
| | ___ _ __
| | / __| | | / \
| | \__ \ | | | () |
|_| |___/ |_| \__/
Brought to you by linuxserver.io
-------------------------------------'
if [[ -f /donate.txt ]]; then
echo '
To support the app dev(s) visit:'
cat /donate.txt
fi
echo '
To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------'
echo "
User uid: $(id -u abc)
User gid: $(id -g abc)
-------------------------------------
"
time32="$(date +%Y)"
if [[ "${time32}" == "1970" || "${time32}" == "1969" ]] && [ "$(uname -m)" == "armv7l" ]; then
echo '
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Your DockerHost is running an outdated version of libseccomp
To fix this, please visit https://docs.linuxserver.io/faq#libseccomp
Apps will not behave correctly without this
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'
sleep infinity
fi
chown abc:abc /app
chown abc:abc /config
chown abc:abc /defaults

View file

@ -1,5 +0,0 @@
#!/usr/bin/with-contenv bash
# create custom folders and secure permissions
mkdir -p /config/{custom-cont-init.d,custom-services.d}
chown -R 0:0 /config/{custom-cont-init.d,custom-services.d}

View file

@ -1,49 +0,0 @@
#!/usr/bin/with-contenv bash
# Directories
SCRIPTS_DIR="/config/custom-cont-init.d"
SERVICES_DIR="/config/custom-services.d"
# Remove all existing custom services before continuing to ensure
# we aren't running anything the user may have removed
if [ -n "$(/bin/ls -A /etc/services.d/custom-service-* 2>/dev/null)" ]; then
echo "[custom-init] removing existing custom services..."
rm -rf /etc/services.d/custom-service-*
fi
# Make sure custom init directory exists and has files in it
if ([ -e "${SCRIPTS_DIR}" ] && \
[ -n "$(/bin/ls -A ${SCRIPTS_DIR} 2>/dev/null)" ]) || \
([ -e "${SERVICES_DIR}" ] && \
[ -n "$(/bin/ls -A ${SERVICES_DIR} 2>/dev/null)" ]); then
if [ -n "$(/bin/ls -A ${SCRIPTS_DIR} 2>/dev/null)" ]; then
echo "[custom-init] files found in ${SCRIPTS_DIR} executing"
for SCRIPT in ${SCRIPTS_DIR}/*; do
NAME="$(basename "${SCRIPT}")"
if [ -f "${SCRIPT}" ]; then
echo "[custom-init] ${NAME}: executing..."
/bin/bash ${SCRIPT}
echo "[custom-init] ${NAME}: exited $?"
elif [ ! -f "${SCRIPT}" ]; then
echo "[custom-init] ${NAME}: is not a file"
fi
done
fi
if [ -n "$(/bin/ls -A ${SERVICES_DIR} 2>/dev/null)" ]; then
echo "[custom-init] service files found in ${SERVICES_DIR}"
for SERVICE in ${SERVICES_DIR}/*; do
NAME="$(basename "${SERVICE}")"
if [ -f "${SERVICE}" ]; then
echo "[custom-init] ${NAME}: service detected, copying..."
mkdir -p /etc/services.d/custom-service-${NAME}/
cp ${SERVICE} /etc/services.d/custom-service-${NAME}/run
chmod +x /etc/services.d/custom-service-${NAME}/run
echo "[custom-init] ${NAME}: copied"
elif [ ! -f "${SERVICE}" ]; then
echo "[custom-init] ${NAME}: is not a file"
fi
done
fi
else
echo "[custom-init] no custom files found exiting..."
fi

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
echo "[ls.io-init] done."

View file

@ -0,0 +1,3 @@
───────
meatbag
───────

View file

@ -0,0 +1,57 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
PUID=${PUID:-911}
PGID=${PGID:-911}
if [[ -z ${LSIO_READ_ONLY_FS} ]] && [[ -z ${LSIO_NON_ROOT_USER} ]]; then
USERHOME=$(grep abc /etc/passwd | cut -d ":" -f6)
usermod -d "/root" abc
groupmod -o -g "${PGID}" abc
usermod -o -u "${PUID}" abc
usermod -d "${USERHOME}" abc
fi
if { [[ -z ${LSIO_READ_ONLY_FS} ]] && [[ -z ${LSIO_NON_ROOT_USER} ]]; } || [[ ! ${LSIO_FIRST_PARTY} = "true" ]]; then
cat /etc/s6-overlay/s6-rc.d/init-adduser/branding
else
cat /run/branding
fi
if [[ -f /donate.txt ]]; then
echo '
To support the app dev(s) visit:'
cat /donate.txt
fi
echo '
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────'
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
echo "
User UID: $(id -u abc)
User GID: $(id -g abc)
───────────────────────────────────────"
else
echo "
User UID: $(stat /run -c %u)
User GID: $(stat /run -c %g)
───────────────────────────────────────"
fi
if [[ -f /build_version ]]; then
cat /build_version
echo '
───────────────────────────────────────
'
fi
if [[ -z ${LSIO_READ_ONLY_FS} ]] && [[ -z ${LSIO_NON_ROOT_USER} ]]; then
lsiown abc:abc /app
lsiown abc:abc /config
lsiown abc:abc /defaults
fi

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-adduser/run

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
# This file doesn't do anything, it's just the end of the downstream image init process

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
# This file doesn't do anything, it's just the start of the downstream image init process

View file

@ -0,0 +1,33 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
for cron_user in abc root; do
if [[ -z ${LSIO_READ_ONLY_FS} ]] && [[ -z ${LSIO_NON_ROOT_USER} ]]; then
if [[ -f "/etc/crontabs/${cron_user}" ]]; then
lsiown "${cron_user}":"${cron_user}" "/etc/crontabs/${cron_user}"
crontab -u "${cron_user}" "/etc/crontabs/${cron_user}"
fi
fi
if [[ -f "/defaults/crontabs/${cron_user}" ]]; then
# make folders
mkdir -p \
/config/crontabs
# if crontabs do not exist in config
if [[ ! -f "/config/crontabs/${cron_user}" ]]; then
# copy crontab from system
if crontab -l -u "${cron_user}" >/dev/null 2>&1; then
crontab -l -u "${cron_user}" >"/config/crontabs/${cron_user}"
fi
# if crontabs still do not exist in config (were not copied from system)
# copy crontab from image defaults (using -n, do not overwrite an existing file)
cp -n "/defaults/crontabs/${cron_user}" /config/crontabs/
fi
# set permissions and import user crontabs
lsiown "${cron_user}":"${cron_user}" "/config/crontabs/${cron_user}"
crontab -u "${cron_user}" "/config/crontabs/${cron_user}"
fi
done

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-crontab-config/run

View file

@ -0,0 +1,22 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# Directories
SCRIPTS_DIR="/custom-cont-init.d"
# Make sure custom init directory exists and has files in it
if [[ -e "${SCRIPTS_DIR}" ]] && [[ -n "$(/bin/ls -A ${SCRIPTS_DIR} 2>/dev/null)" ]]; then
echo "[custom-init] Files found, executing"
for SCRIPT in "${SCRIPTS_DIR}"/*; do
NAME="$(basename "${SCRIPT}")"
if [[ -f "${SCRIPT}" ]]; then
echo "[custom-init] ${NAME}: executing..."
/bin/bash "${SCRIPT}"
echo "[custom-init] ${NAME}: exited $?"
elif [[ ! -f "${SCRIPT}" ]]; then
echo "[custom-init] ${NAME}: is not a file"
fi
done
else
echo "[custom-init] No custom files found, skipping..."
fi

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-custom-files/run

View file

@ -0,0 +1,19 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
if find /run/s6/container_environment/FILE__* -maxdepth 1 > /dev/null 2>&1; then
for FILENAME in /run/s6/container_environment/FILE__*; do
SECRETFILE=$(cat "${FILENAME}")
if [[ -f ${SECRETFILE} ]]; then
FILESTRIP=${FILENAME//FILE__/}
if [[ $(tail -n1 "${SECRETFILE}" | wc -l) != 0 ]]; then
echo "[env-init] Your secret: ${FILENAME##*/}"
echo " contains a trailing newline and may not work as expected"
fi
cat "${SECRETFILE}" >"${FILESTRIP}"
echo "[env-init] ${FILESTRIP##*/} set from ${FILENAME##*/}"
else
echo "[env-init] cannot find secret in ${FILENAME##*/}"
fi
done
fi

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-envfile/run

View file

@ -0,0 +1,32 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
MIGRATIONS_DIR="/migrations"
MIGRATIONS_HISTORY="/config/.migrations"
echo "[migrations] started"
if [[ ! -d ${MIGRATIONS_DIR} ]]; then
echo "[migrations] no migrations found"
exit
fi
for MIGRATION in $(find ${MIGRATIONS_DIR}/* | sort -n); do
NAME="$(basename "${MIGRATION}")"
if [[ -f ${MIGRATIONS_HISTORY} ]] && grep -Fxq "${NAME}" ${MIGRATIONS_HISTORY}; then
echo "[migrations] ${NAME}: skipped"
continue
fi
echo "[migrations] ${NAME}: executing..."
# Execute migration script in a subshell to prevent it from modifying the current environment
("${MIGRATION}")
EXIT_CODE=$?
if [[ ${EXIT_CODE} -ne 0 ]]; then
echo "[migrations] ${NAME}: failed with exit code ${EXIT_CODE}, contact support"
exit "${EXIT_CODE}"
fi
echo "${NAME}" >>${MIGRATIONS_HISTORY}
echo "[migrations] ${NAME}: succeeded"
done
echo "[migrations] done"

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-migrations/run

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
# This file doesn't do anything, it's just the end of the mod init process

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-mods-package-install/run

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
# This file doesn't do anything, it's just the start of the mod init process

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
# This file doesn't do anything, it's just the end of the mod init process

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
# This file doesn't do anything, it just signals that services can start

View file

@ -0,0 +1,15 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
if builtin command -v crontab >/dev/null 2>&1 && [[ -n "$(crontab -l -u abc 2>/dev/null || true)" || -n "$(crontab -l -u root 2>/dev/null || true)" ]]; then
if builtin command -v busybox >/dev/null 2>&1 && [[ $(busybox || true) =~ [[:space:]](crond)([,]|$) ]]; then
exec busybox crond -f -S -l 5
elif [[ -f /usr/bin/apt ]] && [[ -f /usr/sbin/cron ]]; then
exec /usr/sbin/cron -f -L 5
else
echo "**** cron not found ****"
sleep infinity
fi
else
sleep infinity
fi

View file

@ -0,0 +1 @@
longrun

View file

@ -1,7 +0,0 @@
#! /bin/bash
if [[ -f /var/run/s6/container_environment/UMASK ]] && [[ "$(pwdx $$)" =~ "/run/s6/services/" ]]; then
umask $(cat /var/run/s6/container_environment/UMASK)
exec /usr/bin/with-contenvb "$@"
else
exec /usr/bin/with-contenvb "$@"
fi