mirror of
https://github.com/linuxserver/docker-swag.git
synced 2026-03-04 01:13:35 +09:00
Compare commits
11 Commits
3.0.0-ls33
...
3.0.1-ls34
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4e1f959980 | ||
|
|
f94e685a65 | ||
|
|
bfeeaaaa73 | ||
|
|
4437f6f8ba | ||
|
|
ed7c58a4c3 | ||
|
|
ca3830de35 | ||
|
|
e932493428 | ||
|
|
cd77a9cd2a | ||
|
|
7e9db0db80 | ||
|
|
ffecc6ee8b | ||
|
|
2b18659591 |
4
.github/CONTRIBUTING.md
vendored
4
.github/CONTRIBUTING.md
vendored
@@ -105,10 +105,10 @@ docker build \
|
||||
-t linuxserver/swag:latest .
|
||||
```
|
||||
|
||||
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
||||
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
||||
|
||||
```bash
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
|
||||
```
|
||||
|
||||
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
|
||||
|
||||
@@ -70,13 +70,14 @@ jobs:
|
||||
if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then
|
||||
if [[ -n "${triggered_branches}" ]]; then
|
||||
NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n"
|
||||
NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-swag/activity/ \n"
|
||||
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
|
||||
fi
|
||||
if [[ -n "${skipped_branches}" ]]; then
|
||||
NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n"
|
||||
fi
|
||||
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
|
||||
echo "**** Notifying Discord ****"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Package Check Build(s) Triggered for swag** \n'"${NOTIFY_BRANCHES}"'**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-swag/activity/"' \n"}],
|
||||
"description": "**Package Check Build(s) for swag** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
fi
|
||||
|
||||
@@ -10,8 +10,10 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="nemchik"
|
||||
|
||||
# environment settings
|
||||
ENV DHLEVEL=2048 ONLY_SUBDOMAINS=false AWS_CONFIG_FILE=/config/dns-conf/route53.ini
|
||||
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
||||
ENV DHLEVEL=2048 \
|
||||
ONLY_SUBDOMAINS=false \
|
||||
AWS_CONFIG_FILE=/config/dns-conf/route53.ini \
|
||||
S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
|
||||
@@ -10,8 +10,10 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="nemchik"
|
||||
|
||||
# environment settings
|
||||
ENV DHLEVEL=2048 ONLY_SUBDOMAINS=false AWS_CONFIG_FILE=/config/dns-conf/route53.ini
|
||||
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
||||
ENV DHLEVEL=2048 \
|
||||
ONLY_SUBDOMAINS=false \
|
||||
AWS_CONFIG_FILE=/config/dns-conf/route53.ini \
|
||||
S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
|
||||
6
Jenkinsfile
vendored
6
Jenkinsfile
vendored
@@ -29,12 +29,12 @@ pipeline {
|
||||
PR_DOCKERHUB_IMAGE = 'lspipepr/swag'
|
||||
DIST_IMAGE = 'alpine'
|
||||
MULTIARCH='true'
|
||||
CI='true'
|
||||
CI='false'
|
||||
CI_WEB='false'
|
||||
CI_PORT='80'
|
||||
CI_SSL='false'
|
||||
CI_DELAY='30'
|
||||
CI_DOCKERENV='TEST_RUN=1'
|
||||
CI_DOCKERENV=''
|
||||
CI_AUTH=''
|
||||
CI_WEBPATH=''
|
||||
}
|
||||
@@ -884,7 +884,7 @@ pipeline {
|
||||
echo '{"tag_name":"'${META_TAG}'",\
|
||||
"target_commitish": "master",\
|
||||
"name": "'${META_TAG}'",\
|
||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**PIP Changes:**\\n\\n' > start
|
||||
"body": "**CI Report:**\\n\\n'${CI_URL:-N/A}'\\n\\n**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**PIP 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'''
|
||||
|
||||
@@ -37,7 +37,6 @@ Find us at:
|
||||
[](https://hub.docker.com/r/linuxserver/swag)
|
||||
[](https://hub.docker.com/r/linuxserver/swag)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-swag/job/master/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/swag/latest/index.html)
|
||||
|
||||
SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt™) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.
|
||||
|
||||
@@ -150,6 +149,7 @@ This will *ask* Google et al not to index and list your site. Be careful with th
|
||||
|
||||
Please follow the instructions [on this blog post](https://www.linuxserver.io/blog/2020-08-21-introducing-swag#migrate).
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
|
||||
@@ -391,10 +391,10 @@ docker build \
|
||||
-t lscr.io/linuxserver/swag:latest .
|
||||
```
|
||||
|
||||
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
||||
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
||||
|
||||
```bash
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
|
||||
```
|
||||
|
||||
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
|
||||
|
||||
@@ -17,12 +17,12 @@ repo_vars:
|
||||
- PR_DOCKERHUB_IMAGE = 'lspipepr/swag'
|
||||
- DIST_IMAGE = 'alpine'
|
||||
- MULTIARCH='true'
|
||||
- CI='true'
|
||||
- CI='false'
|
||||
- CI_WEB='false'
|
||||
- CI_PORT='80'
|
||||
- CI_SSL='false'
|
||||
- CI_DELAY='30'
|
||||
- CI_DOCKERENV='TEST_RUN=1'
|
||||
- CI_DOCKERENV=''
|
||||
- CI_AUTH=''
|
||||
- CI_WEBPATH=''
|
||||
sponsor_links:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
NAME VERSION TYPE
|
||||
Simple Launcher 1.1.0.14 dotnet (+5 duplicates)
|
||||
acme 3.0.0 python
|
||||
acme 3.0.1 python
|
||||
alpine-baselayout 3.6.5-r0 apk
|
||||
alpine-baselayout-data 3.6.5-r0 apk
|
||||
alpine-keys 2.4-r1 apk
|
||||
@@ -21,8 +21,8 @@ azure-mgmt-dns 8.2.0 python
|
||||
backports-tarfile 1.2.0 python
|
||||
bash 5.2.26-r0 apk
|
||||
beautifulsoup4 4.12.3 python
|
||||
boto3 1.35.54 python
|
||||
botocore 1.35.54 python
|
||||
boto3 1.35.63 python
|
||||
botocore 1.35.63 python
|
||||
brotli-libs 1.1.0-r2 apk
|
||||
bs4 0.0.2 python
|
||||
busybox 1.36.1-r29 apk
|
||||
@@ -33,46 +33,46 @@ ca-certificates 20240705-r0 apk
|
||||
ca-certificates-bundle 20240705-r0 apk
|
||||
cachetools 5.5.0 python
|
||||
catatonit 0.2.0-r0 apk
|
||||
certbot 3.0.0 python
|
||||
certbot 3.0.1 python
|
||||
certbot-dns-acmedns 0.1.0 python
|
||||
certbot-dns-aliyun 2.0.0 python
|
||||
certbot-dns-azure 1.5.0 python
|
||||
certbot-dns-bunny 3.0.0 python
|
||||
certbot-dns-cloudflare 3.0.0 python
|
||||
certbot-dns-cloudflare 3.0.1 python
|
||||
certbot-dns-cpanel 0.4.0 python
|
||||
certbot-dns-desec 1.2.1 python
|
||||
certbot-dns-digitalocean 3.0.0 python
|
||||
certbot-dns-digitalocean 3.0.1 python
|
||||
certbot-dns-directadmin 1.0.4 python
|
||||
certbot-dns-dnsimple 3.0.0 python
|
||||
certbot-dns-dnsmadeeasy 3.0.0 python
|
||||
certbot-dns-dnsimple 3.0.1 python
|
||||
certbot-dns-dnsmadeeasy 3.0.1 python
|
||||
certbot-dns-dnspod 0.1.0 python
|
||||
certbot-dns-do 0.31.0 python
|
||||
certbot-dns-domeneshop 0.2.9 python
|
||||
certbot-dns-dreamhost 1.0 python
|
||||
certbot-dns-duckdns 1.0 python
|
||||
certbot-dns-duckdns 1.4 python
|
||||
certbot-dns-dynudns 0.0.6 python
|
||||
certbot-dns-freedns 0.2.0 python
|
||||
certbot-dns-gehirn 3.0.0 python
|
||||
certbot-dns-gehirn 3.0.1 python
|
||||
certbot-dns-glesys 2.1.0 python
|
||||
certbot-dns-godaddy 2.8.0 python
|
||||
certbot-dns-google 3.0.0 python
|
||||
certbot-dns-google 3.0.1 python
|
||||
certbot-dns-he 1.0.0 python
|
||||
certbot-dns-hetzner 2.0.1 python
|
||||
certbot-dns-infomaniak 0.2.2 python
|
||||
certbot-dns-inwx 2.2.1 python
|
||||
certbot-dns-ionos 2024.10.20 python
|
||||
certbot-dns-linode 3.0.0 python
|
||||
certbot-dns-inwx 3.0.0 python
|
||||
certbot-dns-ionos 2024.11.9 python
|
||||
certbot-dns-linode 3.0.1 python
|
||||
certbot-dns-loopia 1.0.1 python
|
||||
certbot-dns-luadns 3.0.0 python
|
||||
certbot-dns-luadns 3.0.1 python
|
||||
certbot-dns-namecheap 1.0.0 python
|
||||
certbot-dns-netcup 1.4.3 python
|
||||
certbot-dns-njalla 1.0.0 python
|
||||
certbot-dns-nsone 3.0.0 python
|
||||
certbot-dns-ovh 3.0.0 python
|
||||
certbot-dns-porkbun 0.5.1 python
|
||||
certbot-dns-rfc2136 3.0.0 python
|
||||
certbot-dns-route53 3.0.0 python
|
||||
certbot-dns-sakuracloud 3.0.0 python
|
||||
certbot-dns-nsone 3.0.1 python
|
||||
certbot-dns-ovh 3.0.1 python
|
||||
certbot-dns-porkbun 0.9 python
|
||||
certbot-dns-rfc2136 3.0.1 python
|
||||
certbot-dns-route53 3.0.1 python
|
||||
certbot-dns-sakuracloud 3.0.1 python
|
||||
certbot-dns-standalone 1.1 python
|
||||
certbot-dns-transip 0.5.2 python
|
||||
certbot-dns-vultr 1.1.0 python
|
||||
@@ -115,11 +115,11 @@ gnupg-keyboxd 2.4.5-r0 apk
|
||||
gnupg-utils 2.4.5-r0 apk
|
||||
gnupg-wks-client 2.4.5-r0 apk
|
||||
gnutls 3.8.5-r0 apk
|
||||
google-api-core 2.22.0 python
|
||||
google-api-python-client 2.151.0 python
|
||||
google-auth 2.35.0 python
|
||||
google-api-core 2.23.0 python
|
||||
google-api-python-client 2.153.0 python
|
||||
google-auth 2.36.0 python
|
||||
google-auth-httplib2 0.2.0 python
|
||||
googleapis-common-protos 1.65.0 python
|
||||
googleapis-common-protos 1.66.0 python
|
||||
gpg 2.4.5-r0 apk
|
||||
gpg-agent 2.4.5-r0 apk
|
||||
gpg-wks-server 2.4.5-r0 apk
|
||||
@@ -130,8 +130,8 @@ icu-data-en 74.2-r0 apk
|
||||
icu-libs 74.2-r0 apk
|
||||
idna 3.10 python
|
||||
importlib-metadata 8.0.0 python
|
||||
importlib-resources 6.4.0 python
|
||||
inflect 7.3.1 python
|
||||
inwx-domrobot 3.2.0 python
|
||||
iptables 1.8.10-r3 apk
|
||||
iptables-legacy 1.8.10-r3 apk
|
||||
isodate 0.7.2 python
|
||||
@@ -143,7 +143,7 @@ jmespath 1.0.1 python
|
||||
josepy 1.14.0 python
|
||||
jq 1.7.1-r0 apk
|
||||
jsonlines 4.0.0 python
|
||||
jsonpickle 3.4.1 python
|
||||
jsonpickle 4.0.0 python
|
||||
libacl 2.3.2-r0 apk
|
||||
libassuan 2.5.7-r0 apk
|
||||
libattr 2.5.2-r0 apk
|
||||
@@ -174,11 +174,11 @@ libmcrypt 2.5.8-r10 apk
|
||||
libmd 1.1.0-r0 apk
|
||||
libmemcached-libs 1.1.4-r1 apk
|
||||
libmnl 1.0.5-r2 apk
|
||||
libncursesw 6.4_p20240420-r1 apk
|
||||
libncursesw 6.4_p20240420-r2 apk
|
||||
libnftnl 1.2.6-r0 apk
|
||||
libpanelw 6.4_p20240420-r1 apk
|
||||
libpanelw 6.4_p20240420-r2 apk
|
||||
libpng 1.6.44-r0 apk
|
||||
libpq 16.4-r0 apk
|
||||
libpq 16.5-r0 apk
|
||||
libproc2 4.0.4-r0 apk
|
||||
libpsl 0.21.5-r1 apk
|
||||
libsasl 2.1.28-r6 apk
|
||||
@@ -218,7 +218,7 @@ musl 1.2.5-r0 apk
|
||||
musl-utils 1.2.5-r0 apk
|
||||
my-test-package 1.0 python
|
||||
nano 8.0-r0 apk
|
||||
ncurses-terminfo-base 6.4_p20240420-r1 apk
|
||||
ncurses-terminfo-base 6.4_p20240420-r2 apk
|
||||
netcat-openbsd 1.226-r0 apk
|
||||
nettle 3.9.1-r0 apk
|
||||
nghttp2-libs 1.62.1-r0 apk
|
||||
@@ -245,7 +245,7 @@ npth 1.6-r4 apk
|
||||
oniguruma 6.9.9-r0 apk
|
||||
openssl 3.3.2-r1 apk
|
||||
p11-kit 0.25.3-r0 apk
|
||||
packaging 24.1 python
|
||||
packaging 24.2 python
|
||||
parsedatetime 2.6 python
|
||||
pcre 8.45-r3 apk
|
||||
pcre2 10.43-r0 apk
|
||||
@@ -315,7 +315,7 @@ pyasn1 0.6.1 python
|
||||
pyasn1-modules 0.4.1 python
|
||||
pyc 3.12.7-r0 apk
|
||||
pycparser 2.22 python
|
||||
pyjwt 2.9.0 python
|
||||
pyjwt 2.10.0 python
|
||||
pynamecheap 0.0.3 python
|
||||
pyopenssl 24.2.1 python
|
||||
pyotp 2.9.0 python
|
||||
@@ -336,7 +336,7 @@ requests-mock 1.12.1 python
|
||||
rsa 4.9 python
|
||||
s3transfer 0.10.3 python
|
||||
scanelf 1.3.7-r2 apk
|
||||
setuptools 75.3.0 python
|
||||
setuptools 75.5.0 python
|
||||
shadow 4.15.1-r0 apk
|
||||
six 1.16.0 python
|
||||
skalibs 2.14.1.1-r0 apk
|
||||
@@ -354,7 +354,7 @@ uritemplate 4.1.1 python
|
||||
urllib3 2.2.3 python
|
||||
utmps-libs 0.1.2.2-r1 apk
|
||||
wheel 0.43.0 python
|
||||
wheel 0.44.0 python
|
||||
wheel 0.45.0 python
|
||||
whois 5.5.23-r0 apk
|
||||
xz-libs 5.6.2-r0 apk
|
||||
zipp 3.19.2 python
|
||||
|
||||
0
root/app/le-renew.sh
Normal file → Executable file
0
root/app/le-renew.sh
Normal file → Executable file
@@ -2,12 +2,12 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
if ! iptables -L &> /dev/null; then
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/iptables
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/iptables-save
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/iptables-restore
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/ip6tables
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/ip6tables-save
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/ip6tables-restore
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/iptables
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/iptables-save
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/iptables-restore
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/ip6tables
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/ip6tables-save
|
||||
ln -sf /sbin/xtables-legacy-multi /sbin/ip6tables-restore
|
||||
fi
|
||||
|
||||
# copy/update the fail2ban config defaults to/in /config
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-folders-config/run
|
||||
@@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-nginx-config/run
|
||||
@@ -6,4 +6,6 @@ lsiown -R abc:abc \
|
||||
/config
|
||||
chmod -R 0644 /etc/logrotate.d
|
||||
chmod -R +r /config/log
|
||||
chmod +x /app/le-renew.sh
|
||||
|
||||
# Workaround for systems with chmod errors
|
||||
true
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-samples-config/run
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-swag-config/up
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-swag-config/up
Normal file
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-swag-config/run
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-swag-folders/up
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-swag-folders/up
Normal file
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-swag-folders/run
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-swag-samples/up
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-swag-samples/up
Normal file
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-swag-samples/run
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
# Echo init finish for test runs
|
||||
if [[ -n "${TEST_RUN}" ]]; then
|
||||
echo '[services.d] done.'
|
||||
fi
|
||||
@@ -1 +0,0 @@
|
||||
oneshot
|
||||
@@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-test-run/run
|
||||
Reference in New Issue
Block a user