Compare commits

...

305 Commits

Author SHA1 Message Date
LinuxServer-CI
d34d262353
Disabling future builds 2025-02-20 01:23:37 +00:00
LinuxServer-CI
c56aa56e7c
Bot Updating Package Versions 2025-02-20 01:18:17 +00:00
LinuxServer-CI
0f2e9ccced
Bot Updating Templated Files 2025-02-20 01:15:49 +00:00
LinuxServer-CI
a739d96873
Bot Updating Templated Files 2025-02-20 01:14:03 +00:00
LinuxServer-CI
4bd3ca5aca
Bot Updating Templated Files 2025-02-20 01:12:34 +00:00
LinuxServer-CI
8d5ef43cab
Bot Updating Templated Files 2025-02-20 01:09:31 +00:00
LinuxServer-CI
6420c53f35
Bot Updating Templated Files 2025-02-20 01:07:30 +00:00
Adam
c2710cb7fb
Merge pull request #32 from linuxserver/deprecate 2025-02-19 21:00:34 +00:00
thespad
f6dd0f025f
Spelling 2025-02-19 20:53:29 +00:00
thespad
599bc3cc8e
Deprecate 2025-02-19 20:27:48 +00:00
LinuxServer-CI
1ed714db7d
Bot Updating Templated Files 2025-02-10 11:25:26 +00:00
LinuxServer-CI
5d3f70e650
Bot Updating Package Versions 2025-01-30 06:50:20 +00:00
LinuxServer-CI
f4cd900589
Bot Updating Templated Files 2025-01-30 06:47:13 +00:00
LinuxServer-CI
95d58758bc
Bot Updating Templated Files 2025-01-30 06:45:48 +00:00
quietsy
31d4e984db
Merge pull request #29 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-23 09:30:15 +02:00
LinuxServer-CI
e1e5f3d3b2
Bot Updating Package Versions 2025-01-23 06:48:31 +00:00
quietsy
0fa68ce177 Add categories to readme-vars.yml 2025-01-22 22:43:30 +02:00
LinuxServer-CI
afd9a1f48a
Bot Updating Package Versions 2025-01-08 20:06:44 +00:00
LinuxServer-CI
b2968866dd
Bot Updating Templated Files 2025-01-08 20:03:59 +00:00
LinuxServer-CI
dac428eccb
Bot Updating Templated Files 2025-01-08 20:02:13 +00:00
Adam
bff2f9623f
Merge pull request #26 from ItsMeRitch/patch-1 2025-01-08 20:00:13 +00:00
Adam
093556a0ba
Merge branch 'master' into patch-1 2025-01-08 18:49:12 +00:00
LinuxServer-CI
972f1256a8
Bot Updating Package Versions 2024-12-26 06:48:47 +00:00
LinuxServer-CI
63b70b146a
Bot Updating Package Versions 2024-12-19 06:57:07 +00:00
LinuxServer-CI
3b7ecaab32
Bot Updating Templated Files 2024-12-19 06:52:08 +00:00
LinuxServer-CI
bf17b76f0a
Bot Updating Templated Files 2024-12-19 06:50:21 +00:00
LinuxServer-CI
7c7016bf9b
Bot Updating Templated Files 2024-12-05 06:56:04 +00:00
LinuxServer-CI
0e45060eb4
Bot Updating Templated Files 2024-12-05 06:53:27 +00:00
LinuxServer-CI
59b75f25c0
Bot Updating Templated Files 2024-12-05 06:52:02 +00:00
LinuxServer-CI
7bad7db373
Bot Updating Package Versions 2024-11-28 06:51:41 +00:00
LinuxServer-CI
2a9bcacd95
Bot Updating Templated Files 2024-11-14 06:50:09 +00:00
LinuxServer-CI
d643909d3a
Bot Updating Templated Files 2024-11-14 06:48:46 +00:00
LinuxServer-CI
dd0db1aee7
Bot Updating Package Versions 2024-10-31 06:48:42 +00:00
LinuxServer-CI
181fbe6b25
Bot Updating Package Versions 2024-10-03 06:55:16 +00:00
LinuxServer-CI
af58456c42
Bot Updating Templated Files 2024-10-03 06:53:11 +00:00
LinuxServer-CI
5c632d2322
Bot Updating Templated Files 2024-10-03 06:51:57 +00:00
LinuxServer-CI
edc5f600f7
Bot Updating Templated Files 2024-10-03 06:49:56 +00:00
LinuxServer-CI
4aa97791aa
Bot Updating Package Versions 2024-09-14 16:13:34 +00:00
LinuxServer-CI
7ef49d1524
Bot Updating Package Versions 2024-09-14 16:11:37 +00:00
Eric Nemchik
2e1914e548
Merge pull request #27 from linuxserver/ipv6-listen
separate ipv6 listen in default site-conf
2024-09-14 09:09:29 -07:00
LinuxServer-CI
dd169e6380
Bot Updating Package Versions 2024-09-12 06:47:28 +00:00
LinuxServer-CI
4fe2c20455
Bot Updating Package Versions 2024-08-29 06:46:26 +00:00
LinuxServer-CI
3825fbaec5
Bot Updating Templated Files 2024-08-22 06:47:13 +00:00
LinuxServer-CI
e6b1ca58c4 Bot Updating Templated Files 2024-08-22 06:45:56 +00:00
LinuxServer-CI
89c8f1590b Bot Updating Package Versions 2024-08-15 06:46:27 +00:00
LinuxServer-CI
529e2d44a3 Bot Updating Package Versions 2024-08-12 13:52:36 +00:00
Adam
66ac3c4638
Merge pull request #28 from linuxserver/repo-move 2024-08-12 14:49:53 +01:00
thespad
741359b503
Update repo location 2024-08-12 14:44:13 +01:00
LinuxServer-CI
3e68060023 Bot Updating Package Versions 2024-08-08 06:45:21 +00:00
LinuxServer-CI
65814b3453 Bot Updating Package Versions 2024-08-01 06:46:27 +00:00
LinuxServer-CI
c4236d1520 Bot Updating Package Versions 2024-07-19 15:27:21 +00:00
LinuxServer-CI
87f6ab3ca6 Bot Updating Package Versions 2024-07-18 06:48:44 +00:00
LinuxServer-CI
5516cc8c41 Bot Updating Templated Files 2024-07-18 06:46:25 +00:00
LinuxServer-CI
e5acaae35f Bot Updating Templated Files 2024-07-18 06:44:52 +00:00
Eric Nemchik
23ba9f6823
separate ipv6 listen in default site-conf 2024-07-16 20:32:04 -05:00
LinuxServer-CI
49f5af5b56 Bot Updating Package Versions 2024-07-11 06:44:09 +00:00
LinuxServer-CI
e38ee5b5b5 Bot Updating Package Versions 2024-07-04 06:44:41 +00:00
ItsMeRitch
4f8a1c88b9
Update readme-vars.yml
Myself and some other users reported issues with the software working out of the box on LAN only. This is resolved by commenting out the proxy_set_header in the nginx config. Adding some clear guidance on this would reduce issues opened and help future users
2024-06-30 17:41:23 +01:00
LinuxServer-CI
a38a124e96 Bot Updating Package Versions 2024-06-20 06:43:43 +00:00
LinuxServer-CI
680057bd67 Bot Updating Package Versions 2024-06-13 06:44:19 +00:00
LinuxServer-CI
2ed6072462 Bot Updating Package Versions 2024-05-31 19:10:15 +00:00
Adam
c01a24b8bc
Merge pull request #25 from linuxserver/3.20
Rebase to 3.20
2024-05-31 20:08:09 +01:00
thespad
fb758e0f40
Rebase to 3.20 2024-05-31 17:42:37 +01:00
LinuxServer-CI
eb8022200a Bot Updating Package Versions 2024-05-30 06:44:09 +00:00
LinuxServer-CI
49892cd704 Bot Updating Package Versions 2024-05-23 06:47:33 +00:00
LinuxServer-CI
d69f72d6d2 Bot Updating Templated Files 2024-05-23 06:45:10 +00:00
LinuxServer-CI
072e0a88c0 Bot Updating Templated Files 2024-05-23 06:43:36 +00:00
LinuxServer-CI
d4f2b014ab Bot Updating Package Versions 2024-05-16 06:45:07 +00:00
LinuxServer-CI
d8604d68c0 Bot Updating Templated Files 2024-05-16 06:42:37 +00:00
LinuxServer-CI
2499bfba57 Bot Updating Templated Files 2024-05-09 06:42:08 +00:00
LinuxServer-CI
0653f60eda Bot Updating Package Versions 2024-05-02 06:43:32 +00:00
LinuxServer-CI
1ff4313cb2 Bot Updating Templated Files 2024-05-02 06:41:08 +00:00
LinuxServer-CI
00d14beddd Bot Updating Package Versions 2024-04-25 06:42:27 +00:00
LinuxServer-CI
d33091ef5f Bot Updating Package Versions 2024-04-18 06:42:43 +00:00
LinuxServer-CI
1d5708aa4a Bot Updating Package Versions 2024-04-11 06:42:02 +00:00
LinuxServer-CI
231399b35d Bot Updating Package Versions 2024-04-04 06:43:02 +00:00
LinuxServer-CI
24e35b1b85 Bot Updating Package Versions 2024-03-28 06:43:28 +00:00
LinuxServer-CI
1ae55da62d Bot Updating Package Versions 2024-03-21 06:43:05 +00:00
LinuxServer-CI
28e02a0447 Bot Updating Templated Files 2024-03-14 06:41:31 +00:00
LinuxServer-CI
c09bc4712b Bot Updating Package Versions 2024-03-07 06:41:59 +00:00
LinuxServer-CI
ac6b074c4a Bot Updating Package Versions 2024-02-29 06:46:31 +00:00
LinuxServer-CI
9b9f3e6366 Bot Updating Templated Files 2024-02-29 06:42:56 +00:00
LinuxServer-CI
9936f8e3a4 Bot Updating Templated Files 2024-02-29 06:41:13 +00:00
LinuxServer-CI
87a8a4d466 Bot Updating Package Versions 2024-02-15 06:42:03 +00:00
LinuxServer-CI
6399132c7d Bot Updating Package Versions 2024-02-07 03:08:44 +00:00
LinuxServer-CI
3c9368c12f Bot Updating Templated Files 2024-02-07 03:06:16 +00:00
Eric Nemchik
ab295b2631
Merge pull request #23 from linuxserver/nginx-cleanup
Cleanup default site conf
2024-02-06 21:03:08 -06:00
Eric Nemchik
b3738e5d92
Merge branch 'master' into nginx-cleanup 2024-02-06 21:03:02 -06:00
LinuxServer-CI
1d8438b101 Bot Updating Package Versions 2024-01-18 20:04:41 +00:00
LinuxServer-CI
ec91882059 Bot Updating Templated Files 2024-01-18 20:00:40 +00:00
Eric Nemchik
2a2c6e1b06
Merge pull request #22 from linuxserver/3.19
Rebase to Alpine 3.19
2024-01-18 13:58:59 -06:00
LinuxServer-CI
ac12ead8c5 Bot Updating Package Versions 2024-01-18 06:44:13 +00:00
LinuxServer-CI
f45b6d4740 Bot Updating Package Versions 2024-01-11 06:49:13 +00:00
LinuxServer-CI
d417461c9c Bot Updating Templated Files 2024-01-11 06:45:55 +00:00
LinuxServer-CI
13ade31bee Bot Updating Templated Files 2024-01-11 06:42:46 +00:00
LinuxServer-CI
7ed5dfad1a Bot Updating Package Versions 2023-12-28 06:41:55 +00:00
Eric Nemchik
a64ce93401
Cleanup default site conf
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-25 14:20:59 -06:00
Eric Nemchik
146b4f8c54
Rebase to Alpine 3.19
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-23 18:10:22 -06:00
LinuxServer-CI
8143d4b22d Bot Updating Package Versions 2023-12-14 06:44:30 +00:00
LinuxServer-CI
cca25968aa Bot Updating Package Versions 2023-12-07 06:42:33 +00:00
LinuxServer-CI
9fdb5ddb8e Bot Updating Package Versions 2023-11-28 19:57:49 +00:00
Eric Nemchik
aa5e885082
Merge pull request #21 from linuxserver/quiet-migration
only run migration if conf exists
2023-11-28 13:54:21 -06:00
Eric Nemchik
b52ef87b06
only run migration if conf exists
redirect stderr to /dev/null

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-25 10:42:32 -06:00
LinuxServer-CI
7fcf79defb Bot Updating Package Versions 2023-11-23 06:43:11 +00:00
LinuxServer-CI
9695c1d1fe Bot Updating Package Versions 2023-11-16 06:44:38 +00:00
LinuxServer-CI
b396c4f7e4 Bot Updating Templated Files 2023-11-16 06:42:40 +00:00
LinuxServer-CI
2bdd3bcf0e Bot Updating Package Versions 2023-11-02 06:42:43 +00:00
LinuxServer-CI
1f53b9ebd9 Bot Updating Package Versions 2023-10-26 06:43:53 +00:00
LinuxServer-CI
7e252c61fc Bot Updating Package Versions 2023-10-19 06:42:01 +00:00
LinuxServer-CI
4956b0fcbb Bot Updating Package Versions 2023-10-12 06:47:34 +00:00
LinuxServer-CI
b53f5e5dbf Bot Updating Templated Files 2023-10-12 06:44:06 +00:00
LinuxServer-CI
ede77bdb92 Bot Updating Templated Files 2023-10-12 06:42:37 +00:00
LinuxServer-CI
9cf2e9dad5 Bot Updating Package Versions 2023-10-05 06:42:09 +00:00
LinuxServer-CI
4fc3e7a615 Bot Updating Package Versions 2023-09-28 06:42:16 +00:00
LinuxServer-CI
7654054e5d Bot Updating Package Versions 2023-09-14 06:43:20 +00:00
LinuxServer-CI
6eb54ac6c5 Bot Updating Package Versions 2023-09-07 06:43:17 +00:00
Roxedus
41b6c03a32
Merge pull request #20 from linuxserver/not-start-fpm 2023-08-25 12:39:16 +02:00
Roxedus
98c0a6e2a1
Dont start fpm-php 2023-08-25 08:58:26 +02:00
LinuxServer-CI
18290734eb Bot Updating Package Versions 2023-08-24 06:42:11 +00:00
LinuxServer-CI
c0f16cbe77 Bot Updating Package Versions 2023-08-17 06:52:18 +00:00
LinuxServer-CI
edb36fc5ac Bot Updating Package Versions 2023-08-17 06:49:20 +00:00
LinuxServer-CI
7b6b929f32 Bot Updating Package Versions 2023-08-17 06:47:23 +00:00
LinuxServer-CI
d1ca01cd6b Bot Updating Package Versions 2023-08-17 06:45:16 +00:00
LinuxServer-CI
ad53525328 Bot Updating Package Versions 2023-08-17 06:42:56 +00:00
LinuxServer-CI
b72ca2a7f9 Bot Updating Package Versions 2023-08-10 06:41:44 +00:00
LinuxServer-CI
c0c8ed4484 Bot Updating Package Versions 2023-08-03 06:42:57 +00:00
LinuxServer-CI
277d31f5ee Bot Updating Package Versions 2023-07-26 08:29:19 +00:00
LinuxServer-CI
4861b9e706 Bot Updating Templated Files 2023-07-26 08:27:02 +00:00
Roxedus
3968fc563d
Merge pull request #18 from linuxserver/ci-port 2023-07-26 10:24:39 +02:00
Roxedus
6f9a9a70fb
Change CI port to reflect real deployment 2023-07-26 10:03:45 +02:00
LinuxServer-CI
e3b48f9eef Bot Updating Package Versions 2023-07-20 06:41:53 +00:00
LinuxServer-CI
f4ed5ebf0e Bot Updating Package Versions 2023-07-13 06:45:20 +00:00
LinuxServer-CI
03615e3dee Bot Updating Package Versions 2023-07-06 06:50:26 +00:00
LinuxServer-CI
973ffcb095 Bot Updating Templated Files 2023-07-06 06:48:23 +00:00
LinuxServer-CI
2b835a9bb3 Bot Updating Package Versions 2023-06-29 06:45:27 +00:00
LinuxServer-CI
817c6d7dd1 Bot Updating Package Versions 2023-06-22 06:41:35 +00:00
LinuxServer-CI
ac81a1e3ca Bot Updating Package Versions 2023-06-15 06:41:29 +00:00
LinuxServer-CI
ed9cf731fb Bot Updating Package Versions 2023-06-08 06:42:53 +00:00
LinuxServer-CI
f953422ff1 Bot Updating Package Versions 2023-05-30 16:00:18 +00:00
Eric Nemchik
c6c9e7900f
Merge pull request #17 from linuxserver/3.18
Rebase to Alpine 3.18, deprecate armhf
2023-05-30 10:57:16 -05:00
Eric Nemchik
c39cf022c3
Dont show error if default site conf does not exist
Default site conf will be created later during init. The migration is only meant to fix pre-existing user files.
2023-05-30 09:06:10 -05:00
Eric Nemchik
e3b0ccb8db
Rebase to Alpine 3.18, deprecate armhf 2023-05-27 16:57:05 -05:00
LinuxServer-CI
35a50ca528 Bot Updating Package Versions 2023-05-25 06:45:26 +00:00
LinuxServer-CI
879e19acbc Bot Updating Templated Files 2023-05-25 06:42:12 +00:00
LinuxServer-CI
a3eb3ed998 Bot Updating Package Versions 2023-05-18 06:41:34 +00:00
LinuxServer-CI
29ba839ea7 Bot Updating Package Versions 2023-05-04 06:41:20 +00:00
LinuxServer-CI
dc2acde66b Bot Updating Package Versions 2023-04-27 06:44:38 +00:00
LinuxServer-CI
55462172ee Bot Updating Templated Files 2023-04-27 06:42:57 +00:00
LinuxServer-CI
f1910ccad6 Bot Updating Templated Files 2023-04-27 06:41:56 +00:00
LinuxServer-CI
9af71e364b Bot Updating Package Versions 2023-04-15 10:27:41 -05:00
Eric Nemchik
779f293cba
Merge pull request #16 from linuxserver/move-ssl-include
Move ssl.conf include to default.conf
2023-04-15 10:25:17 -05:00
Eric Nemchik
87cf21ee6e Move ssl.conf include to default.conf 2023-04-13 11:06:06 -05:00
LinuxServer-CI
3935af2a9e Bot Updating Package Versions 2023-04-07 08:49:14 +02:00
LinuxServer-CI
1bfbb80d73 Bot Updating Templated Files 2023-04-07 08:46:43 +02:00
LinuxServer-CI
7e1ce8f362 Bot Updating Templated Files 2023-04-07 08:45:15 +02:00
LinuxServer-CI
0ac6afa88a Bot Updating Templated Files 2023-04-07 01:43:47 -05:00
LinuxServer-CI
ddf8b0e14a Bot Updating Package Versions 2023-03-30 23:13:00 +02:00
LinuxServer-CI
1963a04306 Bot Updating Package Versions 2023-03-24 01:44:07 -05:00
LinuxServer-CI
1fe47a7967 Bot Updating Package Versions 2023-03-10 07:48:12 +01:00
LinuxServer-CI
d1353de4c3 Bot Updating Package Versions 2023-03-03 00:50:37 -06:00
LinuxServer-CI
2720d832c4 Bot Updating Templated Files 2023-03-03 00:46:27 -06:00
LinuxServer-CI
49c27db8b7 Bot Updating Package Versions 2023-02-24 00:47:50 -06:00
LinuxServer-CI
50821c53ea Bot Updating Templated Files 2023-02-17 08:02:39 -06:00
Eric Nemchik
f89f7e103b
Merge pull request #15 from linuxserver/nemchik-patch-1
Update readme-vars.yml
2023-02-17 08:01:02 -06:00
LinuxServer-CI
6997625bd5 Bot Updating Package Versions 2023-02-17 00:50:33 -06:00
LinuxServer-CI
f5031c51d4 Bot Updating Templated Files 2023-02-17 00:48:08 -06:00
LinuxServer-CI
e5b550ff0a Bot Updating Templated Files 2023-02-17 00:46:41 -06:00
Eric Nemchik
c63f73592b
Update readme-vars.yml 2023-02-13 09:31:17 -06:00
LinuxServer-CI
8501f134ed Bot Updating Package Versions 2023-02-10 00:48:06 -06:00
LinuxServer-CI
d81ac5abfe Bot Updating Package Versions 2023-02-03 00:46:03 -06:00
LinuxServer-CI
4ad11475a5 Bot Updating Package Versions 2023-01-23 10:49:32 -06:00
Eric Nemchik
7ab22652bd
Merge pull request #13 from linuxserver/3.17
Rebase to alpine 3.17 with php8.1
2023-01-23 10:47:20 -06:00
Eric Nemchik
1093b2a6d7 Remove notification-fd 2023-01-22 16:57:58 -06:00
Eric Nemchik
f6716d91f4 Fix lines 2023-01-22 16:56:30 -06:00
Eric Nemchik
d20adeb9b2 Fix executable bit again 2023-01-22 16:34:20 -06:00
Eric Nemchik
46998733a0 Add notification-fd 2023-01-22 16:18:08 -06:00
Eric Nemchik
1f55d67b79 Fix executable bit 2023-01-22 15:01:33 -06:00
Eric Nemchik
6c08df4c33 Rebase to alpine 3.17 with php8.1 2023-01-22 14:59:04 -06:00
LinuxServer-CI
7137045d25 Bot Updating Package Versions 2023-01-20 07:46:09 +01:00
Eric Nemchik
fd825d7848
Merge pull request #12 from linuxserver/format
Format shell scripts
2023-01-18 06:04:13 -06:00
Eric Nemchik
5e50586452 Format shell scripts 2023-01-15 09:49:20 -06:00
LinuxServer-CI
5de9713cfc Bot Updating Package Versions 2022-12-30 00:45:07 -06:00
LinuxServer-CI
b7f9841110 Bot Updating Templated Files 2022-12-02 00:49:13 -06:00
LinuxServer-CI
aa8a46fb03 Bot Updating Templated Files 2022-12-02 07:47:50 +01:00
LinuxServer-CI
9d3c73c4bc Bot Updating Templated Files 2022-12-02 07:46:40 +01:00
LinuxServer-CI
138356e4d7 Bot Updating Package Versions 2022-11-11 01:00:28 -06:00
LinuxServer-CI
21d529305d Bot Updating Templated Files 2022-11-11 00:58:06 -06:00
LinuxServer-CI
3925ac66f1 Bot Updating Package Versions 2022-11-04 01:54:12 -05:00
LinuxServer-CI
6e8ea8f6c4 Bot Updating Package Versions 2022-10-28 08:56:27 +02:00
LinuxServer-CI
9dc6be91f4 Bot Updating Package Versions 2022-10-21 09:10:37 +02:00
LinuxServer-CI
bfd8495dea Bot Updating Package Versions 2022-10-12 04:01:13 +02:00
Eric Nemchik
9a5dca36fd
Merge pull request #11 from linuxserver/fix-date
Update default.conf.sample
2022-10-07 12:41:40 -05:00
Eric Nemchik
a2c757b7c3
Update default.conf.sample 2022-10-06 14:43:15 -05:00
Eric Nemchik
716523047d
Merge pull request #10 from linuxserver/default_server
Add default_server
2022-10-05 05:35:32 -05:00
Eric Nemchik
e2d0b9ce78 Add default_server 2022-10-04 16:12:11 -05:00
LinuxServer-CI
ce8fd620f7 Bot Updating Package Versions 2022-09-23 02:20:22 -05:00
LinuxServer-CI
ed386c4cd6 Bot Updating Templated Files 2022-09-23 09:18:21 +02:00
LinuxServer-CI
ede1d0d86d Bot Updating Package Versions 2022-09-16 02:11:15 -05:00
LinuxServer-CI
884b9ae529 Bot Updating Package Versions 2022-09-09 09:07:06 +02:00
LinuxServer-CI
32abe449b4 Bot Updating Package Versions 2022-08-26 00:10:36 +02:00
Eric Nemchik
9f150c5e35
Merge pull request #8 from linuxserver/default-tweaks
nginx conf tweaks
2022-08-25 17:08:18 -05:00
Eric Nemchik
8c3cf3ae27 nginx conf tweaks 2022-08-23 09:29:54 -05:00
LinuxServer-CI
ff70a6e599 Bot Updating Package Versions 2022-08-22 08:11:42 -05:00
Eric Nemchik
9ede25c288
Merge pull request #6 from linuxserver/standard-base
Standard base
2022-08-22 08:09:19 -05:00
Eric Nemchik
95b174a865 Keep /config volume consistently 2022-08-21 17:05:51 -05:00
Eric Nemchik
760d6b3f4c Add default location migration 2022-08-20 18:55:17 -05:00
Eric Nemchik
599e7aec80 Use standard nginx.conf from lsio alpine nginx base image 2022-08-20 12:41:26 -05:00
LinuxServer-CI
5ab121ccc8 Bot Updating Package Versions 2022-08-19 08:56:02 +02:00
LinuxServer-CI
c100d1c10f Bot Updating Package Versions 2022-08-12 01:54:44 -05:00
LinuxServer-CI
2d7bbceadd Bot Updating Package Versions 2022-08-05 08:54:04 +02:00
LinuxServer-CI
93032d8d67 Bot Updating Package Versions 2022-07-29 08:54:23 +02:00
LinuxServer-CI
983fa9db75 Bot Updating Package Versions 2022-07-22 01:58:17 -05:00
LinuxServer-CI
6fe3ca0a3f Bot Updating Package Versions 2022-07-15 01:53:20 -05:00
LinuxServer-CI
5242aff99b Bot Updating Package Versions 2022-07-08 08:53:11 +02:00
LinuxServer-CI
35600c822c Bot Updating Package Versions 2022-07-01 01:54:43 -05:00
LinuxServer-CI
ab9b477cf7 Bot Updating Package Versions 2022-06-24 01:53:17 -05:00
LinuxServer-CI
3f2078442b Bot Updating Package Versions 2022-06-17 08:51:23 +02:00
LinuxServer-CI
da0c929629 Bot Updating Package Versions 2022-06-10 01:51:39 -05:00
LinuxServer-CI
98d23d0121 Bot Updating Package Versions 2022-06-02 07:36:03 -05:00
LinuxServer-CI
2e6e4392cf Bot Updating Package Versions 2022-05-27 01:55:56 -05:00
LinuxServer-CI
1c7b2e91bf Bot Updating Package Versions 2022-05-20 08:55:33 +02:00
LinuxServer-CI
cd3748e26d Bot Updating Package Versions 2022-05-13 08:58:52 +02:00
LinuxServer-CI
f4e165f558 Bot Updating Package Versions 2022-05-06 01:59:05 -05:00
LinuxServer-CI
21e75d48ad Bot Updating Templated Files 2022-05-06 01:56:49 -05:00
LinuxServer-CI
ecf9d1c7c4 Bot Updating Templated Files 2022-05-06 01:55:32 -05:00
LinuxServer-CI
f162d62695 Bot Updating Package Versions 2022-04-29 01:54:47 -05:00
LinuxServer-CI
0005fb3ce9 Bot Updating Package Versions 2022-04-15 08:53:25 +02:00
LinuxServer-CI
2ab9989890 Bot Updating Package Versions 2022-04-08 08:52:56 +02:00
LinuxServer-CI
1db9c3336e Bot Updating Package Versions 2022-04-01 01:53:09 -05:00
LinuxServer-CI
8aba899739 Bot Updating Package Versions 2022-03-25 07:52:16 +01:00
LinuxServer-CI
d2b558b3de Bot Updating Package Versions 2022-03-17 07:28:02 -05:00
LinuxServer-CI
c925e65165 Bot Updating Package Versions 2022-03-11 07:51:38 +01:00
LinuxServer-CI
9ee653aec1 Bot Updating Package Versions 2022-03-04 06:51:00 +00:00
LinuxServer-CI
aec42e1bac Bot Updating Package Versions 2022-02-25 07:50:48 +01:00
LinuxServer-CI
e6e76fe531 Bot Updating Package Versions 2022-02-18 07:50:32 +01:00
LinuxServer-CI
de8d112a5f Bot Updating Package Versions 2022-02-11 07:50:31 +01:00
LinuxServer-CI
16dfa2b589 Bot Updating Package Versions 2022-02-04 07:43:42 +01:00
LinuxServer-CI
e6bcf1f868 Bot Updating Package Versions 2022-01-28 07:51:36 +01:00
LinuxServer-CI
c18d95874c Bot Updating Package Versions 2022-01-21 07:50:51 +01:00
LinuxServer-CI
419f45f3f0 Bot Updating Package Versions 2021-12-24 07:54:28 +01:00
LinuxServer-CI
c43a82a3fa Bot Updating Templated Files 2021-12-17 07:54:12 +01:00
LinuxServer-CI
0d5b1a32fc Bot Updating Templated Files 2021-12-17 07:53:06 +01:00
LinuxServer-CI
56b77ab53a Bot Updating Package Versions 2021-11-26 07:53:07 +01:00
LinuxServer-CI
a9e6cdda2d Bot Updating Package Versions 2021-11-19 07:52:52 +01:00
LinuxServer-CI
8ef0a49d38 Bot Updating Package Versions 2021-11-12 07:52:48 +01:00
LinuxServer-CI
23dea3f865 Bot Updating Package Versions 2021-10-29 08:52:30 +02:00
LinuxServer-CI
2ea5b9a809 Bot Updating Package Versions 2021-10-22 08:52:05 +02:00
LinuxServer-CI
03705dcd20 Bot Updating Package Versions 2021-10-08 08:54:33 +02:00
LinuxServer-CI
cf670496aa Bot Updating Templated Files 2021-10-08 08:52:29 +02:00
LinuxServer-CI
f8412231b4 Bot Updating Templated Files 2021-10-08 08:51:27 +02:00
LinuxServer-CI
c2845ec9cd Bot Updating Package Versions 2021-10-01 08:51:44 +02:00
LinuxServer-CI
e39bef840f Bot Updating Package Versions 2021-09-24 08:51:48 +02:00
LinuxServer-CI
271cb4ea71 Bot Updating Package Versions 2021-09-17 08:51:31 +02:00
LinuxServer-CI
f6cd8c377f Bot Updating Package Versions 2021-09-03 08:53:13 +02:00
LinuxServer-CI
ebc04a8d14 Bot Updating Package Versions 2021-08-27 08:54:01 +02:00
LinuxServer-CI
e1c7b3e199 Bot Updating Templated Files 2021-08-27 08:52:01 +02:00
LinuxServer-CI
38d77e2414 Bot Updating Package Versions 2021-08-12 16:14:44 +02:00
LinuxServer-CI
2ccc5aba35 Bot Updating Package Versions 2021-08-10 20:30:12 +02:00
LinuxServer-CI
d45cb5f9fd Bot Updating Templated Files 2021-08-10 20:27:56 +02:00
Roxedus
f4f05f2792
Merge pull request #5 from linuxserver/3.14 2021-08-10 20:26:29 +02:00
Adam
b638db1282
Update changelog 2021-08-10 13:05:53 +01:00
TheSpad
6f622599a9 Add notes about real_ip settings for internet-facing installs 2021-08-09 17:46:20 +01:00
TheSpad
86e6ceecc0 Rebase to 3.14. Fix some lingering connection issues. 2021-08-09 12:40:21 +01:00
LinuxServer-CI
c57356bc72 Bot Updating Package Versions 2021-08-06 08:56:24 +02:00
LinuxServer-CI
bfa3860a73 Bot Updating Package Versions 2021-07-30 08:56:13 +02:00
LinuxServer-CI
6df291cd19 Bot Updating Package Versions 2021-07-09 06:59:37 +00:00
LinuxServer-CI
f783857958 Bot Updating Templated Files 2021-07-02 02:56:30 -04:00
LinuxServer-CI
373db8b582 Bot Updating Templated Files 2021-07-02 06:55:23 +00:00
LinuxServer-CI
953957902e Bot Updating Package Versions 2021-06-18 03:04:06 -04:00
LinuxServer-CI
69e6fb3579 Bot Updating Package Versions 2021-06-11 07:02:50 +00:00
LinuxServer-CI
422db08308 Bot Updating Package Versions 2021-06-04 08:35:22 +00:00
LinuxServer-CI
f066b2d37c Bot Updating Package Versions 2021-05-28 07:50:19 +00:00
LinuxServer-CI
7982c6ed8f Bot Updating Templated Files 2021-04-23 07:00:50 +00:00
LinuxServer-CI
8aa8c5b4eb Bot Updating Package Versions 2021-04-16 07:02:45 +00:00
LinuxServer-CI
6545665b8d Bot Updating Templated Files 2021-04-16 07:58:07 +01:00
LinuxServer-CI
b7461d9bcb Bot Updating Templated Files 2021-04-16 06:56:43 +00:00
LinuxServer-CI
26cecd62d2 Bot Updating Package Versions 2021-04-08 18:48:55 +01:00
LinuxServer-CI
746207ccb2 Bot Updating Package Versions 2021-04-02 07:02:35 +00:00
LinuxServer-CI
16e5094b2b Bot Updating Package Versions 2021-03-12 01:57:34 -05:00
LinuxServer-CI
b1cf5853eb Bot Updating Package Versions 2021-02-26 06:56:24 +00:00
LinuxServer-CI
28ef8f6622 Bot Updating Package Versions 2021-02-19 06:56:04 +00:00
LinuxServer-CI
d886bc42a7 Bot Updating Package Versions 2021-02-12 01:57:50 -05:00
LinuxServer-CI
50ba5b6a49 Bot Updating Templated Files 2021-02-12 06:54:13 +00:00
LinuxServer-CI
30710df802 Bot Updating Templated Files 2021-02-12 06:52:37 +00:00
LinuxServer-CI
2e551432c4 Bot Updating Package Versions 2021-01-16 21:33:50 +00:00
LinuxServer-CI
cb3d79882e Bot Updating Templated Files 2021-01-16 21:29:39 +00:00
LinuxServer-CI
e8cb8074a8 Bot Updating Package Versions 2021-01-11 03:02:50 +00:00
LinuxServer-CI
de5796d01b Bot Updating Package Versions 2020-12-26 07:40:14 -05:00
LinuxServer-CI
250f6feee7 Bot Updating Templated Files 2020-12-26 12:37:30 +00:00
LinuxServer-CI
b751c5d05a Bot Updating Templated Files 2020-12-26 07:36:00 -05:00
Eric Nemchik
e86f6d3349
Merge pull request #4 from Erwyn/patch-1
Update X-Forwarded-For header instead of overriding it
2020-12-26 06:34:48 -06:00
Martin Goyot
d07b0fcb01
Update X-Forwarded-For header instead of overriding it
When this container is behind a reverse proxy itself it overrides the incoming `X-Forwarded-For` header from the downstream reverse proxy. This is problematic because Snadrop heavily relies on this information to create rooms.
2020-12-25 19:53:11 +01:00
LinuxServer-CI
2e218c0485 Bot Updating Package Versions 2020-11-02 16:18:11 +00:00
LinuxServer-CI
e22072d111 Bot Updating Templated Files 2020-11-02 10:49:50 -05:00
LinuxServer-CI
b2a9aef643 Bot Updating Templated Files 2020-11-02 10:33:59 -05:00
thelamer
9142427cf4 update baseimages 2020-11-02 07:28:16 -08:00
Alex Phillips
71446fb7c2
Merge pull request #2 from linuxserver/fix-jenkins-type
Fix jenkins type
2020-09-17 13:26:15 -04:00
alex-phillips
43f7291e8d Removed readme.lite 2020-09-17 13:15:37 -04:00
alex-phillips
03043abed6 added /config volume mount 2020-09-17 12:15:53 -04:00
alex-phillips
4fb4b11aa5 Removed readme.lite 2020-09-17 09:33:15 -04:00
alex-phillips
7ff41526ea updated with latest jenkins builder 2020-09-17 09:29:22 -04:00
alex-phillips
3780aec8ad update generated docs 2020-09-17 09:25:07 -04:00
alex-phillips
bf13ee916b Added logo 2020-09-17 09:18:37 -04:00
alex-phillips
e3600b7140 updated docs 2020-09-16 15:23:40 -04:00
alex-phillips
00ada6b423 swapped stable for commit since they aren't tagging proper releases 2020-09-16 15:23:16 -04:00
41 changed files with 987 additions and 1164 deletions

