From 464e469ce541812f90dcc76c19f2ac277cfe12fc Mon Sep 17 00:00:00 2001 From: thespad Date: Thu, 27 Jun 2024 16:06:44 +0100 Subject: [PATCH] Rebase to 3.20 --- Dockerfile | 5 ++- Dockerfile.aarch64 | 5 ++- Jenkinsfile | 2 +- README.md | 9 ++-- jenkins-vars.yml | 2 +- readme-vars.yml | 44 +++++-------------- .../s6-rc.d/init-pydio-cells-config/run | 8 ++-- .../s6-overlay/s6-rc.d/svc-pydio-cells/run | 2 +- 8 files changed, 29 insertions(+), 48 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1e639c1..90017ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ RUN \ "${HOME}"/.cache \ "${HOME}"/go -FROM ghcr.io/linuxserver/baseimage-alpine:3.19 +FROM ghcr.io/linuxserver/baseimage-alpine:3.20 ARG BUILD_DATE ARG VERSION @@ -60,7 +60,8 @@ ENV \ RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ - openssl + openssl && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version COPY --from=buildstage /app/cells /app/ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 379058c..bf0e9c1 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -44,7 +44,7 @@ RUN \ "${HOME}"/.cache \ "${HOME}"/go -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.19 +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.20 ARG BUILD_DATE ARG VERSION @@ -60,7 +60,8 @@ ENV \ RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ - openssl + openssl && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version COPY --from=buildstage /app/cells /app/ diff --git a/Jenkinsfile b/Jenkinsfile index 4db02ab..a689ea3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -35,7 +35,7 @@ pipeline { CI_SSL='true' CI_DELAY='120' CI_DOCKERENV='EXTERNALURL=https://localhost:8080' - CI_AUTH='user:password' + CI_AUTH='' CI_WEBPATH='' } stages { diff --git a/README.md b/README.md index a0ae2c2..1903b42 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Find us at: [Pydio-cells](https://pydio.com/) is the nextgen file sharing platform for organizations. It is a full rewrite of the Pydio project using the Go language following a micro-service architecture. -[![pydio-cells](https://raw.githubusercontent.com/wiki/pydio/cells/images/PydioCellsColor.png)](https://pydio.com/) +[![pydio-cells](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/pydio-cells-icon.png)](https://pydio.com/) ## Supported Architectures @@ -59,7 +59,7 @@ The architectures supported by this image are: ## Application Setup -You must first create a mysql database for Pydio Cells. Using our [mariadb image](https://hub.docker.com/r/linuxserver/mariadb) is recommended. +You must first create a mysql database for Pydio Cells. Using our [mariadb image](https://hub.docker.com/r/linuxserver/mariadb) is recommended. Then access the web gui setup wizard at `https://SERVER_IP:8080` if accessing locally (must set `SERVER_IP` env var), or at `https://pydio-cells.domain.com` if reverse proxying. @@ -88,7 +88,7 @@ services: - EXTERNALURL=yourdomain.url - SERVER_IP=0.0.0.0 #optional volumes: - - /path/to/appdata/config:/config + - /path/to/pydio-cells/config:/config ports: - 8080:8080 restart: unless-stopped @@ -106,7 +106,7 @@ docker run -d \ -e EXTERNALURL=yourdomain.url \ -e SERVER_IP=0.0.0.0 `#optional` \ -p 8080:8080 \ - -v /path/to/appdata/config:/config \ + -v /path/to/pydio-cells/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/pydio-cells:latest ``` @@ -287,6 +287,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **27.06.24:** - Rebasing to Alpine 3.20.. * **14.03.24:** - Rebasing to alpine 3.19. Grpc port defaults to 8080. * **11.10.23:** - Rebasing to alpine 3.18. Build on alpine edge with Go 1.21. * **06.07.23:** - Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf) diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 61f5358..d113782 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -25,5 +25,5 @@ repo_vars: - CI_SSL='true' - CI_DELAY='120' - CI_DOCKERENV='EXTERNALURL=https://localhost:8080' - - CI_AUTH='user:password' + - CI_AUTH='' - CI_WEBPATH='' diff --git a/readme-vars.yml b/readme-vars.yml index 6625d99..c881b7c 100755 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -3,67 +3,45 @@ # project information project_name: pydio-cells project_url: "https://pydio.com/" -project_logo: "https://raw.githubusercontent.com/wiki/pydio/cells/images/PydioCellsColor.png" +project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/pydio-cells-icon.png" project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is the nextgen file sharing platform for organizations. It is a full rewrite of the Pydio project using the Go language following a micro-service architecture." project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" -project_blurb_optional_extras_enabled: false -project_blurb_optional_extras: [] + # supported architectures available_architectures: - {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} -# development version -development_versions: false -development_versions_items: - - {tag: "latest", desc: "Stable Pydio Cells releases"} + # container parameters common_param_env_vars_enabled: true #PGID, PUID, etc, you can set it to 'optional' param_container_name: "{{ project_name }}" param_usage_include_hostname: true #you can set it to 'optional' param_hostname: "{{ project_name }}" param_hostname_desc: "Pydio Cells uses the hostname to verify local files. This setting is required and should not be changed after it has been set." -param_usage_include_net: false #you can set it to 'optional' -param_net: "host" -param_net_desc: "Shares host networking with container." param_usage_include_env: true param_env_vars: - - {env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London."} - {env_var: "EXTERNALURL", env_value: "yourdomain.url", desc: "The external url you would like to use to access Pydio Cells (Can be https://domain.url or https://IP:PORT)."} param_usage_include_vols: true param_volumes: - - {vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "All the config files reside here."} + - {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "All the config files reside here."} param_usage_include_ports: true param_ports: - {external_port: "8080", internal_port: "8080", port_desc: "Http port"} -param_device_map: false -param_devices: - - {device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding"} -cap_add_param: false -cap_add_param_vars: - - {cap_add_var: "NET_ADMIN"} # optional container parameters opt_param_usage_include_env: true opt_param_env_vars: - {env_var: "SERVER_IP", env_value: "0.0.0.0", desc: "Enter the LAN IP of the docker server. Required for local access by IP, added to self signed cert as SAN (not required if accessing only through reverse proxy)."} -opt_param_usage_include_vols: false -opt_param_volumes: - - {vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Folder where configuration and data files reside."} -opt_param_usage_include_ports: false -opt_param_ports: - - {external_port: "33060", internal_port: "33060", port_desc: "gRPC port (required for CellsSync)."} -opt_param_device_map: false -opt_param_devices: - - {device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding"} -opt_cap_add_param: false -opt_cap_add_param_vars: - - {cap_add_var: "NET_ADMIN"} -optional_block_1: false -optional_block_1_items: "" + # application setup block app_setup_block_enabled: true -app_setup_block: "You must first create a mysql database for Pydio Cells. Using our [mariadb image](https://hub.docker.com/r/linuxserver/mariadb) is recommended. \n\nThen access the web gui setup wizard at `https://SERVER_IP:8080` if accessing locally (must set `SERVER_IP` env var), or at `https://pydio-cells.domain.com` if reverse proxying.\n" +app_setup_block: | + You must first create a mysql database for Pydio Cells. Using our [mariadb image](https://hub.docker.com/r/linuxserver/mariadb) is recommended. + + Then access the web gui setup wizard at `https://SERVER_IP:8080` if accessing locally (must set `SERVER_IP` env var), or at `https://pydio-cells.domain.com` if reverse proxying. + # changelog changelogs: + - {date: "27.06.24:", desc: "Rebasing to Alpine 3.20.."} - {date: "14.03.24:", desc: "Rebasing to alpine 3.19. Grpc port defaults to 8080."} - {date: "11.10.23:", desc: "Rebasing to alpine 3.18. Build on alpine edge with Go 1.21."} - {date: "06.07.23:", desc: "Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)"} diff --git a/root/etc/s6-overlay/s6-rc.d/init-pydio-cells-config/run b/root/etc/s6-overlay/s6-rc.d/init-pydio-cells-config/run index 1df6ff9..424b392 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-pydio-cells-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-pydio-cells-config/run @@ -3,7 +3,7 @@ mkdir -p /config/keys SERVER_IP=${SERVER_IP:-0.0.0.0} -if [ -f "/config/keys/cert.crt" ] && openssl x509 -in /config/keys/cert.crt -noout -text | grep -q "$SERVER_IP"; then +if [[ -f "/config/keys/cert.crt" ]] && openssl x509 -in /config/keys/cert.crt -noout -text | grep -q "$SERVER_IP"; then echo "using existing self signed cert" else echo "generating self signed cert with SAN $SERVER_IP" @@ -11,9 +11,9 @@ else -config <(printf "[req]\nprompt=no\ndistinguished_name=all_the_dn_details\nreq_extensions=v3_req\n[all_the_dn_details]\nC=US\nST=CA\nL=Carlsbad\nO=Linuxserver.io\nOU=LSIO Server\nCN=*\n[v3_req]\nsubjectAltName=DNS:pydio-cells,IP:${SERVER_IP}") fi -if [ -f /config/pydio.json ]; then +if [[ -f /config/pydio.json ]]; then CURRENTURL=$(jq -r '.defaults.url' /config/pydio.json) - if [ "$CURRENTURL" != "$EXTERNALURL" ]; then + if [[ "$CURRENTURL" != "$EXTERNALURL" ]]; then echo "Updating external url from environment variable." jq ".defaults.url = \"$EXTERNALURL\"" /config/pydio.json > /tmp/pydio.json mv /tmp/pydio.json /config/pydio.json @@ -21,6 +21,6 @@ if [ -f /config/pydio.json ]; then fi # permissions -chown -R abc:abc \ +lsiown -R abc:abc \ /app \ /config diff --git a/root/etc/s6-overlay/s6-rc.d/svc-pydio-cells/run b/root/etc/s6-overlay/s6-rc.d/svc-pydio-cells/run index f2bebc1..7b2e167 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-pydio-cells/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-pydio-cells/run @@ -1,7 +1,7 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash -if [ -f /config/pydio.json ]; then +if [[ -f /config/pydio.json ]]; then RUN_OPTS="start --log=production" else RUN_OPTS="configure --site_bind 0.0.0.0:8080 --site_external $EXTERNALURL --tls_cert_file /config/keys/cert.crt --tls_key_file /config/keys/cert.key"