Compare commits

..

551 Commits
10 ... master

Author SHA1 Message Date
LinuxServer-CI
f67c2417e0
Bot Updating Package Versions 2026-04-11 15:51:54 +00:00
LinuxServer-CI
52d4d8e908
Bot Updating Templated Files 2026-04-11 15:48:07 +00:00
LinuxServer-CI
2401148681
Bot Updating Package Versions 2026-03-28 15:48:02 +00:00
LinuxServer-CI
96f548703e
Bot Updating Package Versions 2026-03-21 15:40:39 +00:00
LinuxServer-CI
e9d2cdba05
Bot Updating Package Versions 2026-03-14 15:43:23 +00:00
LinuxServer-CI
aa682d5c04
Bot Updating Package Versions 2026-03-07 15:37:34 +00:00
LinuxServer-CI
c69f5726ca
Bot Updating Package Versions 2026-02-24 19:39:18 +00:00
LinuxServer-CI
952a36035c
Bot Updating Templated Files 2026-02-14 15:41:42 +00:00
LinuxServer-CI
dcf25e1dd6
Bot Updating Templated Files 2026-02-14 15:39:48 +00:00
LinuxServer-CI
cd8bc723e4
Bot Updating Package Versions 2026-02-07 15:40:47 +00:00
LinuxServer-CI
6fa94d64eb
Bot Updating Package Versions 2026-01-31 15:39:05 +00:00
LinuxServer-CI
5ac81270cf
Bot Updating Package Versions 2026-01-24 15:34:09 +00:00
LinuxServer-CI
5066591d99
Bot Updating Package Versions 2026-01-18 10:10:37 +00:00
LinuxServer-CI
8b2e451077
Bot Updating Templated Files 2026-01-18 10:07:19 +00:00
LinuxServer-CI
60e74e049d
Bot Updating Templated Files 2026-01-18 10:05:38 +00:00
Adam
3616715fb9
Merge pull request #94 from linuxserver/3.22-themes 2026-01-18 10:03:54 +00:00
thespad
4266adb5e7
2026 2026-01-04 19:03:07 +00:00
thespad
27e3b04944
Copy rather than move 2026-01-04 18:40:28 +00:00
thespad
f246caefd3
Rebease to 3.22, always update default themes 2026-01-04 18:33:18 +00:00
LinuxServer-CI
76f97b875d
Bot Updating Package Versions 2026-01-03 15:32:57 +00:00
LinuxServer-CI
fa0f2e0015
Bot Updating Package Versions 2025-12-20 15:32:26 +00:00
LinuxServer-CI
987891651d
Bot Updating Package Versions 2025-12-13 15:31:44 +00:00
LinuxServer-CI
cc6562ceb8
Bot Updating Package Versions 2025-12-06 15:30:50 +00:00
LinuxServer-CI
9c57b84e75
Bot Updating Package Versions 2025-11-22 15:31:46 +00:00
LinuxServer-CI
e0e283e2e5
Bot Updating Templated Files 2025-11-22 15:28:43 +00:00
LinuxServer-CI
16aa202604
Bot Updating Package Versions 2025-11-15 15:29:44 +00:00
LinuxServer-CI
9e526bb771
Bot Updating Package Versions 2025-11-01 15:30:26 +00:00
LinuxServer-CI
fbd707fe2c
Bot Updating Templated Files 2025-11-01 15:27:10 +00:00
LinuxServer-CI
8c76ff3367
Bot Updating Templated Files 2025-10-20 17:47:53 +00:00
LinuxServer-CI
5e3b5235ca
Bot Updating Package Versions 2025-10-18 15:28:27 +00:00
LinuxServer-CI
6a25b7d7ad
Bot Updating Package Versions 2025-10-11 15:27:26 +00:00
LinuxServer-CI
e74c90660b
Bot Updating Package Versions 2025-10-04 15:28:16 +00:00
LinuxServer-CI
b4b1a418c1
Bot Updating Package Versions 2025-09-27 15:28:02 +00:00
LinuxServer-CI
92668b0e6a
Bot Updating Package Versions 2025-09-20 15:28:51 +00:00
LinuxServer-CI
641c6d88a5
Bot Updating Package Versions 2025-08-23 15:29:27 +00:00
LinuxServer-CI
f9ab2fcc4d
Bot Updating Package Versions 2025-08-16 15:31:45 +00:00
LinuxServer-CI
33f59093c3
Bot Updating Package Versions 2025-08-05 11:33:59 +00:00
LinuxServer-CI
fb1d17ef04
Bot Updating Templated Files 2025-08-05 11:30:47 +00:00
Adam
9f1b99de74
Merge pull request #87 from linuxserver/revert-3.21
Revert to 3.21
2025-08-05 12:28:57 +01:00
thespad
174b08e94a
Revert to 3.21 2025-08-05 11:38:55 +01:00
LinuxServer-CI
ddbb4a5920
Bot Updating Package Versions 2025-08-02 15:34:22 +00:00
LinuxServer-CI
70c032872d
Bot Updating Package Versions 2025-07-29 14:27:28 +00:00
LinuxServer-CI
a5e373ff16
Bot Updating Templated Files 2025-07-29 14:23:04 +00:00
Adam
0345c342e9
Merge pull request #86 from linuxserver/3.22 2025-07-29 15:21:03 +01:00
thespad
240a29c8d7
Rebase to 3.22 2025-07-27 13:56:04 +01:00
LinuxServer-CI
0a2492b18f
Bot Updating Package Versions 2025-07-25 13:59:13 +00:00
LinuxServer-CI
6551d6fb22
Bot Updating Package Versions 2025-07-19 15:33:45 +00:00
LinuxServer-CI
dd80b31fd7
Bot Updating Package Versions 2025-07-12 15:33:40 +00:00
LinuxServer-CI
b144efc89c
Bot Updating Templated Files 2025-07-05 15:32:31 +00:00
LinuxServer-CI
277ddc4dbd
Bot Updating Templated Files 2025-07-05 15:30:36 +00:00
LinuxServer-CI
753eaed4fa
Bot Updating Package Versions 2025-06-14 15:33:27 +00:00
LinuxServer-CI
6b80dc62c1
Bot Updating Templated Files 2025-06-14 15:30:10 +00:00
LinuxServer-CI
0538cdb34c
Bot Updating Package Versions 2025-05-17 15:34:17 +00:00
LinuxServer-CI
71aff2ac4b
Bot Updating Templated Files 2025-05-17 15:29:10 +00:00
LinuxServer-CI
665d032018
Bot Updating Package Versions 2025-04-19 15:29:13 +00:00
LinuxServer-CI
35c00426b2
Bot Updating Package Versions 2025-04-12 15:28:53 +00:00
LinuxServer-CI
2dcee9845a
Bot Updating Package Versions 2025-04-05 15:29:24 +00:00
LinuxServer-CI
cf2a67f57f
Bot Updating Package Versions 2025-03-22 15:28:30 +00:00
LinuxServer-CI
bdd8e649c2
Bot Updating Package Versions 2025-03-15 15:28:25 +00:00
LinuxServer-CI
e8c124bce9
Bot Updating Package Versions 2025-03-01 15:33:05 +00:00
LinuxServer-CI
514817cefd
Bot Updating Package Versions 2025-02-21 14:52:50 +00:00
LinuxServer-CI
e4044cc009
Bot Updating Package Versions 2025-02-15 15:28:45 +00:00
LinuxServer-CI
ed2b803fc1
Bot Updating Templated Files 2025-02-15 15:25:55 +00:00
LinuxServer-CI
4f0953ab3e
Bot Updating Templated Files 2025-02-01 15:34:24 +00:00
LinuxServer-CI
b4a88b267d
Bot Updating Templated Files 2025-02-01 15:31:29 +00:00
LinuxServer-CI
6aa7141de3
Bot Updating Package Versions 2025-01-25 15:26:31 +00:00
LinuxServer-CI
a83f607b8a
Bot Updating Package Versions 2025-01-22 20:11:49 +00:00
quietsy
c0ad1709e5
Merge pull request #83 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-22 22:07:49 +02:00
quietsy
98110752f2 Add categories to readme-vars.yml 2025-01-22 17:12:57 +02:00
LinuxServer-CI
a829bef804
Bot Updating Package Versions 2025-01-18 15:28:51 +00:00
LinuxServer-CI
af439071d7
Bot Updating Package Versions 2025-01-11 15:27:35 +00:00
LinuxServer-CI
a0c8fbb62c
Bot Updating Package Versions 2025-01-04 15:27:55 +00:00
LinuxServer-CI
2a86590c2e
Bot Updating Package Versions 2024-12-21 15:30:13 +00:00
LinuxServer-CI
022b9d5a65
Bot Updating Package Versions 2024-12-20 10:50:53 +00:00
LinuxServer-CI
ed3d1a16c8
Bot Updating Templated Files 2024-12-19 08:52:31 +00:00
LinuxServer-CI
78fd65dfe8
Bot Updating Templated Files 2024-12-19 08:50:39 +00:00
LinuxServer-CI
fb26396a67
Bot Updating Package Versions 2024-12-14 15:30:00 +00:00
LinuxServer-CI
feb9a96bec
Bot Updating Package Versions 2024-12-07 15:36:46 +00:00
LinuxServer-CI
484147e7be
Bot Updating Templated Files 2024-12-07 15:33:35 +00:00
LinuxServer-CI
fcc3cea6e3
Bot Updating Templated Files 2024-12-07 15:30:10 +00:00
LinuxServer-CI
a4fe58bca1
Bot Updating Templated Files 2024-12-07 15:28:18 +00:00
LinuxServer-CI
d9d1f1b5cf
Bot Updating Package Versions 2024-11-23 15:27:57 +00:00
LinuxServer-CI
31546a0f1c
Bot Updating Templated Files 2024-11-09 15:30:07 +00:00
LinuxServer-CI
eba9e22086
Bot Updating Templated Files 2024-11-09 15:27:48 +00:00
LinuxServer-CI
deb362bd2d
Bot Updating Package Versions 2024-11-02 15:32:46 +00:00
LinuxServer-CI
0ff916f401
Bot Updating Package Versions 2024-10-26 15:28:10 +00:00
LinuxServer-CI
8104d5fd31
Bot Updating Package Versions 2024-10-19 15:27:55 +00:00
LinuxServer-CI
273bafab71
Bot Updating Templated Files 2024-10-05 15:28:14 +00:00
LinuxServer-CI
2bc38bfd2a
Bot Updating Package Versions 2024-09-28 15:36:16 +00:00
LinuxServer-CI
0054be1c10
Bot Updating Templated Files 2024-09-28 15:33:41 +00:00
LinuxServer-CI
50916d369a
Bot Updating Templated Files 2024-09-28 15:31:18 +00:00
LinuxServer-CI
5bc793c145
Bot Updating Templated Files 2024-09-28 15:30:02 +00:00
LinuxServer-CI
731a2bdd49
Bot Updating Package Versions 2024-09-21 15:30:27 +00:00
LinuxServer-CI
8376dde5de
Bot Updating Package Versions 2024-09-14 15:28:33 +00:00
LinuxServer-CI
3d19750a83
Bot Updating Package Versions 2024-09-07 15:28:44 +00:00
LinuxServer-CI
d5e4717c9e
Bot Updating Package Versions 2024-08-24 15:31:49 +00:00
LinuxServer-CI
97350e753a
Bot Updating Templated Files 2024-08-24 15:28:22 +00:00
LinuxServer-CI
c3769e02a8 Bot Updating Templated Files 2024-08-24 15:26:19 +00:00
LinuxServer-CI
90f308293e Bot Updating Package Versions 2024-08-17 15:25:32 +00:00
LinuxServer-CI
474ead0dc2 Bot Updating Package Versions 2024-08-10 15:27:35 +00:00
LinuxServer-CI
6c8803edc0 Bot Updating Package Versions 2024-08-03 15:27:17 +00:00
LinuxServer-CI
7c89cdc902 Bot Updating Package Versions 2024-07-27 15:26:43 +00:00
LinuxServer-CI
4a041578c8 Bot Updating Package Versions 2024-07-20 15:25:10 +00:00
LinuxServer-CI
9e6b48935a Bot Updating Package Versions 2024-07-13 15:29:08 +00:00
LinuxServer-CI
41332baf71 Bot Updating Templated Files 2024-07-13 15:26:40 +00:00
LinuxServer-CI
c82782fc04 Bot Updating Templated Files 2024-07-13 15:24:43 +00:00
LinuxServer-CI
d94575776f Bot Updating Package Versions 2024-07-06 15:27:36 +00:00
LinuxServer-CI
970ca75534 Bot Updating Package Versions 2024-06-29 15:25:09 +00:00
LinuxServer-CI
173b68d43e Bot Updating Package Versions 2024-06-22 15:26:25 +00:00
LinuxServer-CI
d22e88780c Bot Updating Package Versions 2024-06-15 15:26:44 +00:00
LinuxServer-CI
9bd08745cf Bot Updating Package Versions 2024-06-08 15:26:48 +00:00
LinuxServer-CI
ef7b1c9702 Bot Updating Package Versions 2024-05-31 19:09:54 +00:00
Adam
e2511ca8f0
Merge pull request #79 from linuxserver/3.20
Rebase to 3.20
2024-05-31 20:07:27 +01:00
thespad
2f369fb0c4
Rebase to 3.20 2024-05-31 17:38:26 +01:00
LinuxServer-CI
6ee3e9c0c9 Bot Updating Package Versions 2024-05-25 15:29:17 +00:00
LinuxServer-CI
b10594385a Bot Updating Templated Files 2024-05-25 15:26:30 +00:00
LinuxServer-CI
36c07c41ff Bot Updating Templated Files 2024-05-25 15:24:43 +00:00
LinuxServer-CI
1bf2ac7505 Bot Updating Package Versions 2024-05-18 15:26:47 +00:00
LinuxServer-CI
a6fe5453f6 Bot Updating Package Versions 2024-05-11 15:27:43 +00:00
LinuxServer-CI
b51c03a2f9 Bot Updating Templated Files 2024-05-11 15:24:00 +00:00
LinuxServer-CI
19a7975238 Bot Updating Templated Files 2024-05-04 15:23:21 +00:00
LinuxServer-CI
29667c9b4e Bot Updating Package Versions 2024-04-27 15:22:57 +00:00
LinuxServer-CI
dbb9c00a8a Bot Updating Package Versions 2024-04-20 15:23:25 +00:00
LinuxServer-CI
03612ee143 Bot Updating Package Versions 2024-04-13 15:20:35 +00:00
LinuxServer-CI
dff9bfea48 Bot Updating Templated Files 2024-04-07 16:36:10 +00:00
Homer
9803df80dc
Merge pull request #78 from linuxserver/php-process-limit
Increase php max workers to fix Android uploading
2024-04-07 17:34:25 +01:00
homerr
f13b41600d
Increase php max workers to fix Android uploading 2024-04-07 11:26:36 +01:00
LinuxServer-CI
367d09be16 Bot Updating Package Versions 2024-04-06 15:23:49 +00:00
LinuxServer-CI
d327eb0e81 Bot Updating Package Versions 2024-03-30 15:24:09 +00:00
LinuxServer-CI
c2809622ed Bot Updating Package Versions 2024-03-23 15:24:21 +00:00
LinuxServer-CI
bc2509e51d Bot Updating Package Versions 2024-03-16 15:23:37 +00:00
LinuxServer-CI
7e7386ce5f Bot Updating Templated Files 2024-03-16 15:21:02 +00:00
LinuxServer-CI
f252cca753 Bot Updating Package Versions 2024-03-02 23:00:50 +00:00
LinuxServer-CI
6c756eb25a Bot Updating Templated Files 2024-03-02 22:57:52 +00:00
aptalca
c693db41ca
Merge pull request #77 from julienhoarau/fix-heic-support
Fix HEIC file format support
2024-03-02 17:56:11 -05:00
Julien Hoarau
e4531034f4 Fix HEIC file format support 2024-03-02 14:54:04 +01:00
LinuxServer-CI
ddcc445ec1 Bot Updating Package Versions 2024-03-01 16:51:36 +00:00
LinuxServer-CI
51d8564b2a Bot Updating Templated Files 2024-02-24 15:24:41 +00:00
LinuxServer-CI
866df3d7fa Bot Updating Templated Files 2024-02-24 15:23:03 +00:00
LinuxServer-CI
232ee0692f Bot Updating Package Versions 2024-02-17 15:23:06 +00:00
LinuxServer-CI
0487c0d61f Bot Updating Package Versions 2024-02-10 15:23:14 +00:00
LinuxServer-CI
b54eb3ee60 Bot Updating Package Versions 2024-02-03 15:24:22 +00:00
LinuxServer-CI
17ab9f2093 Bot Updating Package Versions 2024-01-27 15:23:56 +00:00
LinuxServer-CI
5b96b745b1 Bot Updating Package Versions 2024-01-25 02:27:53 +00:00
LinuxServer-CI
c24baf5fb3 Bot Updating Templated Files 2024-01-25 02:24:05 +00:00
Eric Nemchik
72c7bf8f76
Merge pull request #75 from linuxserver/3.19
Rebase to Alpine 3.19
2024-01-24 20:21:38 -06:00
LinuxServer-CI
f54243e40c Bot Updating Package Versions 2024-01-20 15:23:51 +00:00
LinuxServer-CI
1781e2a213 Bot Updating Package Versions 2024-01-13 15:29:16 +00:00
LinuxServer-CI
d9e7fc5d58 Bot Updating Templated Files 2024-01-13 15:25:39 +00:00
LinuxServer-CI
880380ba2a Bot Updating Templated Files 2024-01-13 15:23:21 +00:00
LinuxServer-CI
191928c2a2 Bot Updating Package Versions 2024-01-06 15:24:52 +00:00
LinuxServer-CI
816c57d824 Bot Updating Package Versions 2023-12-29 11:50:16 +00:00
Eric Nemchik
528557ee62
full path comment above to help visibility when searching for php versions
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-23 18:24:08 -06:00
Eric Nemchik
e91ef373c8
Rebase to Alpine 3.19
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-23 18:11:11 -06:00
LinuxServer-CI
a720d06554 Bot Updating Package Versions 2023-12-23 15:22:49 +00:00
LinuxServer-CI
03eba4bdc5 Bot Updating Package Versions 2023-12-12 21:29:22 +00:00
Adam
6bc480cd08
Merge pull request #74 from linuxserver/3.18
Rebase to 3.18
2023-12-12 21:25:39 +00:00
TheSpad
0d3717880f
Rebase to 3.18 2023-12-12 20:21:01 +00:00
LinuxServer-CI
5311816dbd Bot Updating Package Versions 2023-12-09 15:23:15 +00:00
LinuxServer-CI
b2aa0a11ed Bot Updating Package Versions 2023-12-02 15:23:03 +00:00
LinuxServer-CI
e23c751101 Bot Updating Package Versions 2023-11-25 15:23:11 +00:00
LinuxServer-CI
1c03a15cea Bot Updating Package Versions 2023-11-18 15:26:57 +00:00
LinuxServer-CI
991b8c21c3 Bot Updating Templated Files 2023-11-18 15:23:27 +00:00
LinuxServer-CI
56d6966967 Bot Updating Package Versions 2023-11-04 15:22:46 +00:00
LinuxServer-CI
1d84450964 Bot Updating Package Versions 2023-10-28 15:23:19 +00:00
LinuxServer-CI
63329d8c30 Bot Updating Package Versions 2023-10-21 15:23:35 +00:00
LinuxServer-CI
88fb95b51a Bot Updating Package Versions 2023-10-07 15:26:53 +00:00
LinuxServer-CI
7a1f5bb681 Bot Updating Templated Files 2023-10-07 15:23:09 +00:00
LinuxServer-CI
5bac81a96c Bot Updating Templated Files 2023-10-07 15:21:33 +00:00
LinuxServer-CI
c9d5418929 Bot Updating Package Versions 2023-09-30 15:22:20 +00:00
LinuxServer-CI
8245b558b2 Bot Updating Package Versions 2023-09-23 15:22:09 +00:00
LinuxServer-CI
b9c8d429d3 Bot Updating Package Versions 2023-09-16 15:21:57 +00:00
LinuxServer-CI
980da483ff Bot Updating Package Versions 2023-08-19 15:25:53 +00:00
LinuxServer-CI
90fb0b47dd Bot Updating Package Versions 2023-08-12 15:22:58 +00:00
LinuxServer-CI
edcbcd370e Bot Updating Package Versions 2023-08-05 15:21:49 +00:00
LinuxServer-CI
e2e2b99b03 Bot Updating Package Versions 2023-07-29 15:23:12 +00:00
LinuxServer-CI
58dd9a51c8 Bot Updating Package Versions 2023-07-22 15:24:35 +00:00
LinuxServer-CI
92f9ecf93a Bot Updating Package Versions 2023-07-01 15:27:15 +00:00
LinuxServer-CI
fd5e97ad5f Bot Updating Templated Files 2023-07-01 15:24:50 +00:00
LinuxServer-CI
89e56d910e Bot Updating Package Versions 2023-06-24 15:26:44 +00:00
LinuxServer-CI
e5cd996682 Bot Updating Package Versions 2023-06-17 15:23:07 +00:00
LinuxServer-CI
c264857e80 Bot Updating Package Versions 2023-06-10 15:24:58 +00:00
LinuxServer-CI
8f839cd87e Bot Updating Package Versions 2023-06-03 14:26:47 +00:00
Adam
b1b16cd5d1
Merge pull request #64 from linuxserver/php-rollback 2023-06-03 15:24:15 +01:00
TheSpad
fdb91989c3
Restore missing packages 2023-06-03 14:34:03 +01:00
TheSpad
3796f816ab
Revert to 3.17 2023-06-03 14:31:58 +01:00
LinuxServer-CI
9e219a76c7 Bot Updating Package Versions 2023-05-31 12:25:44 +00:00
Eric Nemchik
6b7679b3c2
Merge pull request #62 from linuxserver/3.18
Rebase to Alpine 3.18, deprecate armhf
2023-05-31 07:21:54 -05:00
Eric Nemchik
15d4a1cece
Merge remote-tracking branch 'origin/master' into 3.18
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-05-29 17:18:59 -05:00
Eric Nemchik
4f26c00c88
Rebase to Alpine 3.18, deprecate armhf 2023-05-27 16:56:07 -05:00
LinuxServer-CI
7f88330da1 Bot Updating Package Versions 2023-05-27 15:25:47 +00:00
LinuxServer-CI
39482c8316 Bot Updating Templated Files 2023-05-27 15:22:13 +00:00
LinuxServer-CI
57a227c08d Bot Updating Package Versions 2023-05-20 15:24:53 +00:00
LinuxServer-CI
2c13899b37 Bot Updating Package Versions 2023-05-13 15:22:30 +00:00
LinuxServer-CI
77cb4682e6 Bot Updating Package Versions 2023-05-06 15:23:31 +00:00
LinuxServer-CI
fcf9d22546 Bot Updating Package Versions 2023-04-29 15:27:44 +00:00
LinuxServer-CI
201556f21b Bot Updating Templated Files 2023-04-29 15:24:42 +00:00
LinuxServer-CI
ead70f136c Bot Updating Templated Files 2023-04-29 15:23:00 +00:00
LinuxServer-CI
c50a02d52e Bot Updating Package Versions 2023-04-22 15:23:21 +00:00
LinuxServer-CI
5959d10c5c Bot Updating Package Versions 2023-04-15 10:24:02 -05:00
LinuxServer-CI
27f9d72023 Bot Updating Package Versions 2023-04-08 10:23:24 -05:00
LinuxServer-CI
a5b6977d24 Bot Updating Package Versions 2023-04-04 04:30:38 +02:00
LinuxServer-CI
6f09037f74 Bot Updating Templated Files 2023-04-04 04:27:54 +02:00
LinuxServer-CI
813a86ab6a Bot Updating Templated Files 2023-04-04 04:26:22 +02:00
LinuxServer-CI
7b0862300b Bot Updating Templated Files 2023-04-04 04:24:51 +02:00
LinuxServer-CI
aae6899b12 Bot Updating Package Versions 2023-03-27 21:29:33 -05:00
LinuxServer-CI
20cd441919 Bot Updating Package Versions 2023-03-21 03:24:10 +01:00
LinuxServer-CI
63c2eedac9 Bot Updating Package Versions 2023-03-13 21:25:05 -05:00
LinuxServer-CI
d1a9993fa9 Bot Updating Package Versions 2023-03-07 03:53:33 +01:00
LinuxServer-CI
bc8dbb59fa Bot Updating Package Versions 2023-03-03 09:53:15 -06:00
LinuxServer-CI
b7603d0a50 Bot Updating Templated Files 2023-03-03 09:49:08 -06:00
Eric Nemchik
5f07f8c597
Merge pull request #59 from linuxserver/3.17
Rebase to alpine 3.17 with php8.1
2023-03-03 09:47:21 -06:00
TheSpad
a039f21286
Merge remote-tracking branch 'origin/master' into 3.17 2023-03-03 14:12:55 +00:00
LinuxServer-CI
fa8adba09d Bot Updating Package Versions 2023-02-24 05:21:43 -06:00
LinuxServer-CI
f9c3ef60f7 Bot Updating Package Versions 2023-02-21 03:45:16 +01:00
LinuxServer-CI
381d7c404c Bot Updating Package Versions 2023-02-14 03:46:24 +01:00
LinuxServer-CI
2b22353181 Bot Updating Templated Files 2023-02-14 03:44:06 +01:00
LinuxServer-CI
aa452cd082 Bot Updating Templated Files 2023-02-13 20:42:48 -06:00
LinuxServer-CI
a4a734a37d Bot Updating Package Versions 2023-02-07 03:34:11 +01:00
LinuxServer-CI
3e177a0313 Bot Updating Package Versions 2023-01-30 20:41:16 -06:00
LinuxServer-CI
a1e2ae4049 Bot Updating Package Versions 2023-01-24 03:33:18 +01:00
Eric Nemchik
ba3c84dcf3 Rebase to alpine 3.17 with php8.1 2023-01-22 15:05:04 -06:00
Eric Nemchik
b735044df5
Merge pull request #57 from linuxserver/format
Format shell scripts
2023-01-16 13:29:55 -06:00
Eric Nemchik
0d98e324fb Fix executable 2023-01-16 10:25:08 -06:00
LinuxServer-CI
96ba57058f Bot Updating Package Versions 2023-01-16 10:02:11 -06:00
Eric Nemchik
a22deee601
Merge branch 'master' into format 2023-01-16 10:00:52 -06:00
LinuxServer-CI
ab44c20460 Bot Updating Templated Files 2023-01-16 16:59:14 +01:00
Eric Nemchik
06b2466259
Merge pull request #58 from julienhoarau/fix-template-extension
Fix template-extension persistence
2023-01-16 09:57:59 -06:00
Julien Hoarau
6c48d06484 Fix template-extension support 2023-01-16 11:48:46 +01:00
Eric Nemchik
03e286f861 Format shell scripts 2023-01-15 09:49:13 -06:00
LinuxServer-CI
8c1146cae3 Bot Updating Package Versions 2023-01-10 03:40:19 +01:00
LinuxServer-CI
c76c3745f4 Bot Updating Package Versions 2023-01-03 03:29:50 +01:00
LinuxServer-CI
43877739cc Bot Updating Package Versions 2022-12-27 03:28:36 +01:00
LinuxServer-CI
b43c9997a4 Bot Updating Package Versions 2022-12-16 10:31:55 -06:00
LinuxServer-CI
e3113ec522 Bot Updating Package Versions 2022-12-05 20:36:59 -06:00
LinuxServer-CI
c6ff986de2 Bot Updating Templated Files 2022-11-29 03:49:27 +01:00
LinuxServer-CI
5cb77f9a94 Bot Updating Templated Files 2022-11-28 20:48:11 -06:00
LinuxServer-CI
e231a111a4 Bot Updating Templated Files 2022-11-29 03:46:51 +01:00
LinuxServer-CI
101e4ebf71 Bot Updating Package Versions 2022-11-28 09:24:05 -06:00
LinuxServer-CI
ad23d846c5 Bot Updating Package Versions 2022-11-22 19:10:06 +01:00
Adam
c0bb10cc7a
Merge pull request #54 from linuxserver/s6v3 2022-11-22 18:07:58 +00:00
TheSpad
7dead2c320
Make /gallery a force volume to prevent data loss 2022-11-19 18:42:54 +00:00
TheSpad
f4f288985f
Provide better migration feedback 2022-11-16 19:53:41 +00:00
TheSpad
5d3e13d46e
Check gallery locations aren't symlinked before deletion 2022-11-16 19:50:38 +00:00
LinuxServer-CI
0e11c2b4db Bot Updating Package Versions 2022-11-15 04:11:26 +01:00
LinuxServer-CI
2d11d4d1e6 Bot Updating Templated Files 2022-11-14 21:08:32 -06:00
TheSpad
3f759d26dd
Move piwigo down one directory level in /config, switch to lsiown 2022-11-10 11:32:59 +00:00
TheSpad
e04d2d83fc
Update maintainer 2022-11-09 19:54:04 +00:00
TheSpad
512e3aeb3b
Add cleanup to end of build, remove unzip & wget as they're part of busybox 2022-11-09 15:00:08 +00:00
TheSpad
ce1008c48a
Fix check as it's actually a link not a file. 2022-11-09 14:40:05 +00:00
TheSpad
cc39bc8851
Remove lynx 2022-11-09 14:39:51 +00:00
TheSpad
b6451cf78f
Use /config/www/gallery as the migration check 2022-11-09 14:19:05 +00:00
TheSpad
553a78c0e4
Add galleries to /gallery symlinks 2022-11-09 14:11:12 +00:00
TheSpad
06f97b4539
Use nginx conf from base 2022-11-09 09:12:45 +00:00
TheSpad
4cbe20b87d
Tidy up symlinking 2022-11-08 22:15:20 +00:00
TheSpad
52406c7367
Fix mkdir path 2022-11-08 22:03:53 +00:00
TheSpad
26f0b1228e
Rebase to Alpine 3.16, migrate to s6v3, fix awfulness 2022-11-08 22:03:06 +00:00
LinuxServer-CI
ecc450224c Bot Updating Package Versions 2022-11-08 09:54:20 -06:00
Eric Nemchik
66a668915c
Merge pull request #49 from linuxserver/standard-base
Standard base
2022-11-08 09:51:02 -06:00
Eric Nemchik
90e9a1799b
Merge branch 'master' into standard-base 2022-11-08 09:50:33 -06:00
LinuxServer-CI
7814a40c59 Bot Updating Package Versions 2022-11-07 21:20:56 -06:00
LinuxServer-CI
7736a3fb44 Bot Updating Package Versions 2022-11-01 05:02:26 +01:00
LinuxServer-CI
c3e12cf2fb Bot Updating Package Versions 2022-10-22 12:35:57 +02:00
LinuxServer-CI
6f4efd183f Bot Updating Package Versions 2022-10-18 06:11:01 +02:00
LinuxServer-CI
e03e8d4312 Bot Updating Package Versions 2022-10-11 06:03:23 +02:00
Eric Nemchik
cb1f32e915 Update Jenkinsfile 2022-10-10 14:29:48 +00:00
Eric Nemchik
ede4df8703 Add default_server 2022-10-04 16:16:04 -05:00
LinuxServer-CI
ae1787429b Bot Updating Package Versions 2022-09-26 23:01:39 -05:00
LinuxServer-CI
c5c7ed667e Bot Updating Package Versions 2022-09-20 06:09:05 +02:00
LinuxServer-CI
7e4d0993a1 Bot Updating Templated Files 2022-09-20 06:06:22 +02:00
LinuxServer-CI
040afe190e Bot Updating Package Versions 2022-09-06 06:13:24 +02:00
LinuxServer-CI
29d6ac8e14 Bot Updating Package Versions 2022-08-29 23:10:58 -05:00
Eric Nemchik
4a4f31596b nginx conf tweaks 2022-08-23 09:29:04 -05:00
LinuxServer-CI
8575ca43a7 Bot Updating Package Versions 2022-08-22 23:04:28 -05:00
Eric Nemchik
92c4b8e645 Keep /config volume consistently 2022-08-21 16:54:57 -05:00
LinuxServer-CI
06e1359271 Bot Updating Package Versions 2022-08-15 22:33:30 -05:00
Eric Nemchik
97da6b6cd3 Use standard nginx.conf from lsio alpine nginx base image 2022-08-15 19:29:41 -05:00
LinuxServer-CI
1b9792e61f Bot Updating Package Versions 2022-08-09 05:30:37 +02:00
LinuxServer-CI
0e30b157b0 Bot Updating Package Versions 2022-08-01 22:58:04 -05:00
LinuxServer-CI
41104990e6 Bot Updating Package Versions 2022-07-26 05:57:10 +02:00
LinuxServer-CI
5929f687da Bot Updating Package Versions 2022-07-19 05:52:20 +02:00
LinuxServer-CI
b4d33b43d9 Bot Updating Package Versions 2022-07-12 05:51:38 +02:00
LinuxServer-CI
51df162a27 Bot Updating Package Versions 2022-06-30 10:32:31 -05:00
LinuxServer-CI
201fee83a1 Bot Updating Package Versions 2022-06-28 05:30:19 +02:00
LinuxServer-CI
08bc72e748 Bot Updating Package Versions 2022-06-20 22:23:31 -05:00
LinuxServer-CI
3d4c164943 Bot Updating Package Versions 2022-06-14 05:37:44 +02:00
LinuxServer-CI
98ca703a74 Bot Updating Package Versions 2022-06-06 22:13:19 -05:00
LinuxServer-CI
397dc35952 Bot Updating Package Versions 2022-05-30 22:17:12 -05:00
LinuxServer-CI
124f67b25f Bot Updating Package Versions 2022-05-23 22:17:45 -05:00
LinuxServer-CI
fda9550823 Bot Updating Package Versions 2022-05-17 05:18:33 +02:00
LinuxServer-CI
547d925326 Bot Updating Package Versions 2022-05-09 21:43:23 -05:00
LinuxServer-CI
ff3f7d877a Bot Updating Package Versions 2022-05-03 05:21:20 +02:00
LinuxServer-CI
44ca1b37ec Bot Updating Templated Files 2022-05-03 05:18:03 +02:00
LinuxServer-CI
7087776c8b Bot Updating Templated Files 2022-05-02 22:16:53 -05:00
LinuxServer-CI
432aa7b98d Bot Updating Package Versions 2022-04-19 05:17:06 +02:00
LinuxServer-CI
38e765fd62 Bot Updating Package Versions 2022-04-11 21:54:48 -05:00
LinuxServer-CI
33dad1131f Bot Updating Package Versions 2022-04-04 21:47:59 -05:00
LinuxServer-CI
44e75051fe Bot Updating Package Versions 2022-03-28 21:52:23 -05:00
LinuxServer-CI
5e50bec211 Bot Updating Package Versions 2022-03-14 21:34:23 -05:00
LinuxServer-CI
b4920e231c Bot Updating Package Versions 2022-03-08 03:28:43 +01:00
LinuxServer-CI
4216eca911 Bot Updating Package Versions 2022-03-01 03:37:14 +01:00
LinuxServer-CI
12970ae02c Bot Updating Package Versions 2022-02-22 03:19:06 +01:00
LinuxServer-CI
05d3e017a0 Bot Updating Package Versions 2022-02-08 03:19:24 +01:00
LinuxServer-CI
4ec24ca86c Bot Updating Package Versions 2022-01-25 03:28:19 +01:00
LinuxServer-CI
70ddb207ac Bot Updating Package Versions 2022-01-18 03:29:04 +01:00
LinuxServer-CI
d43fac3f1b Bot Updating Package Versions 2021-12-28 03:25:03 +01:00
LinuxServer-CI
651b0a29f3 Bot Updating Templated Files 2021-12-21 03:27:53 +01:00
LinuxServer-CI
31f7bb33a0 Bot Updating Templated Files 2021-12-21 03:26:41 +01:00
LinuxServer-CI
6f64b855f0 Bot Updating Package Versions 2021-11-30 03:06:50 +01:00
LinuxServer-CI
69eebb6d51 Bot Updating Package Versions 2021-11-23 03:18:14 +01:00
LinuxServer-CI
3636eed945 Bot Updating Package Versions 2021-11-16 03:18:26 +01:00
LinuxServer-CI
8be59fe3ce Bot Updating Package Versions 2021-11-11 20:21:19 +01:00
LinuxServer-CI
9ecd4be993 Bot Updating Package Versions 2021-11-09 03:18:12 +01:00
LinuxServer-CI
117d8e14d0 Bot Updating Package Versions 2021-11-02 03:21:11 +01:00
LinuxServer-CI
c0dea267e3 Bot Updating Package Versions 2021-10-26 04:16:58 +02:00
LinuxServer-CI
0b0ee2fdc1 Bot Updating Package Versions 2021-10-19 04:21:15 +02:00
LinuxServer-CI
77ca16fb64 Bot Updating Package Versions 2021-10-12 04:21:41 +02:00
LinuxServer-CI
355d8f34aa Bot Updating Package Versions 2021-10-05 04:21:07 +02:00
LinuxServer-CI
3d7d0c4f08 Bot Updating Templated Files 2021-10-05 04:18:42 +02:00
LinuxServer-CI
d715b6f134 Bot Updating Templated Files 2021-10-05 04:17:30 +02:00
LinuxServer-CI
832b2b9958 Bot Updating Package Versions 2021-09-28 04:18:41 +02:00
LinuxServer-CI
66fa1a339a Bot Updating Package Versions 2021-09-21 04:18:07 +02:00
LinuxServer-CI
ce3188c475 Bot Updating Package Versions 2021-09-14 04:16:18 +02:00
LinuxServer-CI
36f7767151 Bot Updating Package Versions 2021-09-07 04:15:29 +02:00
LinuxServer-CI
8de3e67242 Bot Updating Package Versions 2021-08-31 04:17:18 +02:00
LinuxServer-CI
99979346a9 Bot Updating Templated Files 2021-08-31 04:14:25 +02:00
LinuxServer-CI
b96832c6ca Bot Updating Package Versions 2021-08-17 04:16:22 +02:00
LinuxServer-CI
a667255a2a Bot Updating Package Versions 2021-08-10 04:19:40 +02:00
LinuxServer-CI
77e2e0fdea Bot Updating Package Versions 2021-08-03 04:25:22 +02:00
LinuxServer-CI
ab19a5ea9e Bot Updating Package Versions 2021-07-27 04:22:52 +02:00
LinuxServer-CI
ba63d07122 Bot Updating Package Versions 2021-07-20 04:24:03 +02:00
LinuxServer-CI
cf4906d0ce Bot Updating Package Versions 2021-07-13 02:19:30 +00:00
LinuxServer-CI
f891c9f24e Bot Updating Package Versions 2021-07-05 22:25:22 -04:00
LinuxServer-CI
5ad79912bb Bot Updating Templated Files 2021-07-06 02:17:24 +00:00
LinuxServer-CI
fbb44095c0 Bot Updating Templated Files 2021-07-05 22:15:59 -04:00
LinuxServer-CI
bce169fa65 Bot Updating Package Versions 2021-06-30 12:39:25 +00:00
aptalca
67d6c5a2f4
Merge pull request #48 from linuxserver/zip
Add php7-zip package
2021-06-30 08:34:33 -04:00
TheSpad
0a76c596ca Added changelog. Rebase to 3.14 2021-06-30 08:58:57 +01:00
TheSpad
467c6d8e9a Add php7-zip package 2021-06-29 23:39:02 +01:00
LinuxServer-CI
811bc2dd2e Bot Updating Package Versions 2021-06-29 02:20:13 +00:00
LinuxServer-CI
b65a606ee1 Bot Updating Package Versions 2021-06-18 06:57:47 -04:00
Alex Phillips
1f39749b23
Merge pull request #47 from linuxserver/https
Download release over https
2021-06-18 06:53:43 -04:00
TheSpad
c139e729f8 Download release over https 2021-06-18 10:37:31 +01:00
LinuxServer-CI
f6fa1e7c96 Bot Updating Package Versions 2021-06-15 03:34:02 +01:00
LinuxServer-CI
0b7e2ea88d Bot Updating Package Versions 2021-06-08 03:12:32 +00:00
LinuxServer-CI
f11960a01c Bot Updating Package Versions 2021-06-01 05:11:58 +00:00
LinuxServer-CI
f6acf54193 Bot Updating Package Versions 2021-05-22 10:15:38 -04:00
LinuxServer-CI
ab53bbcd58 Bot Updating Templated Files 2021-05-22 14:08:33 +00:00
Roxedus
62c3fccc81
Merge pull request #45 from linuxserver/gallery-move 2021-05-22 16:06:58 +02:00
TheSpad
0c1fa6eff5 Fix /gallery permissions 2021-05-20 20:40:29 +01:00
TheSpad
64fefd43b4 Update app instructions. 2021-05-20 20:29:42 +01:00
TheSpad
47fad59428 Formatting 2021-05-20 20:27:03 +01:00
TheSpad
faf1223d5c Move image data to separate volume mount 2021-05-20 20:24:59 +01:00
LinuxServer-CI
ed69a8fa85 Bot Updating Package Versions 2021-05-14 17:08:58 +00:00
LinuxServer-CI
615b07d499 Bot Updating Package Versions 2021-05-04 03:35:46 +01:00
LinuxServer-CI
197b5d2c33 Bot Updating Package Versions 2021-04-27 02:38:40 +00:00
LinuxServer-CI
1dbc1da23b Bot Updating Package Versions 2021-04-19 22:46:01 -04:00
LinuxServer-CI
b16df3c0d1 Bot Updating Templated Files 2021-04-19 22:31:14 -04:00
LinuxServer-CI
2756a2d04b Bot Updating Templated Files 2021-04-20 02:29:52 +00:00
LinuxServer-CI
3f9a2474b7 Bot Updating Package Versions 2021-04-12 22:37:04 -04:00
LinuxServer-CI
2a17076ba5 Bot Updating Package Versions 2021-04-05 22:38:49 -04:00
LinuxServer-CI
5d25f3dc98 Bot Updating Package Versions 2021-03-29 22:33:41 -04:00
LinuxServer-CI
6b50d5428d Bot Updating Package Versions 2021-03-23 02:27:36 +00:00
LinuxServer-CI
ea00246ad0 Bot Updating Package Versions 2021-03-19 16:52:36 +00:00
LinuxServer-CI
a52e09bd96 Bot Updating Package Versions 2021-03-16 02:21:23 +00:00
LinuxServer-CI
76584f4951 Bot Updating Package Versions 2021-03-02 01:59:07 +00:00
LinuxServer-CI
c83f60709a Bot Updating Package Versions 2021-02-22 21:13:50 -05:00
LinuxServer-CI
0ed08451b7 Bot Updating Package Versions 2021-02-17 14:11:00 +00:00
LinuxServer-CI
b25fec5fc1 Bot Updating Templated Files 2021-02-17 14:05:47 +00:00
aptalca
6bfd95576a
Merge pull request #39 from linuxserver/master-3.13
Rebasing to Alpine 3.13
2021-02-17 09:04:31 -05:00
LinuxServer-CI
3b97c5d53c Bot Updating Package Versions 2021-02-15 21:13:24 -05:00
LinuxServer-CI
42ca791283 Bot Updating Templated Files 2021-02-16 02:08:39 +00:00
LinuxServer-CI
3f4cf96eda Bot Updating Templated Files 2021-02-16 02:06:29 +00:00
LinuxServer-CI
199cc76fc8 Bot Updating Package Versions 2021-02-09 02:12:38 +00:00
thelamer
8b85202419 Rebasing to Alpine 3.13 2021-01-23 12:58:11 -08:00
LinuxServer-CI
2752d12a4a Bot Updating Package Versions 2021-01-17 08:11:07 +00:00
LinuxServer-CI
1f2d5a69df Bot Updating Templated Files 2021-01-17 03:04:47 -05:00
LinuxServer-CI
2c6571d495 Bot Updating Package Versions 2021-01-10 07:58:59 +00:00
LinuxServer-CI
fe1af5065a Bot Updating Package Versions 2020-12-27 07:48:33 +00:00
LinuxServer-CI
f72893e816 Bot Updating Templated Files 2020-12-16 18:52:06 +00:00
LinuxServer-CI
d7296e986a Bot Updating Templated Files 2020-12-16 18:51:05 +00:00
LinuxServer-CI
d327a01f2b Bot Updating Package Versions 2020-12-15 01:49:59 +00:00
LinuxServer-CI
7ab8953ed4 Bot Updating Package Versions 2020-12-12 14:55:22 +00:00
LinuxServer-CI
e9328c879b Bot Updating Templated Files 2020-12-12 14:50:41 +00:00
aptalca
d82f49c84a
Merge pull request #38 from blastrock/master
Increase upload_max_filesize in php.ini
2020-12-12 09:49:12 -05:00
Philippe Daouadi
19f9d859b6 Increase upload_max_filesize in php.ini
Fixes #30
2020-12-12 15:30:31 +01:00
LinuxServer-CI
a41aabcbbe Bot Updating Package Versions 2020-12-07 20:54:34 -05:00
LinuxServer-CI
49280e3335 Bot Updating Package Versions 2020-11-30 20:49:17 -05:00
LinuxServer-CI
76b1bd26f7 Bot Updating Package Versions 2020-11-24 01:49:33 +00:00
LinuxServer-CI
44739fb3a3 Bot Updating Package Versions 2020-11-01 23:14:17 -05:00
LinuxServer-CI
373aabfce4 Bot Updating Templated Files 2020-11-01 23:11:39 -05:00
thelamer
b7b7140714 update baseimages 2020-11-01 20:08:25 -08:00
LinuxServer-CI
6681c3325a Bot Updating Package Versions 2020-10-26 21:48:37 -04:00
LinuxServer-CI
459a106ece Bot Updating Package Versions 2020-10-13 00:47:53 +00:00
LinuxServer-CI
a5db68b452 Bot Updating Package Versions 2020-10-06 00:51:54 +00:00
LinuxServer-CI
19cbfdf772 Bot Updating Templated Files 2020-10-05 20:46:44 -04:00
LinuxServer-CI
f81eca9053 Bot Updating Templated Files 2020-10-06 00:45:38 +00:00
LinuxServer-CI
a0d4174e6e Bot Updating Package Versions 2020-09-28 20:49:01 -04:00
LinuxServer-CI
0d97a693b7 Bot Updating Package Versions 2020-09-22 00:47:47 +00:00
LinuxServer-CI
7bbe1fb6bc Bot Updating Package Versions 2020-09-15 01:47:40 +01:00
LinuxServer-CI
5d13dbfdf9 Bot Updating Package Versions 2020-09-07 20:47:30 -04:00
LinuxServer-CI
7041580ca8 Bot Updating Package Versions 2020-09-01 00:47:58 +00:00
LinuxServer-CI
0eeb4851aa Bot Updating Package Versions 2020-08-24 20:49:20 -04:00
LinuxServer-CI
2a6efe3501 Bot Updating Templated Files 2020-08-25 00:45:20 +00:00
LinuxServer-CI
dac7b4ddc6 Bot Updating Package Versions 2020-08-17 20:47:52 -04:00
LinuxServer-CI
2025260858 Bot Updating Package Versions 2020-08-11 02:48:45 +02:00
LinuxServer-CI
62f3e4434b Bot Updating Package Versions 2020-08-04 02:49:45 +02:00
LinuxServer-CI
a55418ee0a Bot Updating Templated Files 2020-08-04 00:46:07 +00:00
LinuxServer-CI
a7381f9fe7 Bot Updating Templated Files 2020-08-04 02:44:49 +02:00
LinuxServer-CI
55273d5f9a Bot Updating Package Versions 2020-07-13 20:48:06 -04:00
LinuxServer-CI
dd9d008180 Bot Updating Package Versions 2020-07-07 00:46:41 +00:00
LinuxServer-CI
b74c049a02 Bot Updating Package Versions 2020-07-03 14:32:50 +00:00
LinuxServer-CI
3eac397130 Bot Updating Templated Files 2020-07-03 10:28:08 -04:00
aptalca
15a5b29cdf
Merge pull request #35 from linuxserver/master-3.12
Rebasing to Alpine 3.12
2020-07-03 10:27:13 -04:00
LinuxServer-CI
afc9cab688 Bot Updating Package Versions 2020-06-23 00:47:15 +00:00
LinuxServer-CI
8b0e27b0e3 Bot Updating Package Versions 2020-06-15 20:48:15 -04:00
LinuxServer-CI
db46d44763 Bot Updating Package Versions 2020-06-09 00:49:03 +00:00
LinuxServer-CI
cfaab3560f Bot Updating Templated Files 2020-06-09 00:44:50 +00:00
LinuxServer-CI
2c2c02f153 Bot Updating Package Versions 2020-06-02 00:48:31 +00:00
LinuxServer-CI
4e04196459 Bot Updating Templated Files 2020-06-01 20:44:55 -04:00
thelamer
0164f5f7c6 Rebasing to Alpine 3.12 2020-06-01 13:22:08 -07:00
LinuxServer-CI
d0acfb1c36 Bot Updating Package Versions 2020-05-26 00:48:01 +00:00
LinuxServer-CI
994b5d34d5 Bot Updating Package Versions 2020-05-19 00:47:29 +00:00
LinuxServer-CI
c809c18bfa Bot Updating Package Versions 2020-05-12 02:51:10 +02:00
LinuxServer-CI
844a61ba3b Bot Updating Package Versions 2020-05-05 00:59:05 +00:00
LinuxServer-CI
4fcadf6795 Bot Updating Package Versions 2020-04-27 20:52:08 -04:00
LinuxServer-CI
2367edfc75 Bot Updating Templated Files 2020-04-28 00:45:20 +00:00
LinuxServer-CI
542ac04014 Bot Updating Package Versions 2020-04-21 00:47:41 +00:00
LinuxServer-CI
f06101d52f Bot Updating Package Versions 2020-04-13 19:49:06 -05:00
LinuxServer-CI
0baa11b7cc Bot Updating Templated Files 2020-04-14 00:45:19 +00:00
LinuxServer-CI
5391f52fac Bot Updating Package Versions 2020-04-07 02:54:53 +02:00
LinuxServer-CI
2425142b4b Bot Updating Package Versions 2020-03-27 10:29:21 -04:00
LinuxServer-CI
dc3ac02f2c Bot Updating Package Versions 2020-03-23 21:51:41 -04:00
LinuxServer-CI
0b86a8b885 Bot Updating Package Versions 2020-03-17 02:47:26 +01:00
LinuxServer-CI
995dfaca5c Bot Updating Package Versions 2020-03-10 01:52:03 +00:00
LinuxServer-CI
e2ce6b049a Bot Updating Package Versions 2020-03-02 20:47:13 -05:00
LinuxServer-CI
1a9484cd5d Bot Updating Package Versions 2020-02-24 20:50:27 -05:00
LinuxServer-CI
57ab42db16 Bot Updating Package Versions 2020-02-17 20:49:02 -05:00
LinuxServer-CI
376f85ad53 Bot Updating Package Versions 2020-02-11 01:52:14 +00:00
LinuxServer-CI
1757d64d0f Bot Updating Package Versions 2020-02-03 20:50:05 -05:00
LinuxServer-CI
be36cb2f6e Bot Updating Package Versions 2020-01-28 02:53:44 +01:00
LinuxServer-CI
fe56cdde93 Bot Updating Package Versions 2020-01-21 01:47:51 +00:00
LinuxServer-CI
b737b4cef3 Bot Updating Package Versions 2020-01-14 02:47:19 +01:00
LinuxServer-CI
60412143d2 Bot Updating Package Versions 2020-01-06 20:50:25 -05:00
LinuxServer-CI
ebf67c9409 Bot Updating Package Versions 2019-12-31 02:48:27 +01:00
LinuxServer-CI
e19060f3c3 Bot Updating Package Versions 2019-12-24 01:48:36 +00:00
LinuxServer-CI
bfd6edc17d Bot Updating Package Versions 2019-12-22 00:23:47 +01:00
LinuxServer-CI
12e2636b9f Bot Updating Templated Files 2019-12-21 23:19:23 +00:00
thelamer
76ace404fb Rebasing to Alpine 3.11 2019-12-21 15:18:30 -08:00
LinuxServer-CI
c9a9b16189 Bot Updating Package Versions 2019-12-16 20:50:36 -05:00
LinuxServer-CI
7a70ae2d0f Bot Updating Package Versions 2019-12-03 01:49:24 +00:00
LinuxServer-CI
07912d686a Bot Updating Templated Files 2019-12-02 20:45:25 -05:00
LinuxServer-CI
032309e3d7 Bot Updating Package Versions 2019-11-25 20:47:35 -05:00
LinuxServer-CI
e4e1676aa0 Bot Updating Package Versions 2019-11-19 02:47:28 +01:00
LinuxServer-CI
ad09a46249 Bot Updating Package Versions 2019-11-12 01:47:42 +00:00
LinuxServer-CI
c8623d9581 Bot Updating Package Versions 2019-11-04 20:51:45 -05:00
LinuxServer-CI
4d3ae4feba Bot Updating Templated Files 2019-11-04 20:44:53 -05:00
LinuxServer-CI
9263ea7db1 Bot Updating Package Versions 2019-10-29 01:49:19 +00:00
LinuxServer-CI
9274bbb2dc Bot Updating Package Versions 2019-10-14 10:29:32 -04:00
LinuxServer-CI
1a0684356d Bot Updating Package Versions 2019-10-07 20:51:26 -04:00
LinuxServer-CI
4bd61d4132 Bot Updating Templated Files 2019-10-07 20:45:54 -04:00
LinuxServer-CI
2c32826aab Bot Updating Templated Files 2019-10-07 20:45:02 -04:00
LinuxServer-CI
2a29a29506 Bot Updating Package Versions 2019-10-01 01:48:00 +01:00
LinuxServer-CI
e6b69f2a7f Bot Updating Package Versions 2019-09-24 01:47:03 +01:00
LinuxServer-CI
fa688a31d2 Bot Updating Package Versions 2019-09-16 20:50:32 -04:00
LinuxServer-CI
ab8d8fcfe9 Bot Updating Package Versions 2019-09-03 01:52:21 +01:00
LinuxServer-CI
aa663bf227 Bot Updating Templated Files 2019-09-02 20:47:22 -04:00
LinuxServer-CI
0420b4b84a Bot Updating Templated Files 2019-09-02 20:45:40 -04:00
LinuxServer-CI
00d00d6044 Bot Updating Package Versions 2019-08-27 01:47:01 +01:00
LinuxServer-CI
da300e5416 Bot Updating Package Versions 2019-08-19 20:49:35 -04:00
LinuxServer-CI
ba763e1ca5 Bot Updating Package Versions 2019-08-13 02:51:02 +02:00
LinuxServer-CI
7d4bd3a1e5 Bot Updating Package Versions 2019-08-05 20:50:38 -04:00
LinuxServer-CI
cd7f2f1f80 Bot Updating Package Versions 2019-07-30 02:49:59 +02:00
LinuxServer-CI
d9bc3c7fd3 Bot Updating Package Versions 2019-07-22 20:50:07 -04:00
aptalca
121c47b60d download during build 2019-07-16 09:16:09 -07:00
LinuxServer-CI
0af4cfff5b Bot Updating Package Versions 2019-07-09 01:50:37 +01:00
LinuxServer-CI
6f587eaa67 Bot Updating Package Versions 2019-07-05 19:31:10 +00:00
LinuxServer-CI
5aab60c340 Bot Updating Templated Files 2019-07-05 20:17:48 +01:00
chbmb
f906592347
Merge pull request #25 from linuxserver/master-3.10
Rebasing to Alpine 3.10
2019-07-05 20:16:55 +01:00
LinuxServer-CI
13a85d9f7f Bot Updating Package Versions 2019-07-02 01:46:55 +01:00
thelamer
a8ceb176f2 Rebasing to Alpine 3.10 2019-06-28 18:26:47 -07:00
LinuxServer-CI
3b09a6efd7 Bot Updating Package Versions 2019-06-17 20:49:56 -04:00
LinuxServer-CI
0e3097d1b5 Bot Updating Package Versions 2019-06-14 22:19:07 +02:00
aptalca
9240d78c34
Merge pull request #24 from linuxserver/newdeps
Newdeps
2019-06-14 16:13:36 -04:00
thelamer
ccd21ca77e typo in filename 2019-06-14 11:52:02 -07:00
thelamer
e62aa16440 add new deps as reccomded by piwigo team and ffmpeg for popular videojs plugin 2019-06-12 21:35:20 -07:00
LinuxServer-CI
aa13067f43 Bot Updating Package Versions 2019-06-11 00:48:30 +00:00
LinuxServer-CI
2d6fcd5207 Bot Updating Templated Files 2019-06-04 00:44:58 +00:00
LinuxServer-CI
5308684cb8 Bot Updating Templated Files 2019-05-28 00:45:55 +00:00
LinuxServer-CI
4a80c3a792 Bot Updating Templated Files 2019-05-28 01:44:54 +01:00
LinuxServer-CI
ca331d44ce Bot Updating Package Versions 2019-05-13 20:53:19 -04:00
LinuxServer-CI
b41624233d Bot Updating Package Versions 2019-05-10 13:22:22 -04:00
LinuxServer-CI
50771b4a90 Bot Updating Package Versions 2019-05-06 20:48:43 -04:00
LinuxServer-CI
e5d35bed12 Bot Updating Templated Files 2019-05-06 20:44:55 -04:00
LinuxServer-CI
b346839111 Bot Updating Package Versions 2019-04-22 20:48:54 -04:00
LinuxServer-CI
2144a44ee8 Bot Updating Package Versions 2019-04-16 01:46:17 +01:00
LinuxServer-CI
bddca8c60b Bot Updating Package Versions 2019-04-08 20:46:33 -04:00
LinuxServer-CI
72d876549f Bot Updating Package Versions 2019-04-02 01:47:18 +01:00
LinuxServer-CI
27b3a19977 Bot Updating Package Versions 2019-03-24 22:02:29 +00:00
aptalca
ffb25faa6f
Merge pull request #22 from thelamer/master
Switching to new Base images, shift to arm32v7 tag.
2019-03-24 17:59:22 -04:00
thelamer
3abf8d231f Switching to new Base images, shift to arm32v7 tag. 2019-03-23 19:26:40 -07:00
LinuxServer-CI
d50d194a48 Bot Updating Package Versions 2019-03-18 21:49:17 -04:00
LinuxServer-CI
119ce33285 Bot Updating Templated Files 2019-03-11 21:44:42 -04:00
LinuxServer-CI
6e1df40900 Bot Updating Package Versions 2019-03-02 01:48:35 -05:00
LinuxServer-CI
973c558522 Bot Updating Templated Files 2019-03-02 06:42:29 +00:00
Homer
e1e953a14f
Merge pull request #21 from linuxserver/php-exts
adding php-ctype and php-curl
2019-03-02 06:41:46 +00:00
homerr
bfe24b474f added apk --upgrade 2019-03-02 06:17:50 +00:00
Homer
bcd387c4ce adding php-ctype and php-curl 2019-03-01 10:50:37 +00:00
LinuxServer-CI
a94c966852 Bot Updating Templated Files 2019-02-26 01:44:38 +00:00
LinuxServer-CI
d4a13ca8bf Bot Updating Package Versions 2019-02-23 23:15:04 -05:00
LinuxServer-CI
c66f5fe334 Bot Updating Templated Files 2019-02-23 23:08:17 -05:00
aptalca
df04048630
Merge pull request #20 from linuxserver/master-3.9
Master 3.9
2019-02-23 23:07:19 -05:00
thelamer
6a3b7a6ae4 adding php ldap 2019-02-23 17:59:52 -08:00
thelamer
6a7467c215 Rebasing to Alpine 3.9 2019-02-22 17:34:42 -08:00
j0nnymoe
68a3e515b3
Merge pull request #19 from IronicBadger/master
dynamic readme
2019-02-12 14:42:42 +00:00
IronicBadger
bde6ccefb8 dynamic readme 2019-02-11 22:46:50 -05:00
IronicBadger
b74242d87d dynamic readme 2019-02-11 22:45:18 -05:00
LinuxServer-CI
4bb2ffff20 Bot Updating Package Versions 2019-02-12 01:49:03 +00:00
LinuxServer-CI
564c79f91d Bot Updating Templated Files 2019-02-12 01:44:35 +00:00
LinuxServer-CI
9d96a7c9ff Bot Updating Package Versions 2019-02-04 18:12:35 +00:00
aptalca
668b86c1ba
Merge pull request #18 from linuxserver/pipeline
rebase to 3.8, add pipeline and multi arch
2019-02-04 13:09:34 -05:00
thelamer
c86d91572a rebase to 3.8, add pipeline and multi arch 2019-01-29 19:26:59 -08:00
sparklyballs
81645d0cc0
Merge pull request #12 from danielhoherd/master
Add missing slash
2018-03-06 09:00:12 +00:00
Daniel Hoherd
fccc4f8c30 Add missing slash 2018-03-05 21:05:21 -08:00
Alex Kretzschmar
376858a7ad
Merge pull request #11 from linuxserver/alpine_3.7
bump alpine 3.7
2018-01-25 21:47:59 +00:00
sparklyballs
68256d0aab
correct baseimage info README 2018-01-25 17:12:46 +00:00
sparklyballs
8df36b4148 bump alpine 3.7 2018-01-25 16:52:30 +00:00
sparklyballs
1cf26fa305 update of README with badges for new ci 2017-07-11 17:54:28 +01:00
j0nnymoe
3c33b409b9 Merge pull request #9 from linuxserver/alpine_3.6
bump to alpine 3.6
2017-05-25 22:37:36 +01:00
sparklyballs
6d773ab4a7 bump to alpine 3.6 2017-05-25 11:52:06 +01:00
j0nnymoe
3d4bad3c99 Merge pull request #8 from linuxserver/imagick_repo
Imagick repo
2017-05-03 13:43:04 +01:00
sparklyballs
d2a0a0cc0c update README 2017-05-03 08:42:03 +01:00
sparklyballs
13dbce0371 switch to repo pinning style to add packages, use repo imagick 2017-05-03 08:40:13 +01:00
sparklyballs
2d207419aa Merge pull request #7 from iiska/exif-extension
Install php7-exif extensions
2017-04-20 18:40:14 +01:00
Juhamatti Niemelä
4277184dc9 Install php7-exif extensions
Enables exif metadata use with Piwigo and gets rid of related error
notifications in the Admin UI.
2017-04-20 20:36:17 +03:00
Neil
8baab9f747 Merge pull request #6 from linuxserver/php7_edge
use edge repository for php dependencies
2017-03-29 23:42:22 +01:00
sparklyballs
45cbe38989 use edge repository for php dependencies 2017-03-29 23:20:39 +01:00
sparklyballs
b76d886736 fix formatting markdown README 2017-03-15 16:31:21 +00:00
j0nnymoe
3f19ae5cab Merge pull request #5 from linuxserver/alpine_3.5
Alpine 3.5
2017-02-24 15:34:17 +00:00
sparklyballs
d9f6a3c257 clear legacy cruft 2017-02-23 12:24:27 +00:00
sparklyballs
8fca2711d8 rebase to alpine linux 3.5 and nginx 2017-02-23 11:58:14 +00:00
sparklyballs
605f0f3213 fix date separator 2016-10-18 03:04:48 +01:00
sparklyballs
a672b1fd89 add extra parameters info 2016-10-17 23:53:45 +01:00
sparklyballs
13a7021922 add version layer information 2016-10-14 15:20:52 +01:00
sparklyballs
c40a60faad update media links README 2016-10-07 10:23:05 +01:00
sparklyballs
f857f174d1 update image link 2016-10-05 12:07:09 +01:00
sparklyballs
5f7081db76 add .ignores and templates 2016-09-17 02:49:08 +01:00
sparklyballs
823414e9e9 Update README.md 2016-09-11 00:21:15 +01:00
sparklyballs
ae3db382a3 Merge pull request #4 from linuxserver/microbadger
Microbadger
2016-09-10 18:56:51 +01:00
sparklyballs
88e8ff93f1 add badges to README 2016-09-10 18:54:50 +01:00
sparklyballs
50a459ea4f add badges to README 2016-09-10 18:50:44 +01:00
34 changed files with 3660 additions and 92 deletions