20
.editorconfig Executable 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

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

@ -0,0 +1,123 @@
# Contributing to snapdrop
## 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-snapdrop/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-snapdrop)
### 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-snapdrop.git
cd docker-snapdrop
docker build \
--no-cache \
--pull \
-t linuxserver/snapdrop: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-snapdrop/tree/master/root), add an entry to the changelog
```yml
changelogs:
- { date: "DD.MM.YY:", desc: "Added some love to templates" }
```

View File

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

13
.github/ISSUE_TEMPLATE/config.yml vendored Executable 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-snapdrop
about: Documentation - information about all of our containers.

14
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Executable file
View File

@ -0,0 +1,14 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: markdown
attributes:
value: |
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Consider switching to https://github.com/linuxserver/docker-pairdrop for similar functionality

14
.github/ISSUE_TEMPLATE/issue.feature.yml vendored Executable file
View File

@ -0,0 +1,14 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Consider switching to https://github.com/linuxserver/docker-pairdrop for similar functionality

View File

@ -1,12 +1,17 @@
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Consider switching to https://github.com/linuxserver/docker-pairdrop for similar functionality
<!--- 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 or documentation in the README please file an issue and let us sort it out we do not need a PR -->
<!--- 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 -->
@ -21,7 +26,11 @@
------------------------------
We welcome all PRs though this doesnt guarantee it will be accepted.
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-snapdrop/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 -->

