mirror of
				https://github.com/linuxserver/docker-swag.git
				synced 2025-10-31 04:57:43 +09:00 
			
		
		
		
	Rebase to Alpine 3.19 with php 8.3, add root periodic crontabs for logrotate
Signed-off-by: Eric Nemchik <eric@nemchik.com>
This commit is contained in:
		
							
								
								
									
										66
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| # syntax=docker/dockerfile:1 | # syntax=docker/dockerfile:1 | ||||||
|  |  | ||||||
| FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.18 | FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.19 | ||||||
|  |  | ||||||
| # set version label | # set version label | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -45,39 +45,39 @@ RUN \ | |||||||
|     nginx-mod-stream \ |     nginx-mod-stream \ | ||||||
|     nginx-mod-stream-geoip2 \ |     nginx-mod-stream-geoip2 \ | ||||||
|     nginx-vim \ |     nginx-vim \ | ||||||
|     php82-bcmath \ |     php83-bcmath \ | ||||||
|     php82-bz2 \ |     php83-bz2 \ | ||||||
|     php82-dom \ |     php83-dom \ | ||||||
|     php82-exif \ |     php83-exif \ | ||||||
|     php82-ftp \ |     php83-ftp \ | ||||||
|     php82-gd \ |     php83-gd \ | ||||||
|     php82-gmp \ |     php83-gmp \ | ||||||
|     php82-imap \ |     php83-imap \ | ||||||
|     php82-intl \ |     php83-intl \ | ||||||
|     php82-ldap \ |     php83-ldap \ | ||||||
|     php82-mysqli \ |     php83-mysqli \ | ||||||
|     php82-mysqlnd \ |     php83-mysqlnd \ | ||||||
|     php82-opcache \ |     php83-opcache \ | ||||||
|     php82-pdo_mysql \ |     php83-pdo_mysql \ | ||||||
|     php82-pdo_odbc \ |     php83-pdo_odbc \ | ||||||
|     php82-pdo_pgsql \ |     php83-pdo_pgsql \ | ||||||
|     php82-pdo_sqlite \ |     php83-pdo_sqlite \ | ||||||
|     php82-pear \ |     php83-pear \ | ||||||
|     php82-pecl-apcu \ |     php83-pecl-apcu \ | ||||||
|     php82-pecl-memcached \ |     php83-pecl-memcached \ | ||||||
|     php82-pecl-redis \ |     php83-pecl-redis \ | ||||||
|     php82-pgsql \ |     php83-pgsql \ | ||||||
|     php82-posix \ |     php83-posix \ | ||||||
|     php82-soap \ |     php83-soap \ | ||||||
|     php82-sockets \ |     php83-sockets \ | ||||||
|     php82-sodium \ |     php83-sodium \ | ||||||
|     php82-sqlite3 \ |     php83-sqlite3 \ | ||||||
|     php82-tokenizer \ |     php83-tokenizer \ | ||||||
|     php82-xmlreader \ |     php83-xmlreader \ | ||||||
|     php82-xsl \ |     php83-xsl \ | ||||||
|     whois && \ |     whois && \ | ||||||
|   apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \ |   apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \ | ||||||
|     php82-pecl-mcrypt && \ |     php83-pecl-mcrypt && \ | ||||||
|   echo "**** install certbot plugins ****" && \ |   echo "**** install certbot plugins ****" && \ | ||||||
|   if [ -z ${CERTBOT_VERSION+x} ]; then \ |   if [ -z ${CERTBOT_VERSION+x} ]; then \ | ||||||
|     CERTBOT_VERSION=$(curl -sL  https://pypi.python.org/pypi/certbot/json |jq -r '. | .info.version'); \ |     CERTBOT_VERSION=$(curl -sL  https://pypi.python.org/pypi/certbot/json |jq -r '. | .info.version'); \ | ||||||
| @@ -86,7 +86,7 @@ RUN \ | |||||||
|   pip install -U --no-cache-dir \ |   pip install -U --no-cache-dir \ | ||||||
|     pip \ |     pip \ | ||||||
|     wheel && \ |     wheel && \ | ||||||
|   pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.18/ \ |   pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ \ | ||||||
|     certbot==${CERTBOT_VERSION} \ |     certbot==${CERTBOT_VERSION} \ | ||||||
|     certbot-dns-acmedns \ |     certbot-dns-acmedns \ | ||||||
|     certbot-dns-aliyun \ |     certbot-dns-aliyun \ | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| # syntax=docker/dockerfile:1 | # syntax=docker/dockerfile:1 | ||||||
|  |  | ||||||
| FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.18 | FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.19 | ||||||
|  |  | ||||||
| # set version label | # set version label | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -45,39 +45,39 @@ RUN \ | |||||||
|     nginx-mod-stream \ |     nginx-mod-stream \ | ||||||
|     nginx-mod-stream-geoip2 \ |     nginx-mod-stream-geoip2 \ | ||||||
|     nginx-vim \ |     nginx-vim \ | ||||||
|     php82-bcmath \ |     php83-bcmath \ | ||||||
|     php82-bz2 \ |     php83-bz2 \ | ||||||
|     php82-dom \ |     php83-dom \ | ||||||
|     php82-exif \ |     php83-exif \ | ||||||
|     php82-ftp \ |     php83-ftp \ | ||||||
|     php82-gd \ |     php83-gd \ | ||||||
|     php82-gmp \ |     php83-gmp \ | ||||||
|     php82-imap \ |     php83-imap \ | ||||||
|     php82-intl \ |     php83-intl \ | ||||||
|     php82-ldap \ |     php83-ldap \ | ||||||
|     php82-mysqli \ |     php83-mysqli \ | ||||||
|     php82-mysqlnd \ |     php83-mysqlnd \ | ||||||
|     php82-opcache \ |     php83-opcache \ | ||||||
|     php82-pdo_mysql \ |     php83-pdo_mysql \ | ||||||
|     php82-pdo_odbc \ |     php83-pdo_odbc \ | ||||||
|     php82-pdo_pgsql \ |     php83-pdo_pgsql \ | ||||||
|     php82-pdo_sqlite \ |     php83-pdo_sqlite \ | ||||||
|     php82-pear \ |     php83-pear \ | ||||||
|     php82-pecl-apcu \ |     php83-pecl-apcu \ | ||||||
|     php82-pecl-memcached \ |     php83-pecl-memcached \ | ||||||
|     php82-pecl-redis \ |     php83-pecl-redis \ | ||||||
|     php82-pgsql \ |     php83-pgsql \ | ||||||
|     php82-posix \ |     php83-posix \ | ||||||
|     php82-soap \ |     php83-soap \ | ||||||
|     php82-sockets \ |     php83-sockets \ | ||||||
|     php82-sodium \ |     php83-sodium \ | ||||||
|     php82-sqlite3 \ |     php83-sqlite3 \ | ||||||
|     php82-tokenizer \ |     php83-tokenizer \ | ||||||
|     php82-xmlreader \ |     php83-xmlreader \ | ||||||
|     php82-xsl \ |     php83-xsl \ | ||||||
|     whois && \ |     whois && \ | ||||||
|   apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \ |   apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \ | ||||||
|     php82-pecl-mcrypt && \ |     php83-pecl-mcrypt && \ | ||||||
|   echo "**** install certbot plugins ****" && \ |   echo "**** install certbot plugins ****" && \ | ||||||
|   if [ -z ${CERTBOT_VERSION+x} ]; then \ |   if [ -z ${CERTBOT_VERSION+x} ]; then \ | ||||||
|     CERTBOT_VERSION=$(curl -sL  https://pypi.python.org/pypi/certbot/json |jq -r '. | .info.version'); \ |     CERTBOT_VERSION=$(curl -sL  https://pypi.python.org/pypi/certbot/json |jq -r '. | .info.version'); \ | ||||||
| @@ -86,7 +86,7 @@ RUN \ | |||||||
|   pip install -U --no-cache-dir \ |   pip install -U --no-cache-dir \ | ||||||
|     pip \ |     pip \ | ||||||
|     wheel && \ |     wheel && \ | ||||||
|   pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.18/ \ |   pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ \ | ||||||
|     certbot==${CERTBOT_VERSION} \ |     certbot==${CERTBOT_VERSION} \ | ||||||
|     certbot-dns-acmedns \ |     certbot-dns-acmedns \ | ||||||
|     certbot-dns-aliyun \ |     certbot-dns-aliyun \ | ||||||
|   | |||||||
| @@ -180,7 +180,7 @@ services: | |||||||
|       - EXTRA_DOMAINS= #optional |       - EXTRA_DOMAINS= #optional | ||||||
|       - STAGING=false #optional |       - STAGING=false #optional | ||||||
|     volumes: |     volumes: | ||||||
|       - /path/to/appdata/config:/config |       - /path/to/swag/config:/config | ||||||
|     ports: |     ports: | ||||||
|       - 443:443 |       - 443:443 | ||||||
|       - 80:80 #optional |       - 80:80 #optional | ||||||
| @@ -208,7 +208,7 @@ docker run -d \ | |||||||
|   -e STAGING=false `#optional` \ |   -e STAGING=false `#optional` \ | ||||||
|   -p 443:443 \ |   -p 443:443 \ | ||||||
|   -p 80:80 `#optional` \ |   -p 80:80 `#optional` \ | ||||||
|   -v /path/to/appdata/config:/config \ |   -v /path/to/swag/config:/config \ | ||||||
|   --restart unless-stopped \ |   --restart unless-stopped \ | ||||||
|   lscr.io/linuxserver/swag:latest |   lscr.io/linuxserver/swag:latest | ||||||
| ``` | ``` | ||||||
| @@ -234,7 +234,7 @@ Containers are configured using parameters passed at runtime (such as those abov | |||||||
| | `-e ONLY_SUBDOMAINS=false` | If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true` | | | `-e ONLY_SUBDOMAINS=false` | If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true` | | ||||||
| | `-e EXTRA_DOMAINS=` | Additional fully qualified domain names (comma separated, no spaces) ie. `extradomain.com,subdomain.anotherdomain.org,*.anotherdomain.org` | | | `-e EXTRA_DOMAINS=` | Additional fully qualified domain names (comma separated, no spaces) ie. `extradomain.com,subdomain.anotherdomain.org,*.anotherdomain.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 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. | | ||||||
| | `-v /config` | All the config files including the webroot reside here. | | | `-v /config` | Persistent config files | | ||||||
|  |  | ||||||
| ### Portainer notice | ### Portainer notice | ||||||
|  |  | ||||||
| @@ -416,6 +416,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 | |||||||
|  |  | ||||||
| ## Versions | ## Versions | ||||||
|  |  | ||||||
|  | * **23.12.23:** - Rebase to Alpine 3.19 with php 8.3, add root periodic crontabs for logrotate. | ||||||
| * **11.12.23:** - Deprecate certbot-dns-dynu to resolve dependency conflicts with other plugins. | * **11.12.23:** - Deprecate certbot-dns-dynu to resolve dependency conflicts with other plugins. | ||||||
| * **30.11.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) site-confs/default.conf - Fix index.php being downloaded on 404. | * **30.11.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) site-confs/default.conf - Fix index.php being downloaded on 404. | ||||||
| * **23.11.23:** - Run certbot as root to allow fix http validation. | * **23.11.23:** - Run certbot as root to allow fix http validation. | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ param_env_vars: | |||||||
|   - { env_var: "VALIDATION", env_value: "http", desc: "Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set)." } |   - { env_var: "VALIDATION", env_value: "http", desc: "Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set)." } | ||||||
| param_usage_include_vols: true | param_usage_include_vols: true | ||||||
| param_volumes: | param_volumes: | ||||||
|   - { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "All the config files including the webroot reside here." } |   - { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files" } | ||||||
| param_usage_include_ports: true | param_usage_include_ports: true | ||||||
| param_ports: | param_ports: | ||||||
|   - { external_port: "443", internal_port: "443", port_desc: "Https port" } |   - { external_port: "443", internal_port: "443", port_desc: "Https port" } | ||||||
| @@ -58,7 +58,7 @@ opt_param_env_vars: | |||||||
|   - { 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: "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." } | ||||||
| opt_param_usage_include_vols: false | opt_param_usage_include_vols: false | ||||||
| opt_param_volumes: | opt_param_volumes: | ||||||
|   - { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Configuration files." } |   - { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files" } | ||||||
| opt_param_usage_include_ports: true | opt_param_usage_include_ports: true | ||||||
| opt_param_ports: | opt_param_ports: | ||||||
|   - { external_port: "80", internal_port: "80", port_desc: "Http port (required for http validation and http -> https redirect)" } |   - { external_port: "80", internal_port: "80", port_desc: "Http port (required for http validation and http -> https redirect)" } | ||||||
| @@ -168,6 +168,7 @@ app_setup_block: | | |||||||
|  |  | ||||||
| # changelog | # changelog | ||||||
| changelogs: | changelogs: | ||||||
|  |   - { date: "23.12.23:", desc: "Rebase to Alpine 3.19 with php 8.3, add root periodic crontabs for logrotate." } | ||||||
|   - { date: "11.12.23:", desc: "Deprecate certbot-dns-dynu to resolve dependency conflicts with other plugins." } |   - { date: "11.12.23:", desc: "Deprecate certbot-dns-dynu to resolve dependency conflicts with other plugins." } | ||||||
|   - { date: "30.11.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) site-confs/default.conf - Fix index.php being downloaded on 404." } |   - { date: "30.11.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) site-confs/default.conf - Fix index.php being downloaded on 404." } | ||||||
|   - { date: "23.11.23:", desc: "Run certbot as root to allow fix http validation." } |   - { date: "23.11.23:", desc: "Run certbot as root to allow fix http validation." } | ||||||
|   | |||||||
| @@ -1,2 +1,8 @@ | |||||||
| # min   hour    day     month   weekday command | # min   hour    day     month   weekday command | ||||||
|  | */15    *       *       *       *       run-parts /etc/periodic/15min | ||||||
|  | 0       *       *       *       *       run-parts /etc/periodic/hourly | ||||||
|  | 0       2       *       *       *       run-parts /etc/periodic/daily | ||||||
|  | 0       3       *       *       6       run-parts /etc/periodic/weekly | ||||||
|  | 0       5       1       *       *       run-parts /etc/periodic/monthly | ||||||
|  |  | ||||||
| 8       2       *       *       *       /app/le-renew.sh >> /config/log/letsencrypt/letsencrypt.log 2>&1 | 8       2       *       *       *       /app/le-renew.sh >> /config/log/letsencrypt/letsencrypt.log 2>&1 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user