6
.dockerignore Normal file
View File

@ -0,0 +1,6 @@
.git
.gitignore
.github
.gitattributes
READMETEMPLATE.md
README.md

20
.editorconfig Normal file
View File

@ -0,0 +1,20 @@
# This file is globally distributed to all container image projects from
# https://github.com/linuxserver/docker-jenkins-builder/blob/master/.editorconfig
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# trim_trailing_whitespace may cause unintended issues and should not be globally set true
trim_trailing_whitespace = false
[{Dockerfile*,**.yml}]
indent_style = space
indent_size = 2
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

17
.gitattributes vendored Normal file
View File

@ -0,0 +1,17 @@
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain

123
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,123 @@
# Contributing to piwigo
## 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://linuxserver.io/discord)
## 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-piwigo/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/images/docker-piwigo)
### 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-piwigo.git
cd docker-piwigo
docker build \
--no-cache \
--pull \
-t linuxserver/piwigo:latest .
```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --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-piwigo/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 Normal file
View File

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

13
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,13 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://linuxserver.io/discord
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/images/docker-piwigo
about: Documentation - information about all of our containers.

76
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Normal file
View File

@ -0,0 +1,76 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: Tell us what happens instead of the expected behavior.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: Tell us what should happen.
validations:
required: false
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **How docker service was installed**: distro's packagemanager
value: |
- OS:
- How docker service was installed:
render: markdown
validations:
required: false
- type: dropdown
attributes:
label: CPU architecture
options:
- x86-64
- arm64
validations:
required: true
- type: textarea
attributes:
label: Docker creation
description: |
Command used to create docker container
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
render: bash
validations:
required: true
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs piwigo"
label: Container logs
placeholder: |
Output of `docker logs piwigo`
render: bash
validations:
required: true

View File

@ -0,0 +1,31 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: checkboxes
attributes:
label: Is this a new feature request?
description: Please search to see if a feature request already exists.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Wanted change
description: Tell us what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Reason for change
description: Justify your request, why do you want it, what is the benefit.
validations:
required: true
- type: textarea
attributes:
label: Proposed code change
description: Do you have a potential code change in mind?
validations:
required: false

43
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,43 @@
<!--- 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-piwigo/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

@ -0,0 +1,19 @@
name: Issue & PR Tracker
on:
issues:
types: [opened,reopened,labeled,unlabeled,closed]
pull_request_target:
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed]
pull_request_review:
types: [submitted,edited,dismissed]
permissions:
contents: read
jobs:
manage-project:
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
secrets: inherit

16
.github/workflows/call_issues_cron.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: '36 17 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
stale:
permissions:
issues: write
pull-requests: write
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
secrets: inherit

147
.github/workflows/external_trigger.yml vendored Normal file
View File

@ -0,0 +1,147 @@
name: External Trigger Main
on:
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: External Trigger
if: github.ref == 'refs/heads/master'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: |
printf "# External trigger for docker-piwigo\n\n" >> $GITHUB_STEP_SUMMARY
if grep -q "^piwigo_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`piwigo_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^piwigo_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`piwigo_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of master branch. To disable this trigger, add \`piwigo_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/Piwigo/Piwigo/releases/latest" | jq -r '. | .tag_name')
echo "Type is \`github_stable\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^piwigo_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve external version for piwigo branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-piwigo/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/piwigo"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fpiwigo%3Apull" \
| jq -r '.token')
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.index.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}")
if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# If there's a layer element it's a single-arch manifest so just get that digest
digest=$(jq -r '.config.digest' <<< "${multidigest}")
else
# Otherwise it's multi-arch or has manifest annotations
if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# Check for manifest annotations and delete if found
multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}")
fi
if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then
# If there's still more than one digest, it's multi-arch
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
else
# Otherwise it's single arch
multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}")
fi
if digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}"); then
digest=$(jq -r '.config.digest' <<< "${digest}");
fi
fi
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}")
if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then
image_info=$(echo $image_info | jq -r '.config')
else
image_info=$(echo $image_info | jq -r '.container_config')
fi
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve last pushed version for piwigo tag latest"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-piwigo/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
exit 0
else
if [[ "${artifacts_found}" == "false" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="New version ${EXT_RELEASE} for piwigo tag latest is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New sanitized version \`${EXT_RELEASE_SANITIZED}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
if [[ "${artifacts_found}" == "true" ]]; then
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-piwigo/job/master/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for piwigo tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
fi

View File

@ -0,0 +1,48 @@
name: External Trigger Scheduler
on:
schedule:
- cron: '40 * * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
printf "# External trigger scheduler for docker-piwigo\n\n" >> $GITHUB_STEP_SUMMARY
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
do
if [[ "${br}" == "HEAD" ]]; then
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-piwigo/${br}/jenkins-vars.yml)
ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then
echo "Branch appears to be live and trigger is not os; checking workflow." >> $GITHUB_STEP_SUMMARY
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-piwigo/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "Triggering external trigger workflow for branch." >> $GITHUB_STEP_SUMMARY
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-piwigo/actions/workflows/external_trigger.yml/dispatches
else
echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi
else
echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY
fi
done

19
.github/workflows/greetings.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: Greetings
on: [pull_request_target, issues]
permissions:
contents: read
jobs:
greeting:
permissions:
issues: write
pull-requests: write
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 relevant issue templates, or risk having this issue marked as invalid.'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-piwigo/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -0,0 +1,103 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '13 15 * * 6'
workflow_dispatch:
permissions:
contents: read
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
env:
SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }}
run: |
printf "# Package trigger scheduler for docker-piwigo\n\n" >> $GITHUB_STEP_SUMMARY
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
do
if [[ "${br}" == "HEAD" ]]; then
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-piwigo/${br}/jenkins-vars.yml)
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-piwigo/${br}/Jenkinsfile >/dev/null 2>&1; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY
README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-piwigo/${br}/readme-vars.yml)
if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif grep -q "^piwigo_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`piwigo_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-piwigo/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
else
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY
printf "> To disable, add \`piwigo_%s\` into the Github organizational variable \`SKIP_PACKAGE_TRIGGER\`.\n\n" "${br}" >> $GITHUB_STEP_SUMMARY
triggered_branches="${triggered_branches}${br} "
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-piwigo/job/${br}/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
if [[ -z "${response}" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Jenkins build could not be triggered. Skipping branch."
continue
fi
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
if ! curl -ifX 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"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Unable to change the Jenkins job description."
fi
sleep 20
fi
else
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY
fi
done
if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then
if [[ -n "${triggered_branches}" ]]; then
NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n"
NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-piwigo/activity/ \n"
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
fi
if [[ -n "${skipped_branches}" ]]; then
NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n"
fi
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) for piwigo** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi

12
.github/workflows/permissions.yml vendored Normal file
View File

@ -0,0 +1,12 @@
name: Permission check
on:
pull_request_target:
paths:
- '**/run'
- '**/finish'
- '**/check'
- 'root/migrations/*'
jobs:
permission_check:
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1

44
.gitignore vendored Normal file
View File

@ -0,0 +1,44 @@
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
# =========================
# Operating System Files
# =========================
# OSX
# =========================
.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Files that might appear on external disk
.Spotlight-V100
.Trashes
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
.jenkins-external

View File

@ -1,41 +1,65 @@
FROM linuxserver/baseimage.apache # syntax=docker/dockerfile:1
MAINTAINER sparklyballs <sparklyballs@linuxserver.io> FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.22
# set install packages as variable # set version label
ENV APTLIST="curl \ ARG BUILD_DATE
lynx-cur \ ARG VERSION
php5-cgi \ ARG PIWIGO_RELEASE
php5-gd \ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
php5-imagick \ LABEL maintainer="thespad"
php5-mysql \
php5-xmlrpc \
php5-xsl \
php5-apcu \
php-auth \
php-auth-sasl \
php-net-smtp \
php-pear \
unzip \
wget"
RUN \
echo "**** install packages ****" && \
apk add --no-cache \
exiftool \
ffmpeg \
imagemagick \
imagemagick-heic \
libjpeg-turbo-utils \
mediainfo \
php84-apcu \
php84-cgi \
php84-ctype \
php84-curl \
php84-dom \
php84-exif \
php84-gd \
php84-ldap \
php84-mysqli \
php84-mysqlnd \
php84-pear \
php84-pecl-imagick \
php84-xsl \
php84-zip \
poppler-utils \
re2c && \
echo "**** modify php-fpm process limits ****" && \
sed -i 's/pm.max_children = 5/pm.max_children = 32/' /etc/php84/php-fpm.d/www.conf && \
echo "**** configure php-fpm to pass env vars ****" && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php84/php-fpm.d/www.conf && \
if ! grep -qxF 'clear_env = no' /etc/php84/php-fpm.d/www.conf; then echo 'clear_env = no' >> /etc/php84/php-fpm.d/www.conf; fi && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php84/php-fpm.conf && \
echo "**** download piwigo ****" && \
if [ -z ${PIWIGO_RELEASE+x} ]; then \
PIWIGO_RELEASE=$(curl -sX GET "https://api.github.com/repos/Piwigo/Piwigo/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
mkdir -p /app/www/public && \
curl -o \
/tmp/piwigo.zip -L \
"https://piwigo.org/download/dlcounter.php?code=${PIWIGO_RELEASE}" && \
unzip -q /tmp/piwigo.zip -d /tmp && \
mv /tmp/piwigo/* /app/www/public && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*
# copy local files
COPY root/ /
# install packages # ports and volumes
RUN apt-get update && \
apt-get install $APTLIST -qy && \
# cleanup
apt-get clean -y && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# add some files
ADD defaults/ /defaults/
ADD init/ /etc/my_init.d/
RUN chmod -v +x /etc/service/*/run /etc/my_init.d/*.sh
# expose ports
EXPOSE 80 443 EXPOSE 80 443
# set volumes VOLUME /config /gallery
VOLUME /config /pictures

65
Dockerfile.aarch64 Normal file
View File

@ -0,0 +1,65 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.22
# set version label
ARG BUILD_DATE
ARG VERSION
ARG PIWIGO_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thespad"
RUN \
echo "**** install packages ****" && \
apk add --no-cache \
exiftool \
ffmpeg \
imagemagick \
imagemagick-heic \
libjpeg-turbo-utils \
mediainfo \
php84-apcu \
php84-cgi \
php84-ctype \
php84-curl \
php84-dom \
php84-exif \
php84-gd \
php84-ldap \
php84-mysqli \
php84-mysqlnd \
php84-pear \
php84-pecl-imagick \
php84-xsl \
php84-zip \
poppler-utils \
re2c && \
echo "**** modify php-fpm process limits ****" && \
sed -i 's/pm.max_children = 5/pm.max_children = 32/' /etc/php84/php-fpm.d/www.conf && \
echo "**** configure php-fpm to pass env vars ****" && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php84/php-fpm.d/www.conf && \
if ! grep -qxF 'clear_env = no' /etc/php84/php-fpm.d/www.conf; then echo 'clear_env = no' >> /etc/php84/php-fpm.d/www.conf; fi && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php84/php-fpm.conf && \
echo "**** download piwigo ****" && \
if [ -z ${PIWIGO_RELEASE+x} ]; then \
PIWIGO_RELEASE=$(curl -sX GET "https://api.github.com/repos/Piwigo/Piwigo/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
mkdir -p /app/www/public && \
curl -o \
/tmp/piwigo.zip -L \
"https://piwigo.org/download/dlcounter.php?code=${PIWIGO_RELEASE}" && \
unzip -q /tmp/piwigo.zip -d /tmp && \
mv /tmp/piwigo/* /app/www/public && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 80 443
VOLUME /config /gallery

1258
Jenkinsfile vendored Normal file

File diff suppressed because it is too large Load Diff

674
LICENSE Normal file
View File

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

318
README.md
View File

@ -1,53 +1,315 @@
![https://linuxserver.io](http://www.linuxserver.io/wp-content/uploads/2015/06/linuxserver_medium.png) <!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-piwigo/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
The [LinuxServer.io](http://linuxserver.io) team brings you another quality container release featuring auto-update of dependencies on startup, easy user mapping and community support. Be sure to checkout our [forums](http://forum.linuxserver.io) or for real-time support our [IRC](http://www.linuxserver.io/index.php/irc/) on freenode at `#linuxserver.io`. [![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
# linuxserver/piwigo The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
Piwigo is a photo gallery software for the web that comes with powerful features to publish and manage your collection of pictures. * regular and timely application updates
[Piwigo](http://piwigo.org/) * easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
# [linuxserver/piwigo](https://github.com/linuxserver/docker-piwigo)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fpiwigo?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-piwigo.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-piwigo)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-piwigo.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-piwigo/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-piwigo/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-piwigo/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/piwigo)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/piwigo.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/piwigo)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/piwigo.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/piwigo)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-piwigo%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-piwigo/job/master/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fpiwigo%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/piwigo/latest/index.html)
[Piwigo](http://piwigo.org/) is a photo gallery software for the web that comes with powerful features to publish and manage your collection of pictures.
[![piwigo](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/piwigo-banner.png)](http://piwigo.org/)
## Supported Architectures
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `lscr.io/linuxserver/piwigo:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
The architectures supported by this image are:
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
## Application Setup
* You must create a user and database for piwigo to use in a mysql/mariadb server.
* Self-signed keys are generated the first time you run the container and can be found in `/config/keys`, if needed, you can replace them with your own.
* The easiest way to edit the configuration file is to enable local files editor from the plugins page and use it to configure email settings etc."
## Usage ## Usage
``` To help you get started creating a container from this image you can either use docker-compose or the docker cli.
docker create --name=piwigo -v /etc/localtime:/etc/localtime:ro -v <path to data>:/config -e PGID=<gid> -e PUID=<uid> -e TZ=<timezone> -p 80:80 linuxserver/piwigo
>[!NOTE]
>Unless a parameter is flagged as 'optional', it is *mandatory* and a value must be provided.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
```yaml
---
services:
piwigo:
image: lscr.io/linuxserver/piwigo:latest
container_name: piwigo
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /path/to/piwigo/config:/config
- /path/to/appdata/gallery:/gallery
ports:
- 80:80
restart: unless-stopped
``` ```
**Parameters** ### docker cli ([click here for more info](https://docs.docker.com/engine/reference/commandline/cli/))
* `-p 80` - webui port *see note below* ```bash
* `-v /etc/localhost` for timesync - *optional* docker run -d \
* `-v /config` - folder to store appdata and config file for piwigo --name=piwigo \
* `-e PGID` for GroupID - see below for explanation -e PUID=1000 \
* `-e PUID` for UserID - see below for explanation -e PGID=1000 \
* `-e TZ` for setting timezone information, eg Europe/London -e TZ=Etc/UTC \
-p 80:80 \
-v /path/to/piwigo/config:/config \
-v /path/to/appdata/gallery:/gallery \
--restart unless-stopped \
lscr.io/linuxserver/piwigo:latest
```
It is based on phusion-baseimage with ssh removed, for shell access whilst the container is running do `docker exec -it piwigo /bin/bash`. ## Parameters
### User / Group Identifiers Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
**TL;DR** - The `PGID` and `PUID` values set the user / group you'd like your container to 'run as' to the host OS. This can be a user you've created or even root (not recommended). | Parameter | Function |
| :----: | --- |
| `-p 80:80` | Application WebUI |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-v /config` | Persistent config files |
| `-v /gallery` | Image storage for Piwigo |
Part of what makes our containers work so well is by allowing you to specify your own `PUID` and `PGID`. This avoids nasty permissions errors with relation to data volumes (`-v` flags). When an application is installed on the host OS it is normally added to the common group called users, Docker apps due to the nature of the technology can't be added to this group. So we added this feature to let you easily choose when running your containers. ## Environment variables from files (Docker secrets)
## Setting up the application You can set any environment variable from a file by using a special prepend `FILE__`.
You must create a user and database for piwigo to use in a mysql/mariadb server. In the setup page for database, use the ip address rather than hostname.... As an example:
A basic apache configuration file can be found in /config/apache/site-confs , edit the file to enable ssl (port 443 by default), set servername etc.. ```bash
Self-signed keys are generated the first time you run the container and can be found in /config/keys , if needed, you can replace them with your own. -e FILE__MYVAR=/run/secrets/mysecretvariable
```
The easiest way to edit the configuration file is to enable local files editor from the plugins page and use it to configure email settings etc.... Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
## Umask for running applications
## Updates For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional `-e UMASK=022` setting.
Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up [here](https://en.wikipedia.org/wiki/Umask) before asking for support.
* To update the packages like apache etc `docker restart piwigo`. ## User / Group Identifiers
* To update piwigo if required, update via the webui
* To monitor the logs of the container in realtime `docker logs -f piwigo`.
When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
```bash
id your_user
```
Example output:
```text
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
```
## Docker Mods
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=piwigo&query=%24.mods%5B%27piwigo%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=piwigo "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
## Support Info
* Shell access whilst the container is running:
```bash
docker exec -it piwigo /bin/bash
```
* To monitor the logs of the container in realtime:
```bash
docker logs -f piwigo
```
* Container version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' piwigo
```
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/piwigo:latest
```
## Updating Info
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers:
### Via Docker Compose
* Update images:
* All images:
```bash
docker-compose pull
```
* Single image:
```bash
docker-compose pull piwigo
```
* Update containers:
* All containers:
```bash
docker-compose up -d
```
* Single container:
```bash
docker-compose up -d piwigo
```
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Docker Run
* Update the image:
```bash
docker pull lscr.io/linuxserver/piwigo:latest
```
* Stop the running container:
```bash
docker stop piwigo
```
* Delete the container:
```bash
docker rm piwigo
```
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* You can also remove the old dangling images:
```bash
docker image prune
```
### Image Update Notifications - Diun (Docker Image Update Notifier)
>[!TIP]
>We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally
If you want to make local modifications to these images for development purposes or just to customize the logic:
```bash
git clone https://github.com/linuxserver/docker-piwigo.git
cd docker-piwigo
docker build \
--no-cache \
--pull \
-t lscr.io/linuxserver/piwigo:latest .
```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Versions ## Versions
+ **29.08.2015:** Initial Release. * **04.01.26:** - Rebase to Alpine 3.22, always update default theme on startup.
* **05.08.25:** - Revert to Alpine 3.21 due to incorrectly stated upstream support for PHP 8.4.
* **27.07.25:** - Rebase to Alpine 3.22.
* **31.05.24:** - Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings.
* **07.04.24:** - Increase php workers to fix Android uploading in bulk
* **02.03.24:** - Fix HEIC file format support.
* **23.12.23:** - Rebase to Alpine 3.19 with php 8.3.
* **12.12.23:** - Rebase to Alpine 3.18.
* **03.06.23:** - Revert to Alpine 3.17 due to compatibility issues with php 8.2.
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.
* **20.01.23:** - Rebase to alpine 3.17 with php8.1.
* **16.01.23:** - Fix broken custom template persistence.
* **08.11.22:** - Rebase to Alpine 3.16, migrate to s6v3. Move application install to /app/www/public, add migration for existing users. Container updates should now update the application correctly.
* **20.08.22:** - Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base)).
* **29.06.21:** - Rebase to 3.14, Add php7-zip package
* **20.05.21:** - Create separate volume for image data
* **23.01.21:** - Rebasing to alpine 3.13.
* **12.12.20:** - Increased upload_max_filesize in php.ini
* **01.06.20:** - Rebasing to alpine 3.12.
* **19.12.19:** - Rebasing to alpine 3.11.
* **28.06.19:** - Rebasing to alpine 3.10.
* **12.06.19:** - Add ffmpeg and other deps as needed by popular plugins.
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
* **01.03.19:** - Add php-ctype & php-curl.
* **22.02.19:** - Rebasing to alpine 3.9, add php-ldap.
* **28.01.19:** - Rebase to alpine linux 3.8 , add pipeline logic and multi arch.
* **25.01.18:** - Rebase to alpine linux 3.7.
* **25.05.17:** - Rebase to alpine linux 3.6.
* **03.05.17:** - Use repo pinning to better solve dependencies, use repo version of php7-imagick.
* **20.04.17:** - Add php7-exif package, thanks iiska
* **23.02.17:** - Rebase to alpine linux 3.5 and nginx.
* **14.10.16:** - Add version layer information.
* **10.09.16:** - Add layer badges to README.
* **29.08.15:** - Initial Release.

View File

@ -1,13 +0,0 @@
<VirtualHost *:80>
DocumentRoot /config/www/gallery
<Directory /config/www/gallery/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order deny,allow
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

View File

@ -1,17 +0,0 @@
#!/bin/bash
mkdir -p /config/www/gallery
if [ -f "/config/www/gallery/index.php" ]; then
echo "using existing website"
else
echo "fetching piwigo files"
wget "http://piwigo.org/download/dlcounter.php?code=latest" -O /tmp/piwigo.zip
unzip -q /tmp/piwigo.zip -d /tmp
mv /tmp/piwigo/* /config/www/gallery
rm -rf /tmp/piwigo /tmp/piwigo.zip
chown -R abc:abc /config/www/gallery
fi
if [ ! -f "/config/www/gallery/local/config/config.inc.php" ]; then
cp /config/www/gallery/include/config_default.inc.php /config/www/gallery/local/config/config.inc.php
chown abc:abc /config/www/gallery/local/config/config.inc.php
fi

29
jenkins-vars.yml Normal file
View File

@ -0,0 +1,29 @@
---
# jenkins variables
project_name: docker-piwigo
external_type: github_stable
release_type: stable
release_tag: latest
ls_branch: master
repo_vars:
- EXT_GIT_BRANCH = 'master'
- EXT_USER = 'Piwigo'
- EXT_REPO = 'Piwigo'
- BUILD_VERSION_ARG = 'PIWIGO_RELEASE'
- LS_USER = 'linuxserver'
- LS_REPO = 'docker-piwigo'
- CONTAINER_NAME = 'piwigo'
- DOCKERHUB_IMAGE = 'linuxserver/piwigo'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/piwigo'
- PR_DOCKERHUB_IMAGE = 'lspipepr/piwigo'
- DIST_IMAGE = 'alpine'
- MULTIARCH='true'
- CI='true'
- CI_WEB='true'
- CI_PORT='80'
- CI_SSL='false'
- CI_DELAY='60'
- CI_DOCKERENV=''
- CI_AUTH=''
- CI_WEBPATH=''

336
package_versions.txt Normal file
View File

@ -0,0 +1,336 @@
NAME VERSION TYPE
acl-libs 2.3.2-r1 apk
alpine-baselayout 3.7.0-r0 apk
alpine-baselayout-data 3.7.0-r0 apk
alpine-keys 2.5-r0 apk
alpine-release 3.22.3-r0 apk
alsa-lib 1.2.14-r0 apk
anstream 0.6.8 rust-crate
anstyle 1.0.4 rust-crate
anstyle-parse 0.2.3 rust-crate
anstyle-query 1.0.2 rust-crate
anyhow 1.0.79 rust-crate
anyhow 1.0.98 rust-crate
aom-libs 3.12.1-r0 apk
apache2-utils 2.4.66-r0 apk
apk-tools 2.14.9-r3 apk
apr 1.7.5-r0 apk
apr-util 1.6.3-r1 apk
arg_enum_proc_macro 0.3.4 rust-crate
argon2-libs 20190702-r5 apk
arrayvec 0.7.4 rust-crate
av-metrics 0.9.1 rust-crate
av1-grain 0.2.3 rust-crate
bash 5.2.37-r0 apk
bitflags 2.4.1 rust-crate
bitstream-io 2.2.0 rust-crate
bitstream-io 2.6.0 rust-crate
bitvec 1.0.1 rust-crate
bitvec_helpers 3.1.6 rust-crate
brotli-libs 1.1.0-r2 apk
busybox 1.37.0-r20 apk
busybox-binsh 1.37.0-r20 apk
c-ares 1.34.6-r0 apk
ca-certificates 20250911-r0 apk
ca-certificates-bundle 20250911-r0 apk
cairo 1.18.4-r0 apk
catatonit 0.2.1-r0 apk
cfg-if 1.0.0 rust-crate
cjson 1.7.19-r0 apk
clap 4.4.14 rust-crate
clap_builder 4.4.14 rust-crate
clap_complete 4.4.6 rust-crate
clap_derive 4.4.7 rust-crate
clap_lex 0.6.0 rust-crate
colorchoice 1.0.0 rust-crate
composer 2.9.5 binary
console 0.15.8 rust-crate
coreutils 9.7-r1 apk
coreutils-env 9.7-r1 apk
coreutils-fmt 9.7-r1 apk
coreutils-sha512sum 9.7-r1 apk
crc 3.3.0 rust-crate
crc-catalog 2.4.0 rust-crate
crossbeam 0.8.4 rust-crate
crossbeam-channel 0.5.14 rust-crate
crossbeam-deque 0.8.5 rust-crate
crossbeam-epoch 0.9.18 rust-crate
crossbeam-queue 0.3.11 rust-crate
crossbeam-utils 0.8.19 rust-crate
curl 8.14.1-r2 apk
dbus-libs 1.16.2-r1 apk
dolby_vision 3.3.1 rust-crate
either 1.9.0 rust-crate
errno 0.3.8 rust-crate
exiftool 13.30-r0 apk
fern 0.6.2 rust-crate
ffmpeg 6.1.2-r2 apk
ffmpeg-libavcodec 6.1.2-r2 apk
ffmpeg-libavdevice 6.1.2-r2 apk
ffmpeg-libavfilter 6.1.2-r2 apk
ffmpeg-libavformat 6.1.2-r2 apk
ffmpeg-libavutil 6.1.2-r2 apk
ffmpeg-libpostproc 6.1.2-r2 apk
ffmpeg-libswresample 6.1.2-r2 apk
ffmpeg-libswscale 6.1.2-r2 apk
fftw-double-libs 3.3.10-r6 apk
findutils 4.10.0-r0 apk
fontconfig 2.15.0-r3 apk
freetype 2.13.3-r0 apk
fribidi 1.0.16-r1 apk
funty 2.0.0 rust-crate
gdbm 1.24-r0 apk
getrandom 0.2.12 rust-crate
giflib 5.2.2-r1 apk
git 2.49.1-r0 apk
git-init-template 2.49.1-r0 apk
git-perl 2.49.1-r0 apk
glib 2.84.4-r0 apk
glslang-libs 1.4.309.0-r0 apk
graphite2 1.3.14-r6 apk
harfbuzz 11.2.1-r0 apk
heck 0.4.1 rust-crate
hwdata-pci 0.395-r0 apk
imagemagick 7.1.2.15-r0 apk
imagemagick-heic 7.1.2.15-r0 apk
imagemagick-jpeg 7.1.2.15-r0 apk
imagemagick-jxl 7.1.2.15-r0 apk
imagemagick-libs 7.1.2.15-r0 apk
imagemagick-openexr 7.1.2.15-r0 apk
imagemagick-tiff 7.1.2.15-r0 apk
imagemagick-webp 7.1.2.15-r0 apk
imath 3.1.12-r0 apk
interpolate_name 0.2.4 rust-crate
itertools 0.10.5 rust-crate
itertools 0.12.0 rust-crate
ivf 0.1.3 rust-crate
jq 1.8.1-r0 apk
lab 0.11.0 rust-crate
lame-libs 3.100-r5 apk
lazy_static 1.4.0 rust-crate
lcms2 2.16-r0 apk
libSvtAv1Enc 2.3.0-r0 apk
libapk2 2.14.9-r3 apk
libass 0.17.3-r0 apk
libasyncns 0.8-r4 apk
libattr 2.5.2-r2 apk
libavif 1.3.0-r0 apk
libblkid 2.41-r9 apk
libbluray 1.3.4-r1 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libc 0.2.155 rust-crate
libc 0.2.172 rust-crate
libcrypto3 3.5.5-r0 apk
libcurl 8.14.1-r2 apk
libdav1d 1.5.1-r0 apk
libde265 1.0.15-r1 apk
libdeflate 1.23-r0 apk
libdovi 3.3.1-r1 apk
libdrm 2.4.124-r0 apk
libeconf 0.6.3-r0 apk
libedit 20250104.3.1-r1 apk
libexpat 2.7.5-r0 apk
libffi 3.4.8-r0 apk
libflac 1.4.3-r1 apk
libgcc 14.2.0-r6 apk
libgomp 14.2.0-r6 apk
libheif 1.19.8-r1 apk
libhwy 1.0.7-r1 apk
libice 1.1.2-r0 apk
libidn2 2.3.7-r0 apk
libintl 0.24.1-r0 apk
libjpeg-turbo 3.1.0-r0 apk
libjpeg-turbo-utils 3.1.0-r0 apk
libjxl 0.10.3-r2 apk
libldap 2.6.8-r0 apk
libltdl 2.5.4-r1 apk
libmd 1.1.0-r0 apk
libmediainfo 25.03-r0 apk
libmount 2.41-r9 apk
libncursesw 6.5_p20250503-r0 apk
libogg 1.3.5-r5 apk
libopenmpt 0.7.15-r0 apk
libpciaccess 0.18.1-r0 apk
libplacebo 6.338.2-r3 apk
libpng 1.6.57-r0 apk
libproc2 4.0.4-r3 apk
libpsl 0.21.5-r3 apk
libpulse 17.0-r5 apk
librist 0.2.10-r1 apk
libsasl 2.1.28-r8 apk
libsharpyuv 1.5.0-r0 apk
libsm 1.2.5-r0 apk
libsndfile 1.2.2-r2 apk
libsodium 1.0.20-r1 apk
libsrt 1.5.3-r1 apk
libssh 0.11.2-r0 apk
libssl3 3.5.5-r0 apk
libstdc++ 14.2.0-r6 apk
libtheora 1.1.1-r18 apk
libturbojpeg 3.1.0-r0 apk
libunibreak 6.1-r0 apk
libunistring 1.3-r0 apk
libuuid 2.41-r9 apk
libva 2.22.0-r1 apk
libvdpau 1.5-r4 apk
libvorbis 1.3.7-r2 apk
libvpx 1.15.0-r0 apk
libwebp 1.5.0-r0 apk
libwebpdemux 1.5.0-r0 apk
libwebpmux 1.5.0-r0 apk
libx11 1.8.11-r0 apk
libxau 1.0.12-r0 apk
libxcb 1.17.0-r0 apk
libxdmcp 1.1.5-r1 apk
libxext 1.3.6-r2 apk
libxfixes 6.0.1-r4 apk
libxml2 2.13.9-r0 apk
libxpm 3.5.17-r0 apk
libxrender 0.9.12-r0 apk
libxslt 1.1.43-r3 apk
libxt 1.3.1-r0 apk
libyuv 0.0.1887.20251502-r1 apk
libzen 0.4.41-r0 apk
libzip 1.11.4-r0 apk
libzmq 4.3.5-r2 apk
lilv-libs 0.24.26-r0 apk
linux-pam 1.7.0-r4 apk
linux-raw-sys 0.4.12 rust-crate
log 0.4.20 rust-crate
logrotate 3.21.0-r1 apk
maybe-rayon 0.1.1 rust-crate
mbedtls 3.6.6-r0 apk
mediainfo 25.03-r0 apk
memchr 2.7.1 rust-crate
minimal-lexical 0.2.1 rust-crate
mpg123-libs 1.32.10-r0 apk
musl 1.2.5-r10 apk
musl-utils 1.2.5-r10 apk
nano 8.4-r0 apk
ncurses-terminfo-base 6.5_p20250503-r0 apk
netcat-openbsd 1.229.1-r0 apk
new_debug_unreachable 1.0.4 rust-crate
nghttp2-libs 1.65.0-r0 apk
nginx 1.28.3-r0 apk
nom 7.1.3 rust-crate
noop_proc_macro 0.3.0 rust-crate
nspr 4.36-r0 apk
nss 3.114-r0 apk
num-bigint 0.4.4 rust-crate
num-derive 0.4.1 rust-crate
num-integer 0.1.45 rust-crate
num-rational 0.4.1 rust-crate
num-traits 0.2.17 rust-crate
numactl 2.0.18-r0 apk
once_cell 1.19.0 rust-crate
onevpl-libs 2023.3.1-r2 apk
oniguruma 6.9.10-r0 apk
openexr-libiex 3.3.2-r0 apk
openexr-libilmthread 3.3.2-r0 apk
openexr-libopenexr 3.3.2-r0 apk
openexr-libopenexrcore 3.3.2-r0 apk
openjpeg 2.5.3-r0 apk
openssl 3.5.5-r0 apk
opus 1.5.2-r1 apk
orc 0.4.40-r1 apk
paste 1.0.14 rust-crate
pcre2 10.46-r0 apk
perl 5.40.4-r0 apk
perl-error 0.17030-r0 apk
perl-git 2.49.1-r0 apk
perl-image-exiftool 13.30-r0 apk
php84 8.4.16-r0 apk
php84-cgi 8.4.16-r0 apk
php84-common 8.4.16-r0 apk
php84-ctype 8.4.16-r0 apk
php84-curl 8.4.16-r0 apk
php84-dom 8.4.16-r0 apk
php84-exif 8.4.16-r0 apk
php84-fileinfo 8.4.16-r0 apk
php84-fpm 8.4.16-r0 apk
php84-gd 8.4.16-r0 apk
php84-iconv 8.4.16-r0 apk
php84-ldap 8.4.16-r0 apk
php84-mbstring 8.4.16-r0 apk
php84-mysqli 8.4.16-r0 apk
php84-mysqlnd 8.4.16-r0 apk
php84-openssl 8.4.16-r0 apk
php84-pear 8.4.16-r0 apk
php84-pecl-apcu 5.1.27-r0 apk
php84-pecl-imagick 3.8.0-r1 apk
php84-phar 8.4.16-r0 apk
php84-session 8.4.16-r0 apk
php84-simplexml 8.4.16-r0 apk
php84-xml 8.4.16-r0 apk
php84-xmlwriter 8.4.16-r0 apk
php84-xsl 8.4.16-r0 apk
php84-zip 8.4.16-r0 apk
pixman 0.46.4-r0 apk
poppler 25.04.0-r0 apk
poppler-utils 25.04.0-r0 apk
popt 1.19-r4 apk
ppv-lite86 0.2.17 rust-crate
proc-macro2 1.0.76 rust-crate
procps-ng 4.0.4-r3 apk
profiling 1.0.13 rust-crate
profiling-procmacros 1.0.13 rust-crate
quote 1.0.35 rust-crate
radium 0.7.0 rust-crate
rand 0.8.5 rust-crate
rand_chacha 0.3.1 rust-crate
rand_core 0.6.4 rust-crate
rav1e 0.7.1 rust-crate
rav1e-libs 0.7.1-r2 apk
rayon 1.8.0 rust-crate
rayon-core 1.12.0 rust-crate
re2c 4.2-r0 apk
readline 8.2.13-r1 apk
rustix 0.38.28 rust-crate
scan_fmt 0.2.6 rust-crate
scanelf 1.3.8-r1 apk
sdl2-compat 2.32.56-r0 apk
sdl3 3.2.16-r0 apk
serd-libs 0.32.4-r0 apk
shaderc 2024.4-r0 apk
shadow 4.17.3-r0 apk
signal-hook 0.3.17 rust-crate
signal-hook-registry 1.4.1 rust-crate
simd_helpers 0.1.0 rust-crate
skalibs-libs 2.14.4.0-r0 apk
sord-libs 0.16.18-r0 apk
soxr 0.1.3-r7 apk
speexdsp 1.2.1-r2 apk
spirv-tools 1.4.313.0-r0 apk
sqlite-libs 3.49.2-r1 apk
sratom 0.6.18-r0 apk
ssl_client 1.37.0-r20 apk
syn 2.0.48 rust-crate
tap 1.0.1 rust-crate
tdb-libs 1.4.12-r0 apk
terminal_size 0.3.0 rust-crate
thiserror 1.0.56 rust-crate
thiserror-impl 1.0.56 rust-crate
tiff 4.7.1-r0 apk
tinyvec 1.9.0 rust-crate
tinyxml2 11.0.0-r0 apk
tzdata 2026a-r0 apk
unicode-ident 1.0.12 rust-crate
unicode-width 0.1.11 rust-crate
utf8parse 0.2.1 rust-crate
utmps-libs 0.1.3.1-r0 apk
v4l-utils-libs 1.28.1-r1 apk
v_frame 0.3.7 rust-crate
vidstab 1.1.1-r0 apk
vulkan-loader 1.4.313.0-r0 apk
wayland-libs-client 1.23.1-r3 apk
wyz 0.5.1 rust-crate
x264-libs 0.164.3108-r0 apk
x265-libs 3.6-r0 apk
xvidcore 1.3.7-r2 apk
xz-libs 5.8.1-r0 apk
y4m 0.8.0 rust-crate
zimg 3.0.5-r3 apk
zix-libs 0.6.2-r0 apk
zlib 1.3.1-r2 apk
zstd-libs 1.5.7-r0 apk

119
readme-vars.yml Normal file
View File

@ -0,0 +1,119 @@
---
# project information
project_name: piwigo
project_url: "http://piwigo.org/"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/piwigo-banner.png"
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is a photo gallery software for the web that comes with powerful features to publish and manage your collection of pictures."
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Photos"
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# container parameters
common_param_env_vars_enabled: true #PGID, PUID, etc, you can set it to 'optional'
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files"}
- {vol_path: "/gallery", vol_host_path: "/path/to/appdata/gallery", desc: "Image storage for Piwigo"}
param_usage_include_ports: true
param_ports:
- {external_port: "80", internal_port: "80", port_desc: "Application WebUI"}
# application setup block
app_setup_block_enabled: true
app_setup_block: |
* You must create a user and database for piwigo to use in a mysql/mariadb server.
* Self-signed keys are generated the first time you run the container and can be found in `/config/keys`, if needed, you can replace them with your own.
* The easiest way to edit the configuration file is to enable local files editor from the plugins page and use it to configure email settings etc."
# init diagram
init_diagram: |
"piwigo:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-nginx-end -> init-config
init-os-end -> init-config
init-config -> init-config-end
init-crontab-config -> init-config-end
init-piwigo-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
init-os-end -> init-folders
init-php -> init-keygen
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-samples -> init-nginx
init-version-checks -> init-nginx-end
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-keygen -> init-permissions
init-nginx -> init-php
init-nginx-end -> init-piwigo-config
init-folders -> init-samples
init-custom-files -> init-services
init-permissions -> init-version-checks
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-nginx
svc-nginx -> legacy-services
init-services -> svc-php-fpm
svc-php-fpm -> legacy-services
}
Base Images: {
"baseimage-alpine-nginx:3.22" <- "baseimage-alpine:3.22"
}
"piwigo:latest" <- Base Images
# changelog
changelogs:
- {date: "04.01.26:", desc: "Rebase to Alpine 3.22, always update default theme on startup."}
- {date: "05.08.25:", desc: "Revert to Alpine 3.21 due to incorrectly stated upstream support for PHP 8.4."}
- {date: "27.07.25:", desc: "Rebase to Alpine 3.22."}
- {date: "31.05.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."}
- {date: "07.04.24:", desc: "Increase php workers to fix Android uploading in bulk"}
- {date: "02.03.24:", desc: "Fix HEIC file format support."}
- {date: "23.12.23:", desc: "Rebase to Alpine 3.19 with php 8.3."}
- {date: "12.12.23:", desc: "Rebase to Alpine 3.18."}
- {date: "03.06.23:", desc: "Revert to Alpine 3.17 due to compatibility issues with php 8.2."}
- {date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf."}
- {date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1."}
- {date: "16.01.23:", desc: "Fix broken custom template persistence."}
- {date: "08.11.22:", desc: "Rebase to Alpine 3.16, migrate to s6v3. Move application install to /app/www/public, add migration for existing users. Container updates should now update the application correctly."}
- {date: "20.08.22:", desc: "Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base))."}
- {date: "29.06.21:", desc: "Rebase to 3.14, Add php7-zip package"}
- {date: "20.05.21:", desc: "Create separate volume for image data"}
- {date: "23.01.21:", desc: "Rebasing to alpine 3.13."}
- {date: "12.12.20:", desc: "Increased upload_max_filesize in php.ini"}
- {date: "01.06.20:", desc: "Rebasing to alpine 3.12."}
- {date: "19.12.19:", desc: "Rebasing to alpine 3.11."}
- {date: "28.06.19:", desc: "Rebasing to alpine 3.10."}
- {date: "12.06.19:", desc: "Add ffmpeg and other deps as needed by popular plugins."}
- {date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."}
- {date: "01.03.19:", desc: "Add php-ctype & php-curl."}
- {date: "22.02.19:", desc: "Rebasing to alpine 3.9, add php-ldap."}
- {date: "28.01.19:", desc: "Rebase to alpine linux 3.8 , add pipeline logic and multi arch."}
- {date: "25.01.18:", desc: "Rebase to alpine linux 3.7."}
- {date: "25.05.17:", desc: "Rebase to alpine linux 3.6."}
- {date: "03.05.17:", desc: "Use repo pinning to better solve dependencies, use repo version of php7-imagick."}
- {date: "20.04.17:", desc: "Add php7-exif package, thanks iiska"}
- {date: "23.02.17:", desc: "Rebase to alpine linux 3.5 and nginx."}
- {date: "14.10.16:", desc: "Add version layer information."}
- {date: "10.09.16:", desc: "Add layer badges to README."}
- {date: "29.08.15:", desc: "Initial Release."}

View File

@ -0,0 +1,5 @@
; /etc/php83/conf.d/piwigo.ini
; full path comment above to help visibility when searching for php versions
[PHP]
upload_max_filesize = 100M
post_max_size = 100M

View File

@ -0,0 +1,85 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# make our folders
mkdir -p \
/config/www \
/gallery/upload \
/gallery/galleries
# Migrate old data
if [[ -f /gallery/index.php ]]; then
echo "*******************************************************************************"
echo ""
echo "Migrating old install..."
mv /gallery/_data/ /config/www/_data
mv /gallery/language/ /config/www/language
mv /gallery/plugins/ /config/www/plugins
mv /gallery/themes/ /config/www/themes
mv /gallery/local/ /config/www/local
mv /gallery/template-extension/ /config/www/template-extension
rm /gallery/index.php
rm /config/www/gallery
sed -i "s|root /config/www/gallery;|root /app/www/public;|" /config/nginx/site-confs/default.conf
echo "Migration completed."
echo ""
echo "You can now safely delete everything in /gallery *except* for the upload and"
echo "galleries directories. If your photos are stored elsewhere you can ignore this."
echo ""
echo "*******************************************************************************"
fi
shopt -s globstar dotglob
symlinks=(
/app/www/public/upload
/app/www/public/galleries
)
for i in "${symlinks[@]}"; do
if [[ -d /gallery/"$(basename "$i")" && ! -L "$i" ]]; then
rm -rf "$i"
fi
if [[ -d /gallery/"$(basename "$i")" && ! -L "$i" ]]; then
ln -s /gallery/"$(basename "$i")" "$i"
fi
done
# Update standard pages & default theme
if [[ -d /config/www/themes ]]; then
cp -R /app/www/public/themes/standard_pages/ /config/www/themes/
cp -R /app/www/public/themes/default/ /config/www/themes/
fi
symlinks=(
/app/www/public/language
/app/www/public/plugins
/app/www/public/local
/app/www/public/themes
/app/www/public/_data
/app/www/public/template-extension
)
for i in "${symlinks[@]}"; do
if [[ -d /config/www/"$(basename "$i")" && ! -L "$i" ]]; then
rm -rf "$i"
fi
if [[ ! -d /config/www/"$(basename "$i")" && ! -L "$i" ]]; then
mv "$i" /config/www/
fi
if [[ -d /config/www/"$(basename "$i")" && ! -L "$i" ]]; then
ln -s /config/www/"$(basename "$i")" "$i"
fi
done
shopt -u globstar dotglob
# copy config
if [[ ! -f "/config/www/local/config/config.inc.php" ]]; then
cp /app/www/public/include/config_default.inc.php /config/www/local/config/config.inc.php
fi
# permissions
lsiown -R abc:abc \
/config \
/gallery

View File

@ -0,0 +1 @@
oneshot

View File

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