View File

@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-snapdrop/.github/ISSUE_TEMPLATE.md)!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-snapdrop/.github/PULL_REQUEST_TEMPLATE.md)!'
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-snapdrop/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

12
.github/workflows/permissions.yml vendored Executable 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

View File

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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.jenkins-external

View File

@ -1,4 +1,6 @@
FROM lsiobase/nginx:3.12
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.20
# set version label
ARG BUILD_DATE
@ -12,32 +14,37 @@ ENV HOME="/app"
ENV NODE_ENV="production"
RUN \
echo "**** install build packages ****" && \
apk add --no-cache \
nodejs \
npm && \
apk add --no-cache --virtual=build-dependencies \
curl && \
echo "**** install snapdrop ****" && \
mkdir -p /app/snapdrop && \
if [ -z ${SNAPDROP_RELEASE} ]; then \
SNAPDROP_RELEASE=$(curl -sX GET "https://api.github.com/repos/RobinLinus/snapdrop/commits/master" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/snapdrop.tar.gz -L \
"https://github.com/RobinLinus/snapdrop/archive/${SNAPDROP_RELEASE}.tar.gz" && \
tar xf \
/tmp/snapdrop.tar.gz -C \
/app/snapdrop/ --strip-components=1 && \
cd /app/snapdrop/server && \
npm i && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.cache \
/tmp/*
echo "**** install runtime packages ****" && \
apk add --no-cache \
nodejs \
npm && \
echo "**** install snapdrop ****" && \
mkdir -p /app/www && \
if [ -z ${SNAPDROP_RELEASE} ]; then \
SNAPDROP_RELEASE=$(curl -sX GET "https://api.github.com/repos/snapdrop/snapdrop/commits/master" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/snapdrop.tar.gz -L \
"https://github.com/snapdrop/snapdrop/archive/${SNAPDROP_RELEASE}.tar.gz" && \
tar xf \
/tmp/snapdrop.tar.gz -C \
/app/www/ --strip-components=1 && \
cd /app/www/server && \
npm i && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
rm -rf \
/etc/logrotate.d/php-fpm \
/etc/s6-overlay/s6-rc.d/svc-php-fpm \
/etc/s6-overlay/s6-rc.d/user/contents.d/svc-php-fpm \
/tmp/* \
$HOME/.cache
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 80 443
VOLUME /config

View File

@ -1,4 +1,6 @@
FROM lsiobase/nginx:arm64v8-3.12
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.20
# set version label
ARG BUILD_DATE
@ -12,32 +14,37 @@ ENV HOME="/app"
ENV NODE_ENV="production"
RUN \
echo "**** install build packages ****" && \
apk add --no-cache \
nodejs \
npm && \
apk add --no-cache --virtual=build-dependencies \
curl && \
echo "**** install snapdrop ****" && \
mkdir -p /app/snapdrop && \
if [ -z ${SNAPDROP_RELEASE} ]; then \
SNAPDROP_RELEASE=$(curl -sX GET "https://api.github.com/repos/RobinLinus/snapdrop/commits/master" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/snapdrop.tar.gz -L \
"https://github.com/RobinLinus/snapdrop/archive/${SNAPDROP_RELEASE}.tar.gz" && \
tar xf \
/tmp/snapdrop.tar.gz -C \
/app/snapdrop/ --strip-components=1 && \
cd /app/snapdrop/server && \
npm i && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.cache \
/tmp/*
echo "**** install runtime packages ****" && \
apk add --no-cache \
nodejs \
npm && \
echo "**** install snapdrop ****" && \
mkdir -p /app/www && \
if [ -z ${SNAPDROP_RELEASE} ]; then \
SNAPDROP_RELEASE=$(curl -sX GET "https://api.github.com/repos/snapdrop/snapdrop/commits/master" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/snapdrop.tar.gz -L \
"https://github.com/snapdrop/snapdrop/archive/${SNAPDROP_RELEASE}.tar.gz" && \
tar xf \
/tmp/snapdrop.tar.gz -C \
/app/www/ --strip-components=1 && \
cd /app/www/server && \
npm i && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
rm -rf \
/etc/logrotate.d/php-fpm \
/etc/s6-overlay/s6-rc.d/svc-php-fpm \
/etc/s6-overlay/s6-rc.d/user/contents.d/svc-php-fpm \
/tmp/* \
$HOME/.cache
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 80 443
VOLUME /config

View File

@ -1,43 +0,0 @@
FROM lsiobase/nginx:arm32v7-3.12
# set version label
ARG BUILD_DATE
ARG VERSION
ARG SNAPDROP_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="alex-phillips"
# environment settings
ENV HOME="/app"
ENV NODE_ENV="production"
RUN \
echo "**** install build packages ****" && \
apk add --no-cache \
nodejs \
npm && \
apk add --no-cache --virtual=build-dependencies \
curl && \
echo "**** install snapdrop ****" && \
mkdir -p /app/snapdrop && \
if [ -z ${SNAPDROP_RELEASE} ]; then \
SNAPDROP_RELEASE=$(curl -sX GET "https://api.github.com/repos/RobinLinus/snapdrop/commits/master" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/snapdrop.tar.gz -L \
"https://github.com/RobinLinus/snapdrop/archive/${SNAPDROP_RELEASE}.tar.gz" && \
tar xf \
/tmp/snapdrop.tar.gz -C \
/app/snapdrop/ --strip-components=1 && \
cd /app/snapdrop/server && \
npm i && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.cache \
/tmp/*
# copy local files
COPY root/ /

756
Jenkinsfile vendored
View File

@ -1,756 +0,0 @@
pipeline {
agent {
label 'X86-64-MULTI'
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', daysToKeepStr: '60'))
parallelsAlwaysFailFast()
}
// Input to determine if this is a package check
parameters {
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
}
// Configuration for the variables used for this specific repo
environment {
BUILDS_DISCORD=credentials('build_webhook_url')
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
EXT_GIT_BRANCH = 'master'
EXT_USER = 'RobinLinus'
EXT_REPO = 'snapdrop'
BUILD_VERSION_ARG = 'SNAPDROP_VERSION'
LS_USER = 'linuxserver'
LS_REPO = 'docker-snapdrop'
CONTAINER_NAME = 'snapdrop'
DOCKERHUB_IMAGE = 'linuxserver/snapdrop'
DEV_DOCKERHUB_IMAGE = 'lsiodev/snapdrop'
PR_DOCKERHUB_IMAGE = 'lspipepr/snapdrop'
DIST_IMAGE = 'alpine'
MULTIARCH='true'
CI='true'
CI_WEB='true'
CI_PORT='3000'
CI_SSL='false'
CI_DELAY='120'
CI_DOCKERENV='TZ=US/Pacific'
CI_AUTH='user:password'
CI_WEBPATH=''
}
stages {
// Setup all the basic environment variables needed for the build
stage("Set ENV Variables base"){
steps{
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
returnStdout: true).trim()
env.GITHUB_DATE = sh(
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
returnStdout: true).trim()
env.COMMIT_SHA = sh(
script: '''git rev-parse HEAD''',
returnStdout: true).trim()
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml'
}
script{
env.LS_RELEASE_NUMBER = sh(
script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''',
returnStdout: true).trim()
}
script{
env.LS_TAG_NUMBER = sh(
script: '''#! /bin/bash
tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null)
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
echo ${LS_RELEASE_NUMBER}
elif [ -z "${GIT_COMMIT}" ]; then
echo ${LS_RELEASE_NUMBER}
else
echo $((${LS_RELEASE_NUMBER} + 1))
fi''',
returnStdout: true).trim()
}
}
}
/* #######################
Package Version Tagging
####################### */
// Grab the current package versions in Git to determine package tag
stage("Set Package tag"){
steps{
script{
env.PACKAGE_TAG = sh(
script: '''#!/bin/bash
if [ -e package_versions.txt ] ; then
cat package_versions.txt | md5sum | cut -c1-8
else
echo none
fi''',
returnStdout: true).trim()
}
}
}
/* ########################
External Release Tagging
######################## */
// If this is a stable github release use the latest endpoint from github to determine the ext tag
stage("Set ENV github_stable"){
steps{
script{
env.EXT_RELEASE = sh(
script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
returnStdout: true).trim()
}
}
}
// If this is a stable or devel github release generate the link for the build message
stage("Set ENV github_link"){
steps{
script{
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE
}
}
}
// Sanitize the release tag and strip illegal docker or github characters
stage("Sanitize tag"){
steps{
script{
env.EXT_RELEASE_CLEAN = sh(
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
returnStdout: true).trim()
}
}
}
// If this is a master build use live docker endpoints
stage("Set ENV live build"){
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
}
}
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "master"}
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
}
// If this is a pull request build use dev docker endpoints
stage("Set ENV PR build"){
when {
not {environment name: 'CHANGE_ID', value: ''}
}
steps {
script{
env.IMAGE = env.PR_DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
}
}
}
// Run ShellCheck
stage('ShellCheck') {
when {
environment name: 'CI', value: 'true'
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
]) {
script{
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
}
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
sh '''#! /bin/bash
set -e
docker pull lsiodev/spaces-file-upload:latest
docker run --rm \
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
-e FILE_NAME="shellcheck-result.xml" \
-e MIMETYPE="text/xml" \
-v ${WORKSPACE}:/mnt \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-t lsiodev/spaces-file-upload:latest \
python /upload.py'''
}
}
}
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
}
}
steps {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
cd ${TEMPDIR}/repo/${LS_REPO}/
git add ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
env.CONTAINER_NAME != null
}
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
/* #######################
GitLab Mirroring
####################### */
// Ping into Gitlab to mirror this repo and have a registry endpoint
stage("GitLab Mirror"){
when {
environment name: 'EXIT_STATUS', value: ''
}
steps{
sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
"name":"'${LS_REPO}'",
"mirror":true,\
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
"issues_access_level":"disabled",\
"merge_requests_access_level":"disabled",\
"repository_access_level":"enabled",\
"visibility":"public"}' '''
}
}
/* ###############
Build Container
############### */
// Build Docker container for push to LS Repo
stage('Build-Single') {
when {
environment name: 'MULTIARCH', value: 'false'
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
// Build MultiArch Docker containers for push to LS Repo
stage('Build-Multi') {
when {
environment name: 'MULTIARCH', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
parallel {
stage('Build X86') {
steps {
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
stage('Build ARMHF') {
agent {
label 'ARMHF'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
stage('Build ARM64') {
agent {
label 'ARM64'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
}
}
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
if [ "${MULTIARCH}" == "true" ]; then
LOCAL_CONTAINER=${IMAGE}:amd64-${META_TAG}
else
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
fi
if [ "${DIST_IMAGE}" == "alpine" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apk info -v > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
fi
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
git add package_versions.txt
git commit -m 'Bot Updating Package Versions'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process"
else
echo "false" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag is same as previous continue with build process"
fi
rm -Rf ${TEMPDIR}'''
script{
env.PACKAGE_UPDATED = sh(
script: '''cat /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
expression {
params.PACKAGE_CHECK == 'true'
}
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
/* #######
Testing
####### */
// Run Container tests
stage('Test') {
when {
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
]) {
script{
env.CI_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
}
sh '''#! /bin/bash
set -e
docker pull lsiodev/ci:latest
if [ "${MULTIARCH}" == "true" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
docker run --rm \
--shm-size=1gb \
-v /var/run/docker.sock:/var/run/docker.sock \
-e IMAGE=\"${IMAGE}\" \
-e DELAY_START=\"${CI_DELAY}\" \
-e TAGS=\"${CI_TAGS}\" \
-e META_TAG=\"${META_TAG}\" \
-e PORT=\"${CI_PORT}\" \
-e SSL=\"${CI_SSL}\" \
-e BASE=\"${DIST_IMAGE}\" \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-e DOCKER_ENV=\"${CI_DOCKERENV}\" \
-e WEB_SCREENSHOT=\"${CI_WEB}\" \
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \
-t lsiodev/ci:latest \
python /ci/ci.py'''
}
}
}
/* ##################
Release Logic
################## */
// If this is an amd64 only image only push a single image
stage('Docker-Push-Single') {
when {
environment name: 'MULTIARCH', value: 'false'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:${META_TAG}
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:latest || :
done
'''
}
}
}
// If this is a multi arch release push all images and define the manifest
stage('Docker-Push-Multi') {
when {
environment name: 'MULTIARCH', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
if [ "${CI}" == "false" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
done
docker tag ${IMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:latest
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${META_TAG}
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-latest
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-latest
docker push ${GITHUBIMAGE}:amd64-${META_TAG}
docker push ${GITHUBIMAGE}:arm32v7-${META_TAG}
docker push ${GITHUBIMAGE}:arm64v8-${META_TAG}
docker push ${GITHUBIMAGE}:latest
docker push ${GITHUBIMAGE}:${META_TAG}
docker push ${GITHUBIMAGE}:arm32v7-latest
docker push ${GITHUBIMAGE}:arm64v8-latest
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest || :
done
docker rmi \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
'''
}
}
}
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "master"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "master",\
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}
}
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
when {
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
docker pull lsiodev/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
lsiodev/readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} '''
}
}
}
// If this is a Pull request send the CI link as a comment on it
stage('Pull Request Comment') {
when {
not {environment name: 'CHANGE_ID', value: ''}
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
-d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' '''
}
}
}
/* ######################
Send status to Discord
###################### */
post {
always {
script{
if (env.EXIT_STATUS == "ABORTED"){
sh 'echo "build aborted"'
}
else if (currentBuild.currentResult == "SUCCESS"){
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
else {
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
}
}
cleanup {
cleanWs()
}
}
}

271
README.md
View File

@ -1,7 +1,9 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-snapdrop/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://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://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![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.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![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.")
@ -9,102 +11,121 @@
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
* regular and timely application updates
* 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
* regular and timely application updates
* 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://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [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
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Consider switching to https://github.com/linuxserver/docker-pairdrop for similar functionality
# [linuxserver/snapdrop](https://github.com/linuxserver/docker-snapdrop)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fsnapdrop?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-snapdrop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-snapdrop)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-snapdrop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-snapdrop/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-snapdrop/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-snapdrop/container_registry)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/snapdrop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/snapdrop "Get your own version badge on microbadger.com")
[![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-snapdrop/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/snapdrop)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/snapdrop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/snapdrop)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/snapdrop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/snapdrop)
[![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-snapdrop%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-snapdrop/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%2Flsio-ci.ams3.digitaloceanspaces.com%2Flinuxserver%2Fsnapdrop%2Flatest%2Fci-status.yml)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/snapdrop/latest/index.html)
[![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%2Fsnapdrop%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/snapdrop/latest/index.html)
[Snapdrop](https://github.com/RobinLinus/snapdrop) A local file sharing in your browser. Inspired by Apple's Airdrop.
[Snapdrop](https://github.com/snapdrop/snapdrop) A local file sharing in your browser. Inspired by Apple's Airdrop.
[![snapdrop]()](https://github.com/RobinLinus/snapdrop)
[![snapdrop](https://raw.githubusercontent.com/snapdrop/snapdrop/master/client/images/logo_transparent_512x512.png)](https://github.com/snapdrop/snapdrop)
## Supported Architectures
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
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 `linuxserver/snapdrop` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `lscr.io/linuxserver/snapdrop: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 | Tag |
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ❌ | |
## Application Setup
Webui is accessible at http://SERVERIP:PORT
If only using locally, comment out the following line in /config/nginx/site-confs/default.conf for local discovery:
```
proxy_set_header X-Forwarded-for $remote_addr;
```
## Usage
Here are some example snippets to help you get started creating a container.
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
### docker
>[!NOTE]
>Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided.
```
docker create \
--name=snapdrop \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 80:80 \
-p 443:443 \
--restart unless-stopped \
linuxserver/snapdrop
```
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
### docker-compose
Compatible with docker-compose v2 schemas.
```
```yaml
---
version: "2.1"
services:
snapdrop:
image: linuxserver/snapdrop
image: lscr.io/linuxserver/snapdrop:latest
container_name: snapdrop
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- TZ=Etc/UTC
volumes:
- /path/to/snapdrop/config:/config
ports:
- 80:80
- 443:443
restart: unless-stopped
```
### docker cli ([click here for more info](https://docs.docker.com/engine/reference/commandline/cli/))
```bash
docker run -d \
--name=snapdrop \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-p 80:80 \
-p 443:443 \
-v /path/to/snapdrop/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/snapdrop:latest
```
## Parameters
Container images 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.
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.
| Parameter | Function |
| :----: | --- |
| `-p 80` | http gui |
| `-p 443` | https gui |
| `-p 80:80` | http gui |
| `-p 443:443` | https gui |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
| `-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 |
## Environment variables from files (Docker secrets)
@ -112,11 +133,11 @@ You can set any environment variable from a file by using a special prepend `FIL
As an example:
```
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```bash
-e FILE__MYVAR=/run/secrets/mysecretvariable
```
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
## Umask for running applications
@ -125,88 +146,156 @@ Keep in mind umask is not chmod it subtracts from permissions based on it's valu
## User / Group Identifiers
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`.
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 user` as below:
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
```
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
```bash
id your_user
```
Example output:
&nbsp;
```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=mods&query=%24.mods%5B%27snapdrop%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=snapdrop "view available mods for this container.")
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) can be accessed via the dynamic badge above.
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=snapdrop&query=%24.mods%5B%27snapdrop%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=snapdrop "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: `docker exec -it snapdrop /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f snapdrop`
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' snapdrop`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/snapdrop`
* Shell access whilst the container is running:
```bash
docker exec -it snapdrop /bin/bash
```
* To monitor the logs of the container in realtime:
```bash
docker logs -f snapdrop
```
* Container version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' snapdrop
```
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/snapdrop: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 (ie. nextcloud, plex), 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.
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 Run/Create
* Update the image: `docker pull linuxserver/snapdrop`
* Stop the running container: `docker stop snapdrop`
* Delete the container: `docker rm snapdrop`
* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* Start the new container: `docker start snapdrop`
* You can also remove the old dangling images: `docker image prune`
### Via Docker Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull snapdrop`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d snapdrop`
* You can also remove the old dangling images: `docker image prune`
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once snapdrop
```
* Update images:
* All images:
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.
```bash
docker-compose pull
```
* You can also remove the old dangling images: `docker image prune`
* Single image:
```bash
docker-compose pull snapdrop
```
* Update containers:
* All containers:
```bash
docker-compose up -d
```
* Single container:
```bash
docker-compose up -d snapdrop
```
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Docker Run
* Update the image:
```bash
docker pull lscr.io/linuxserver/snapdrop:latest
```
* Stop the running container:
```bash
docker stop snapdrop
```
* Delete the container:
```bash
docker rm snapdrop
```
* 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-snapdrop.git
cd docker-snapdrop
docker build \
--no-cache \
--pull \
-t linuxserver/snapdrop:latest .
-t lscr.io/linuxserver/snapdrop:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```
docker run --rm --privileged multiarch/qemu-user-static:register --reset
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
* **19.02.25:** - Deprecate.
* **31.05.24:** - Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings.
* **06.02.24:** - Existing users should update: site-confs/default.conf - Cleanup default site conf.
* **23.12.23:** - Rebase to Alpine 3.19 with php 8.3.
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.
* **13.04.23:** - Move ssl.conf include to default.conf.
* **20.01.23:** - Rebase to alpine 3.17 with php8.1.
* **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)).
* **09.08.21:** - Rebase to Alpine 3.14. Add real_ip block to nginx default site config.
* **15.09.20:** - Initial Release.

View File

@ -2,13 +2,13 @@
# jenkins variables
project_name: docker-snapdrop
external_type: github_stable
external_type: github_commit
release_type: stable
release_tag: latest
ls_branch: master
repo_vars:
- EXT_GIT_BRANCH = 'master'
- EXT_USER = 'RobinLinus'
- EXT_USER = 'snapdrop'
- EXT_REPO = 'snapdrop'
- BUILD_VERSION_ARG = 'SNAPDROP_VERSION'
- LS_USER = 'linuxserver'
@ -21,9 +21,9 @@ repo_vars:
- MULTIARCH='true'
- CI='true'
- CI_WEB='true'
- CI_PORT='3000'
- CI_PORT='80'
- CI_SSL='false'
- CI_DELAY='120'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_DELAY='60'
- CI_DOCKERENV=''
- CI_AUTH=''
- CI_WEBPATH=''

View File

@ -1,69 +1,311 @@
alpine-baselayout-3.2.0-r7
alpine-keys-2.2-r0
apache2-utils-2.4.46-r0
apk-tools-2.10.5-r1
apr-1.7.0-r0
apr-util-1.6.1-r6
argon2-libs-20190702-r1
bash-5.0.17-r0
brotli-libs-1.0.7-r5
busybox-1.31.1-r19
c-ares-1.16.1-r0
ca-certificates-20191127-r4
ca-certificates-bundle-20191127-r4
coreutils-8.32-r0
expat-2.2.9-r1
git-2.26.2-r0
libacl-2.2.53-r0
libattr-2.4.48-r0
libc-utils-0.7.2-r3
libcrypto1.1-1.1.1g-r0
libcurl-7.69.1-r0
libedit-20191231.3.1-r0
libgcc-9.3.0-r2
libintl-0.20.2-r0
libmagic-5.38-r0
libproc-3.3.16-r0
libressl3.1-libcrypto-3.1.2-r0
libressl3.1-libssl-3.1.2-r0
libssl1.1-1.1.1g-r0
libstdc++-9.3.0-r2
libtls-standalone-2.9.1-r1
libuuid-2.35.2-r0
libuv-1.37.0-r0
libxml2-2.9.10-r4
linux-pam-1.3.1-r4
logrotate-3.16.0-r0
musl-1.1.24-r9
musl-utils-1.1.24-r9
nano-4.9.3-r0
ncurses-libs-6.2_p20200523-r0
ncurses-terminfo-base-6.2_p20200523-r0
nghttp2-libs-1.41.0-r0
nginx-1.18.0-r0
nodejs-12.18.3-r0
npm-12.18.3-r0
openssl-1.1.1g-r0
pcre-8.44-r0
pcre2-10.35-r0
php7-7.3.22-r0
php7-common-7.3.22-r0
php7-fileinfo-7.3.22-r0
php7-fpm-7.3.22-r0
php7-json-7.3.22-r0
php7-mbstring-7.3.22-r0
php7-openssl-7.3.22-r0
php7-session-7.3.22-r0
php7-simplexml-7.3.22-r0
php7-xml-7.3.22-r0
php7-xmlwriter-7.3.22-r0
popt-1.16-r7
procps-3.3.16-r0
readline-8.0.4-r0
scanelf-1.2.6-r0
shadow-4.8.1-r0
ssl_client-1.31.1-r19
tzdata-2020a-r0
xz-5.2.5-r0
xz-libs-5.2.5-r0
zlib-1.2.11-r3
NAME VERSION TYPE
@isaacs/cliui 8.0.2 npm
@isaacs/fs-minipass 4.0.1 npm
@isaacs/string-locale-compare 1.1.0 npm
@npmcli/agent 2.2.2 npm
@npmcli/agent 3.0.0 npm
@npmcli/arborist 8.0.0 npm
@npmcli/config 9.0.0 npm
@npmcli/fs 3.1.1 npm
@npmcli/fs 4.0.0 npm
@npmcli/git 6.0.1 npm
@npmcli/installed-package-contents 3.0.0 npm
@npmcli/map-workspaces 4.0.1 npm
@npmcli/metavuln-calculator 8.0.1 npm
@npmcli/name-from-folder 3.0.0 npm
@npmcli/node-gyp 4.0.0 npm
@npmcli/package-json 6.0.1 npm
@npmcli/promise-spawn 8.0.2 npm
@npmcli/query 4.0.0 npm
@npmcli/redact 3.0.0 npm
@npmcli/run-script 9.0.1 npm
@pkgjs/parseargs 0.11.0 npm
@sigstore/bundle 3.0.0 npm
@sigstore/core 2.0.0 npm
@sigstore/protobuf-specs 0.3.2 npm
@sigstore/sign 3.0.0 npm
@sigstore/tuf 3.0.0 npm
@sigstore/verify 2.0.0 npm
@tufjs/canonical-json 2.0.0 npm
@tufjs/models 3.0.1 npm
abbrev 2.0.0 npm (+1 duplicate)
abbrev 3.0.0 npm
ada-libs 2.7.8-r0 apk
agent-base 7.1.1 npm
aggregate-error 3.1.0 npm
alpine-baselayout 3.6.5-r0 apk
alpine-baselayout-data 3.6.5-r0 apk
alpine-keys 2.4-r1 apk
alpine-release 3.20.5-r0 apk
ansi-regex 5.0.1 npm
ansi-regex 6.1.0 npm (+1 duplicate)
ansi-styles 4.3.0 npm
ansi-styles 6.2.1 npm
apache2-utils 2.4.62-r0 apk
apk-tools 2.14.4-r1 apk
apr 1.7.5-r0 apk
apr-util 1.6.3-r1 apk
aproba 2.0.0 npm
archy 1.0.0 npm
argon2-libs 20190702-r5 apk
balanced-match 1.0.2 npm
bash 5.2.26-r0 apk
bin-links 5.0.0 npm
binary-extensions 2.3.0 npm
brace-expansion 2.0.1 npm
brotli-libs 1.1.0-r2 apk
busybox 1.36.1-r29 apk
busybox-binsh 1.36.1-r29 apk
c-ares 1.33.1-r0 apk
ca-certificates 20241121-r1 apk
ca-certificates-bundle 20241121-r1 apk
cacache 18.0.4 npm
cacache 19.0.1 npm
catatonit 0.2.0-r0 apk
chalk 5.3.0 npm
chownr 2.0.0 npm
chownr 3.0.0 npm
ci-info 4.1.0 npm
cidr-regex 4.1.1 npm
clean-stack 2.2.0 npm
cli-columns 4.0.0 npm
cmd-shim 7.0.0 npm
color-convert 2.0.1 npm
color-name 1.1.4 npm
common-ancestor-path 1.0.1 npm
composer 2.8.5 binary
coreutils 9.5-r2 apk
coreutils-env 9.5-r2 apk
coreutils-fmt 9.5-r2 apk
coreutils-sha512sum 9.5-r2 apk
cross-spawn 7.0.6 npm
cssesc 3.0.0 npm
curl 8.12.0-r0 apk
debug 4.3.7 npm
diff 5.2.0 npm
eastasianwidth 0.2.0 npm
emoji-regex 8.0.0 npm
emoji-regex 9.2.2 npm (+1 duplicate)
encoding 0.1.13 npm
env-paths 2.2.1 npm
err-code 2.0.3 npm
exponential-backoff 3.1.1 npm
fastest-levenshtein 1.0.16 npm
findutils 4.9.0-r5 apk
foreground-child 3.3.0 npm
fs-minipass 2.1.0 npm
fs-minipass 3.0.3 npm
git 2.45.3-r0 apk
git-init-template 2.45.3-r0 apk
glob 10.4.5 npm
gmp 6.3.0-r1 apk
graceful-fs 4.2.11 npm
hosted-git-info 8.0.2 npm
http-cache-semantics 4.1.1 npm
http-proxy-agent 7.0.2 npm
https-proxy-agent 7.0.5 npm
iconv-lite 0.6.3 npm
icu-data-en 74.2-r0 apk
icu-libs 74.2-r0 apk
ignore-walk 7.0.0 npm
imurmurhash 0.1.4 npm
indent-string 4.0.0 npm
ini 5.0.0 npm
init-package-json 7.0.1 npm
ip-address 9.0.5 npm
ip-regex 5.0.0 npm
is-cidr 5.1.0 npm
is-fullwidth-code-point 3.0.0 npm
is-lambda 1.0.1 npm
isexe 2.0.0 npm
isexe 3.1.1 npm (+1 duplicate)
jackspeak 3.4.3 npm
jq 1.7.1-r0 apk
jsbn 1.1.0 npm
json-parse-even-better-errors 4.0.0 npm
json-stringify-nice 1.1.4 npm
jsonparse 1.3.1 npm
just-diff 6.0.2 npm
just-diff-apply 5.5.0 npm
libacl 2.3.2-r0 apk
libattr 2.5.2-r0 apk
libbase64 0.5.2-r0 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libcrypto3 3.3.3-r0 apk
libcurl 8.12.0-r0 apk
libedit 20240517.3.1-r0 apk
libexpat 2.6.4-r0 apk
libgcc 13.2.1_git20240309-r0 apk
libidn2 2.3.7-r0 apk
libintl 0.22.5-r0 apk
libmd 1.1.0-r0 apk
libncursesw 6.4_p20240420-r2 apk
libnpmaccess 9.0.0 npm
libnpmdiff 7.0.0 npm
libnpmexec 9.0.0 npm
libnpmfund 6.0.0 npm
libnpmhook 11.0.0 npm
libnpmorg 7.0.0 npm
libnpmpack 8.0.0 npm
libnpmpublish 10.0.1 npm
libnpmsearch 8.0.0 npm
libnpmteam 7.0.0 npm
libnpmversion 7.0.0 npm
libproc2 4.0.4-r0 apk
libpsl 0.21.5-r1 apk
libssl3 3.3.3-r0 apk
libstdc++ 13.2.1_git20240309-r0 apk
libunistring 1.2-r0 apk
libuuid 2.40.1-r1 apk
libxml2 2.12.7-r0 apk
libzip 1.10.1-r0 apk
linux-pam 1.6.0-r0 apk
logrotate 3.21.0-r1 apk
lru-cache 10.4.3 npm
make-fetch-happen 13.0.1 npm
make-fetch-happen 14.0.3 npm
minimatch 9.0.5 npm
minipass 3.3.6 npm (+4 duplicates)
minipass 5.0.0 npm
minipass 7.1.2 npm
minipass-collect 2.0.1 npm
minipass-fetch 3.0.5 npm
minipass-fetch 4.0.0 npm
minipass-flush 1.0.5 npm
minipass-pipeline 1.2.4 npm
minipass-sized 1.0.3 npm
minizlib 2.1.2 npm
minizlib 3.0.1 npm (+2 duplicates)
mkdirp 1.0.4 npm
mkdirp 3.0.1 npm (+1 duplicate)
ms 2.1.3 npm
musl 1.2.5-r0 apk
musl-utils 1.2.5-r0 apk
mute-stream 2.0.0 npm
nano 8.0-r0 apk
ncurses-terminfo-base 6.4_p20240420-r2 apk
negotiator 0.6.4 npm
negotiator 1.0.0 npm
netcat-openbsd 1.226-r0 apk
nghttp2-libs 1.62.1-r0 apk
nginx 1.26.2-r0 apk
node-gyp 10.2.0 npm
nodejs 20.15.1-r0 apk
nopt 7.2.1 npm
nopt 8.0.0 npm
normalize-package-data 7.0.0 npm
npm 10.9.1 npm
npm 10.9.1-r0 apk
npm-audit-report 6.0.0 npm
npm-bundled 4.0.0 npm
npm-install-checks 7.1.1 npm
npm-normalize-package-bin 4.0.0 npm
npm-package-arg 12.0.0 npm
npm-packlist 9.0.0 npm
npm-pick-manifest 10.0.0 npm
npm-profile 11.0.1 npm
npm-registry-fetch 18.0.2 npm
npm-user-validate 3.0.0 npm
oniguruma 6.9.9-r0 apk
openssl 3.3.3-r0 apk
p-map 4.0.0 npm
p-map 7.0.2 npm
package-json-from-dist 1.0.1 npm
pacote 19.0.1 npm
pacote 20.0.0 npm
parse-conflict-json 4.0.0 npm
path-key 3.1.1 npm
path-scurry 1.11.1 npm
pcre 8.45-r3 apk
pcre2 10.43-r0 apk
php83 8.3.15-r0 apk
php83-common 8.3.15-r0 apk
php83-ctype 8.3.15-r0 apk
php83-curl 8.3.15-r0 apk
php83-fileinfo 8.3.15-r0 apk
php83-fpm 8.3.15-r0 apk
php83-iconv 8.3.15-r0 apk
php83-mbstring 8.3.15-r0 apk
php83-openssl 8.3.15-r0 apk
php83-phar 8.3.15-r0 apk
php83-session 8.3.15-r0 apk
php83-simplexml 8.3.15-r0 apk
php83-xml 8.3.15-r0 apk
php83-xmlwriter 8.3.15-r0 apk
php83-zip 8.3.15-r0 apk
popt 1.19-r3 apk
postcss-selector-parser 6.1.2 npm
proc-log 4.2.0 npm
proc-log 5.0.0 npm
procps-ng 4.0.4-r0 apk
proggy 3.0.0 npm
promise-all-reject-late 1.0.1 npm
promise-call-limit 3.0.2 npm
promise-inflight 1.0.1 npm
promise-retry 2.0.1 npm
promzard 2.0.0 npm
qrcode-terminal 0.12.0 npm
read 4.0.0 npm
read-cmd-shim 5.0.0 npm
read-package-json-fast 4.0.0 npm
readline 8.2.10-r0 apk
retry 0.12.0 npm
rimraf 5.0.10 npm
safer-buffer 2.1.2 npm
scanelf 1.3.7-r2 apk
semver 7.6.3 npm
shadow 4.15.1-r0 apk
shebang-command 2.0.0 npm
shebang-regex 3.0.0 npm
signal-exit 4.1.0 npm
sigstore 3.0.0 npm
skalibs 2.14.1.1-r0 apk
smart-buffer 4.2.0 npm
snapdrop 1.0.0 npm
socks 2.8.3 npm
socks-proxy-agent 8.0.4 npm
spdx-correct 3.2.0 npm
spdx-exceptions 2.5.0 npm
spdx-expression-parse 3.0.1 npm (+1 duplicate)
spdx-expression-parse 4.0.0 npm
spdx-license-ids 3.0.20 npm
sprintf-js 1.1.3 npm
ssl_client 1.36.1-r29 apk
ssri 10.0.6 npm
ssri 12.0.0 npm
string-width 4.2.3 npm (+1 duplicate)
string-width 5.1.2 npm (+1 duplicate)
strip-ansi 6.0.1 npm (+1 duplicate)
strip-ansi 7.1.0 npm (+1 duplicate)
supports-color 9.4.0 npm
tar 6.2.1 npm
tar 7.4.3 npm
text-table 0.2.0 npm
tiny-relative-date 1.3.0 npm
treeverse 3.0.0 npm
tuf-js 3.0.1 npm
tzdata 2024b-r0 apk
ua-parser-js 0.7.24 npm
unique-filename 3.0.0 npm
unique-filename 4.0.0 npm
unique-names-generator 4.3.0 npm
unique-slug 4.0.0 npm
unique-slug 5.0.0 npm
util-deprecate 1.0.2 npm
utmps-libs 0.1.2.2-r1 apk
validate-npm-package-license 3.0.4 npm
validate-npm-package-name 6.0.0 npm
walk-up-path 3.0.1 npm
which 2.0.2 npm
which 4.0.0 npm
which 5.0.0 npm
wrap-ansi 7.0.0 npm
wrap-ansi 8.1.0 npm
write-file-atomic 6.0.0 npm
ws 7.4.6 npm
xz-libs 5.6.2-r0 apk
yallist 4.0.0 npm
yallist 5.0.0 npm
zlib 1.3.1-r1 apk
zstd-libs 1.5.6-r0 apk

View File

@ -2,62 +2,108 @@
# project information
project_name: snapdrop
project_url: "https://github.com/RobinLinus/snapdrop"
project_logo: ""
project_url: "https://github.com/snapdrop/snapdrop"
project_logo: "https://raw.githubusercontent.com/snapdrop/snapdrop/master/client/images/logo_transparent_512x512.png"
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) A local file sharing in your browser. Inspired by Apple's Airdrop."
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "File Sharing"
project_blurb_optional_extras_enabled: false
project_blurb_optional_extras: []
# deprecation information
project_deprecation_status: true
project_deprecation_message: "Consider switching to https://github.com/linuxserver/docker-pairdrop for similar functionality"
# supported architectures
available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# development version
development_versions: false
development_versions_items:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
param_usage_include_net: false
param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
param_usage_include_vols: true
param_volumes:
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files"}
param_usage_include_ports: true
param_ports:
- { external_port: "80", internal_port: "80", port_desc: "http gui" }
- { external_port: "443", internal_port: "443", port_desc: "https gui" }
# optional container parameters
opt_param_usage_include_env: false
opt_param_env_vars:
opt_param_usage_include_vols: false
opt_param_volumes:
opt_param_usage_include_ports: false
opt_param_ports:
opt_param_device_map: false
opt_param_devices:
opt_cap_add_param: false
opt_cap_add_param_vars:
optional_block_1: false
optional_block_1_items: ""
- {external_port: "80", internal_port: "80", port_desc: "http gui"}
- {external_port: "443", internal_port: "443", port_desc: "https gui"}
# application setup block
app_setup_block_enabled: false
app_setup_block: ""
app_setup_block_enabled: true
app_setup_block: |
Webui is accessible at http://SERVERIP:PORT
If only using locally, comment out the following line in /config/nginx/site-confs/default.conf for local discovery:
```
proxy_set_header X-Forwarded-for $remote_addr;
```
# init diagram
init_diagram: |
"snapdrop: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-snapdrop-config -> init-config-end
init-os-end -> init-crontab-config
init-mods-end -> init-custom-files
init-config-end -> init-deprecate
base -> init-envfile
init-os-end -> init-folders
init-php -> init-keygen
base -> init-migrations
base -> init-mods
init-config-end -> init-mods
init-version-checks -> init-mods
init-mods -> init-mods-end
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-samples -> init-nginx
init-permissions -> init-nginx-end
base -> init-os-end
init-adduser -> init-os-end
init-envfile -> init-os-end
init-migrations -> init-os-end
init-keygen -> init-permissions
init-nginx -> init-php
init-folders -> init-samples
init-custom-files -> init-services
init-deprecate -> init-services
init-mods-end -> init-services
init-nginx-end -> init-snapdrop-config
init-config-end -> 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
init-services -> svc-snapdrop
svc-snapdrop -> legacy-services
}
Base Images: {
"baseimage-alpine-nginx:3.20" <- "baseimage-alpine:3.20"
}
"snapdrop:latest" <- Base Images
# changelog
changelogs:
- { date: "15.09.20:", desc: "Initial Release." }
- {date: "19.02.25:", desc: "Deprecate."}
- {date: "31.05.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."}
- {date: "06.02.24:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf."}
- {date: "23.12.23:", desc: "Rebase to Alpine 3.19 with php 8.3."}
- {date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf."}
- {date: "13.04.23:", desc: "Move ssl.conf include to default.conf."}
- {date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1."}
- {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: "09.08.21:", desc: "Rebase to Alpine 3.14. Add real_ip block to nginx default site config."}
- {date: "15.09.20:", desc: "Initial Release."}

View File

@ -0,0 +1,40 @@
<html>
<head>
<title>Upgrade Required!</title>
<style>
body{
font-family: Helvetica, Arial, sans-serif;
}
.message{
width:440px;
padding:20px 40px;
margin:0 auto;
background-color:#f9f9f9;
border:1px solid #ddd;
color: #1e3d62;
}
center{
margin:40px 0;
}
h1{
font-size: 18px;
line-height: 26px;
}
p{
font-size: 12px;
}
a{
color: rgb(207, 48, 139);
}
</style>
</head>
<body>
<div class="message">
<h1>Upgrade Required!</h1>
<p>The application inside this image has been moved to a new folder.</p>
<p>You will need to update your <strong>/config/nginx/nginx.conf</strong> and <strong>/config/nginx/site-confs/default.conf</strong> in order for the application to work.</p>
<p>New config samples are located at <strong>/config/nginx/nginx.conf.sample</strong> and <strong>/config/nginx/site-confs/default.conf.sample</strong></p>
<p>Please review our announcement: <a target="_blank" href="https://info.linuxserver.io/issues/2022-08-20-nginx-base/">Significant changes to nginx based images</a></p>
</div>
</body>
</html>

View File

@ -1,28 +0,0 @@
server {
listen 80 default_server;
listen 443 ssl;
root /app/snapdrop/client;
index index.php index.html index.htm;
server_name _;
ssl_certificate /config/keys/cert.crt;
ssl_certificate_key /config/keys/cert.key;
client_max_body_size 0;
location / {
root /app/snapdrop/client;
index index.html index.htm;
}
location /server {
proxy_connect_timeout 300;
proxy_pass http://localhost:3000;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-for $remote_addr;
}
}

View File

@ -0,0 +1,36 @@
## Version 2024/07/16 - Changelog: https://github.com/linuxserver/docker-snapdrop/commits/master/root/defaults/nginx/site-confs/default.conf.sample
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name _;
include /config/nginx/ssl.conf;
root /app/www/client;
index index.html;
location / {
# enable for basic auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
try_files $uri $uri/ /index.html;
}
location /server {
proxy_connect_timeout 300;
proxy_pass http://localhost:3000;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-for $remote_addr;
}
# deny access to .htaccess/.htpasswd files
location ~ /\.ht {
deny all;
}
}

View File

@ -1,5 +0,0 @@
#!/usr/bin/with-contenv bash
# permissions
chown -R abc:abc \
/config

View File

@ -0,0 +1,17 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
echo '
╔════════════════════════════════════════════════════╗
╠════════════════════════════════════════════════════╣
║ ║
║ This image is deprecated. ║
║ We will not offer support for this image ║
║ and it will not be updated. ║
║ ║
╠════════════════════════════════════════════════════╣
╚════════════════════════════════════════════════════╝
Consider switching to https://github.com/linuxserver/docker-pairdrop for similar functionality
══════════════════════════════════════════════════════'

View File

@ -0,0 +1 @@
oneshot

View File

@ -0,0 +1,6 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# permissions
lsiown -R abc:abc \
/config

View File

@ -0,0 +1 @@
oneshot

View File

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

View File

@ -0,0 +1,7 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
cd /app/www/server || exit 1
exec \
s6-setuidgid abc /usr/bin/node index.js

View File

@ -0,0 +1 @@
longrun

View File

@ -1,6 +0,0 @@
#!/usr/bin/with-contenv bash
cd /app/snapdrop/server || exit
exec \
s6-setuidgid abc /usr/bin/node index.js

View File

@ -0,0 +1,11 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
DEFAULT_CONF="/config/nginx/site-confs/default.conf"
OLD_ROOT="root /app/snapdrop/client;"
NEW_ROOT="root /app/www/client;"
if [[ -f "${DEFAULT_CONF}" ]] && grep -q "${OLD_ROOT}" "${DEFAULT_CONF}" 2>/dev/null; then
echo "updating root in ${DEFAULT_CONF}"
sed -i "s|${OLD_ROOT}|${NEW_ROOT}|" "${DEFAULT_CONF}"
fi