mirror of
https://github.com/linuxserver/docker-swag.git
synced 2026-03-04 01:13:35 +09:00
Compare commits
10 Commits
3.1.0-ls35
...
3.1.0-ls36
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6fcd946c0a | ||
|
|
c1d1a87a0c | ||
|
|
990c95b7d9 | ||
|
|
d83dc89c84 | ||
|
|
7046e938e0 | ||
|
|
27e2e83f03 | ||
|
|
f11dbcea78 | ||
|
|
07e9ada724 | ||
|
|
ae72916deb | ||
|
|
06b385d25c |
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@@ -6,7 +6,7 @@
|
||||
* Read, and fill the Pull Request template
|
||||
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
|
||||
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
|
||||
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
|
||||
* 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
|
||||
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,7 +1,7 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Discord chat support
|
||||
url: https://discord.gg/YWrKVTn
|
||||
url: https://linuxserver.io/discord
|
||||
about: Realtime support / chat with the community and the team.
|
||||
|
||||
- name: Discourse discussion forum
|
||||
|
||||
10
.github/workflows/external_trigger.yml
vendored
10
.github/workflows/external_trigger.yml
vendored
@@ -15,7 +15,10 @@ jobs:
|
||||
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
||||
run: |
|
||||
printf "# External trigger for docker-swag\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^swag_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
if grep -q "^swag_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`swag_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
||||
elif grep -q "^swag_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`swag_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
@@ -25,6 +28,11 @@ jobs:
|
||||
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
EXT_RELEASE=$(curl -sL "https://pypi.python.org/pypi/certbot/json" |jq -r '. | .info.version')
|
||||
echo "Type is \`pip_version\`" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^swag_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
fi
|
||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
33
Jenkinsfile
vendored
33
Jenkinsfile
vendored
@@ -57,11 +57,21 @@ pipeline {
|
||||
steps{
|
||||
echo "Running on node: ${NODE_NAME}"
|
||||
sh '''#! /bin/bash
|
||||
containers=$(docker ps -aq)
|
||||
echo "Pruning builder"
|
||||
docker builder prune -f --builder container || :
|
||||
containers=$(docker ps -q)
|
||||
if [[ -n "${containers}" ]]; then
|
||||
docker stop ${containers}
|
||||
BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit')
|
||||
for container in ${containers}; do
|
||||
if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then
|
||||
echo "skipping buildx container in docker stop"
|
||||
else
|
||||
echo "Stopping container ${container}"
|
||||
docker stop ${container}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
docker system prune -af --volumes || : '''
|
||||
docker system prune -f --volumes || : '''
|
||||
script{
|
||||
env.EXIT_STATUS = ''
|
||||
env.LS_RELEASE = sh(
|
||||
@@ -1152,12 +1162,21 @@ EOF
|
||||
}
|
||||
cleanup {
|
||||
sh '''#! /bin/bash
|
||||
echo "Performing docker system prune!!"
|
||||
containers=$(docker ps -aq)
|
||||
echo "Pruning builder!!"
|
||||
docker builder prune -f --builder container || :
|
||||
containers=$(docker ps -q)
|
||||
if [[ -n "${containers}" ]]; then
|
||||
docker stop ${containers}
|
||||
BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit')
|
||||
for container in ${containers}; do
|
||||
if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then
|
||||
echo "skipping buildx container in docker stop"
|
||||
else
|
||||
echo "Stopping container ${container}"
|
||||
docker stop ${container}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
docker system prune -af --volumes || :
|
||||
docker system prune -f --volumes || :
|
||||
'''
|
||||
cleanWs()
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
[](https://linuxserver.io)
|
||||
|
||||
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
||||
[](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
|
||||
[](https://discourse.linuxserver.io "post on our community forum.")
|
||||
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
||||
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
||||
@@ -20,7 +20,7 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
|
||||
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.
|
||||
@@ -251,8 +251,8 @@ Containers are configured using parameters passed at runtime (such as those abov
|
||||
| `-e EXTRA_DOMAINS=` | Additional fully qualified domain names (comma separated, no spaces) ie. `example.net,subdomain.example.net,*.example.org` |
|
||||
| `-e STAGING=false` | Set to `true` to retrieve certs in staging mode. Rate limits will be much higher, but the resulting cert will not pass the browser's security test. Only to be used for testing purposes. |
|
||||
| `-e DISABLE_F2B=` | Set to `true` to disable the Fail2ban service in the container, if you're already running it elsewhere or using a different IPS. |
|
||||
| `-e SWAG_AUTORELOAD=` | Set to `true` to enable automatic reloading of nginx confs on change. Your filesystem must support inotify. This functionality was previously offered [via mod](https://github.com/linuxserver/docker-mods/tree/swag-auto-reload). |
|
||||
| `-e SWAG_AUTORELOAD_WATCHLIST=` | A pipe-separated list of additional folders for auto reload to watch in addition to `/config/nginx` |
|
||||
| `-e SWAG_AUTORELOAD=` | Set to `true` to enable automatic reloading of confs on change without stopping/restarting nginx. Your filesystem must support inotify. This functionality was previously offered [via mod](https://github.com/linuxserver/docker-mods/tree/swag-auto-reload). |
|
||||
| `-e SWAG_AUTORELOAD_WATCHLIST=` | A [pipe](https://en.wikipedia.org/wiki/Vertical_bar)-separated list of additional folders for auto reload to watch in addition to `/config/nginx` |
|
||||
| `-v /config` | Persistent config files |
|
||||
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
|
||||
| `--cap-add=NET_ADMIN` | Required for fail2Ban to be able to modify iptables rules. |
|
||||
|
||||
@@ -12,7 +12,7 @@ apk-tools 2.14.6-r2 apk
|
||||
apr 1.7.5-r0 apk
|
||||
apr-util 1.6.3-r1 apk
|
||||
argon2-libs 20190702-r5 apk
|
||||
attrs 24.3.0 python
|
||||
attrs 25.1.0 python
|
||||
autocommand 2.2.2 python
|
||||
azure-common 1.1.28 python
|
||||
azure-core 1.32.0 python
|
||||
@@ -21,9 +21,9 @@ azure-mgmt-core 1.5.0 python
|
||||
azure-mgmt-dns 8.2.0 python
|
||||
backports-tarfile 1.2.0 python
|
||||
bash 5.2.37-r0 apk
|
||||
beautifulsoup4 4.12.3 python
|
||||
boto3 1.36.2 python
|
||||
botocore 1.36.2 python
|
||||
beautifulsoup4 4.13.3 python
|
||||
boto3 1.36.16 python
|
||||
botocore 1.36.16 python
|
||||
brotli-libs 1.1.0-r2 apk
|
||||
bs4 0.0.2 python
|
||||
busybox 1.37.0-r12 apk
|
||||
@@ -32,7 +32,7 @@ c-ares 1.34.3-r0 apk
|
||||
c-client 2007f-r15 apk
|
||||
ca-certificates 20241121-r1 apk
|
||||
ca-certificates-bundle 20241121-r1 apk
|
||||
cachetools 5.5.0 python
|
||||
cachetools 5.5.1 python
|
||||
catatonit 0.2.0-r0 apk
|
||||
certbot 3.1.0 python
|
||||
certbot-dns-acmedns 0.1.0 python
|
||||
@@ -74,15 +74,15 @@ certbot-dns-porkbun 0.9.1 python
|
||||
certbot-dns-rfc2136 3.1.0 python
|
||||
certbot-dns-route53 3.1.0 python
|
||||
certbot-dns-sakuracloud 3.1.0 python
|
||||
certbot-dns-standalone 1.1 python
|
||||
certbot-dns-standalone 1.2.1 python
|
||||
certbot-dns-transip 0.5.2 python
|
||||
certbot-dns-vultr 1.1.0 python
|
||||
certbot-plugin-gandi 1.5.0 python
|
||||
certifi 2024.12.14 python
|
||||
certifi 2025.1.31 python
|
||||
cffi 1.17.1 python
|
||||
charset-normalizer 3.4.1 python
|
||||
cloudflare 2.19.4 python
|
||||
composer 2.8.4 binary
|
||||
composer 2.8.5 binary
|
||||
configargparse 1.7 python
|
||||
configobj 5.0.9 python
|
||||
coreutils 9.5-r2 apk
|
||||
@@ -99,7 +99,7 @@ domeneshop 0.4.4 python
|
||||
fail2ban 1.1.0 python
|
||||
fail2ban 1.1.0-r2 apk
|
||||
fail2ban-pyc 1.1.0-r2 apk
|
||||
filelock 3.16.1 python
|
||||
filelock 3.17.0 python
|
||||
findutils 4.10.0-r0 apk
|
||||
fontconfig 2.15.0-r1 apk
|
||||
freetype 2.13.3-r0 apk
|
||||
@@ -116,11 +116,11 @@ gnupg-keyboxd 2.4.7-r0 apk
|
||||
gnupg-utils 2.4.7-r0 apk
|
||||
gnupg-wks-client 2.4.7-r0 apk
|
||||
gnutls 3.8.8-r0 apk
|
||||
google-api-core 2.24.0 python
|
||||
google-api-python-client 2.159.0 python
|
||||
google-auth 2.37.0 python
|
||||
google-api-core 2.24.1 python
|
||||
google-api-python-client 2.160.0 python
|
||||
google-auth 2.38.0 python
|
||||
google-auth-httplib2 0.2.0 python
|
||||
googleapis-common-protos 1.66.0 python
|
||||
googleapis-common-protos 1.67.0rc1 python
|
||||
gpg 2.4.7-r0 apk
|
||||
gpg-agent 2.4.7-r0 apk
|
||||
gpg-wks-server 2.4.7-r0 apk
|
||||
@@ -135,15 +135,15 @@ inflect 7.3.1 python
|
||||
inotify-tools 4.23.9.0-r0 apk
|
||||
inotify-tools-libs 4.23.9.0-r0 apk
|
||||
inwx-domrobot 3.2.0 python
|
||||
iptables 1.8.10-r5 apk
|
||||
iptables-legacy 1.8.10-r5 apk
|
||||
iptables 1.8.11-r1 apk
|
||||
iptables-legacy 1.8.11-r1 apk
|
||||
isodate 0.7.2 python
|
||||
jaraco-collections 5.1.0 python
|
||||
jaraco-context 5.3.0 python
|
||||
jaraco-functools 4.0.1 python
|
||||
jaraco-text 3.12.1 python
|
||||
jmespath 1.0.1 python
|
||||
josepy 1.14.0 python
|
||||
josepy 1.15.0 python
|
||||
jq 1.7.1-r0 apk
|
||||
jsonlines 4.0.0 python
|
||||
jsonpickle 4.0.1 python
|
||||
@@ -152,7 +152,7 @@ libattr 2.5.2-r2 apk
|
||||
libavif 1.0.4-r0 apk
|
||||
libbsd 0.12.2-r0 apk
|
||||
libbz2 1.0.8-r6 apk
|
||||
libcrypto3 3.3.2-r4 apk
|
||||
libcrypto3 3.3.2-r5 apk
|
||||
libcurl 8.11.1-r0 apk
|
||||
libdav1d 1.5.0-r0 apk
|
||||
libedit 20240808.3.1-r0 apk
|
||||
@@ -166,8 +166,8 @@ libgpg-error 1.51-r0 apk
|
||||
libice 1.1.1-r6 apk
|
||||
libidn2 2.3.7-r0 apk
|
||||
libintl 0.22.5-r0 apk
|
||||
libip4tc 1.8.10-r5 apk
|
||||
libip6tc 1.8.10-r5 apk
|
||||
libip4tc 1.8.11-r1 apk
|
||||
libip6tc 1.8.11-r1 apk
|
||||
libjpeg-turbo 3.0.4-r0 apk
|
||||
libksba 1.6.7-r0 apk
|
||||
libldap 2.6.8-r0 apk
|
||||
@@ -188,9 +188,9 @@ libseccomp 2.5.5-r1 apk
|
||||
libsharpyuv 1.4.0-r0 apk
|
||||
libsm 1.2.4-r4 apk
|
||||
libsodium 1.0.20-r0 apk
|
||||
libssl3 3.3.2-r4 apk
|
||||
libssl3 3.3.2-r5 apk
|
||||
libstdc++ 14.2.0-r4 apk
|
||||
libtasn1 4.19.0-r2 apk
|
||||
libtasn1 4.20.0-r0 apk
|
||||
libunistring 1.2-r0 apk
|
||||
libuuid 2.40.4-r0 apk
|
||||
libwebp 1.4.0-r0 apk
|
||||
@@ -203,7 +203,7 @@ libxml2 2.13.4-r3 apk
|
||||
libxpm 3.5.17-r0 apk
|
||||
libxslt 1.1.42-r1 apk
|
||||
libxt 1.3.1-r0 apk
|
||||
libxtables 1.8.10-r5 apk
|
||||
libxtables 1.8.11-r1 apk
|
||||
libzip 1.11.2-r0 apk
|
||||
linux-pam 1.6.1-r1 apk
|
||||
logrotate 3.21.0-r1 apk
|
||||
@@ -245,7 +245,7 @@ nginx-mod-stream-geoip2 1.26.2-r4 apk
|
||||
nginx-vim 1.26.2-r4 apk
|
||||
npth 1.6-r4 apk
|
||||
oniguruma 6.9.9-r0 apk
|
||||
openssl 3.3.2-r4 apk
|
||||
openssl 3.3.2-r5 apk
|
||||
p11-kit 0.25.5-r2 apk
|
||||
packaging 24.2 python
|
||||
parsedatetime 2.6 python
|
||||
@@ -304,18 +304,18 @@ php83-xmlwriter 8.3.16-r0 apk
|
||||
php83-xsl 8.3.16-r0 apk
|
||||
php83-zip 8.3.16-r0 apk
|
||||
pinentry 1.3.1-r0 apk
|
||||
pip 24.3.1 python
|
||||
pip 25.0 python
|
||||
pkb-client 2.0.0 python
|
||||
platformdirs 4.2.2 python
|
||||
popt 1.19-r4 apk
|
||||
portalocker 2.10.1 python
|
||||
procps-ng 4.0.4-r2 apk
|
||||
proto-plus 1.25.0 python
|
||||
proto-plus 1.26.0 python
|
||||
protobuf 5.29.3 python
|
||||
pyacmedns 0.4 python
|
||||
pyasn1 0.6.1 python
|
||||
pyasn1-modules 0.4.1 python
|
||||
pyc 3.12.8-r1 apk
|
||||
pyc 3.12.9-r0 apk
|
||||
pycparser 2.22 python
|
||||
pyjwt 2.10.1 python
|
||||
pynamecheap 0.0.3 python
|
||||
@@ -326,24 +326,24 @@ pyrfc3339 2.0.1 python
|
||||
python-dateutil 2.9.0.post0 python
|
||||
python-digitalocean 1.17.0 python
|
||||
python-transip 0.6.0 python
|
||||
python3 3.12.8-r1 apk
|
||||
python3-pyc 3.12.8-r1 apk
|
||||
python3-pycache-pyc0 3.12.8-r1 apk
|
||||
pytz 2024.2 python
|
||||
python3 3.12.9-r0 apk
|
||||
python3-pyc 3.12.9-r0 apk
|
||||
python3-pycache-pyc0 3.12.9-r0 apk
|
||||
pytz 2025.1 python
|
||||
pyyaml 6.0.2 python
|
||||
readline 8.2.13-r0 apk
|
||||
requests 2.32.3 python
|
||||
requests-file 2.1.0 python
|
||||
requests-mock 1.12.1 python
|
||||
rsa 4.9 python
|
||||
s3transfer 0.11.1 python
|
||||
s3transfer 0.11.2 python
|
||||
scanelf 1.3.8-r1 apk
|
||||
setuptools 75.8.0 python
|
||||
shadow 4.16.0-r1 apk
|
||||
six 1.17.0 python
|
||||
skalibs-libs 2.14.3.0-r0 apk
|
||||
soupsieve 2.6 python
|
||||
sqlite-libs 3.47.1-r0 apk
|
||||
sqlite-libs 3.48.0-r0 apk
|
||||
ssl_client 1.37.0-r12 apk
|
||||
tiff 4.7.0-r0 apk
|
||||
tldextract 5.1.3 python
|
||||
|
||||
@@ -6,6 +6,7 @@ project_url: "https://linuxserver.io"
|
||||
project_logo: "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/swag.gif"
|
||||
project_blurb: "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."
|
||||
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
||||
project_categories: "Reverse Proxy"
|
||||
# supported architectures
|
||||
available_architectures:
|
||||
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||
@@ -38,8 +39,8 @@ opt_param_env_vars:
|
||||
- {env_var: "EXTRA_DOMAINS", env_value: "", desc: "Additional fully qualified domain names (comma separated, no spaces) ie. `example.net,subdomain.example.net,*.example.org`"}
|
||||
- {env_var: "STAGING", env_value: "false", desc: "Set to `true` to retrieve certs in staging mode. Rate limits will be much higher, but the resulting cert will not pass the browser's security test. Only to be used for testing purposes."}
|
||||
- {env_var: "DISABLE_F2B", env_value: "", desc: "Set to `true` to disable the Fail2ban service in the container, if you're already running it elsewhere or using a different IPS."}
|
||||
- {env_var: "SWAG_AUTORELOAD", env_value: "", desc: "Set to `true` to enable automatic reloading of nginx confs on change. Your filesystem must support inotify. This functionality was previously offered [via mod](https://github.com/linuxserver/docker-mods/tree/swag-auto-reload)."}
|
||||
- {env_var: "SWAG_AUTORELOAD_WATCHLIST", env_value: "", desc: "A pipe-separated list of additional folders for auto reload to watch in addition to `/config/nginx`"}
|
||||
- {env_var: "SWAG_AUTORELOAD", env_value: "", desc: "Set to `true` to enable automatic reloading of confs on change without stopping/restarting nginx. Your filesystem must support inotify. This functionality was previously offered [via mod](https://github.com/linuxserver/docker-mods/tree/swag-auto-reload)."}
|
||||
- {env_var: "SWAG_AUTORELOAD_WATCHLIST", env_value: "", desc: "A [pipe](https://en.wikipedia.org/wiki/Vertical_bar)-separated list of additional folders for auto reload to watch in addition to `/config/nginx`"}
|
||||
opt_param_usage_include_ports: true
|
||||
opt_param_ports:
|
||||
- {external_port: "80", internal_port: "80", port_desc: "HTTP port (required for HTTP validation and HTTP -> HTTPS redirect)"}
|
||||
|
||||
Reference in New Issue
Block a user