From 6acec31308257abc92312be57e700c387f5c26d4 Mon Sep 17 00:00:00 2001 From: Rayfalling Date: Mon, 18 Dec 2023 23:28:41 +0800 Subject: [PATCH 1/4] Fix permission for enevts --- utils/entrypoint.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/utils/entrypoint.sh b/utils/entrypoint.sh index 3e08492..96d9d8f 100755 --- a/utils/entrypoint.sh +++ b/utils/entrypoint.sh @@ -357,6 +357,11 @@ start_zoneminder () { fi } +correct_permission () { + # warn log: Cannot write to event folder /var/cache/zoneminder/events. Check that it exists and is owned by the web account user. + chown -R www-data:www-data /var/cache/zoneminder/events /var/cache/zoneminder/images /var/log/zm +} + cleanup () { echo " * SIGTERM received. Cleaning up before exiting..." kill $mysqlpid > /dev/null 2>&1 @@ -423,5 +428,8 @@ start_http # Start ZoneMinder start_zoneminder +# Update permission +correct_permission + # tail logs while running tail -F /var/log/zoneminder/zm*.log /var/log/zm/zm*.log From 70bb73aee887f3aca5317a912e33edc299ed7fe1 Mon Sep 17 00:00:00 2001 From: Rayfalling Date: Mon, 18 Dec 2023 23:31:37 +0800 Subject: [PATCH 2/4] Fix Connection failed to mysql --- utils/entrypoint.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/utils/entrypoint.sh b/utils/entrypoint.sh index 96d9d8f..6e8bef1 100755 --- a/utils/entrypoint.sh +++ b/utils/entrypoint.sh @@ -410,6 +410,7 @@ else mysql -u root -e "CREATE USER 'zmuser'@'localhost' IDENTIFIED BY 'zmpass';" mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'zmuser'@'localhost';" + mysql -u root -e "ALTER USER 'zmuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'zmpass';" if [ "$(zm_db_exists)" -eq "0" ]; then echo " * First run of mysql in the container, creating ZoneMinder dB." @@ -417,6 +418,9 @@ else else echo " * ZoneMinder dB already exists, skipping table creation." fi + + # This fix connection failed for tcp connection to mysql + sed -i -e "s/ZM_DB_HOST=.*$/ZM_DB_HOST=127.0.0.1/g" $ZMCONF fi # Ensure we shutdown our services cleanly when we are told to stop From 3217196c2dc1602e5c008efcc272ec966b387e98 Mon Sep 17 00:00:00 2001 From: Rayfalling Date: Mon, 18 Dec 2023 23:35:41 +0800 Subject: [PATCH 3/4] Add Ubuntu 22.04 Dockerfile --- release/ubuntu22.04/Dockerfile | 28 ++++++++++++++++++++++++++++ release/ubuntu22.04/README.md | 18 ++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 release/ubuntu22.04/Dockerfile create mode 100644 release/ubuntu22.04/README.md diff --git a/release/ubuntu22.04/Dockerfile b/release/ubuntu22.04/Dockerfile new file mode 100644 index 0000000..b6d530d --- /dev/null +++ b/release/ubuntu22.04/Dockerfile @@ -0,0 +1,28 @@ +FROM ubuntu:22.04 +MAINTAINER Rayfalling Wang + +# Update base packages +RUN apt update && apt upgrade --assume-yes + +# Install pre-reqs +RUN apt install --assume-yes --no-install-recommends software-properties-common gpg gpg-agent + +# Configure Zoneminder PPA +RUN add-apt-repository ppa:iconnor/zoneminder-1.36 \ + && apt update + +# Install zoneminder +RUN DEBIAN_FRONTEND=noninteractive apt install --assume-yes zoneminder \ + && a2enconf zoneminder \ + && a2enmod rewrite cgi + +# Setup Volumes +VOLUME /var/cache/zoneminder/events /var/cache/zoneminder/images /var/lib/mysql /var/log/zm + +# Expose http port +EXPOSE 80 + +# Configure entrypoint +COPY utils/entrypoint.sh /usr/local/bin/ +RUN chmod 755 /usr/local/bin/entrypoint.sh +ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] diff --git a/release/ubuntu22.04/README.md b/release/ubuntu22.04/README.md new file mode 100644 index 0000000..7a66a6a --- /dev/null +++ b/release/ubuntu22.04/README.md @@ -0,0 +1,18 @@ +# Usage + +The Docker images is not current available from the Docker Hub +You should build it yourself + +```bash +docker run -d -t -p 1080:80 \ + -e TZ='Europe/London' \ + -v ~/zoneminder/events:/var/cache/zoneminder/events \ + -v ~/zoneminder/images:/var/cache/zoneminder/images \ + -v ~/zoneminder/mysql:/var/lib/mysql \ + -v ~/zoneminder/logs:/var/log/zm \ + --shm-size="512m" \ + --name zoneminder \ + zoneminderhq/zoneminder:latest-ubuntu22.04 +``` + +Once the container is running you will need to browse to http://hostname:port/zm to access the Zoneminder interface. From 3ea915c46fa59712f6d2b2de4410fbd53cf7e5be Mon Sep 17 00:00:00 2001 From: Rayfalling Date: Mon, 18 Dec 2023 23:37:48 +0800 Subject: [PATCH 4/4] Mod restart apache2 after enable mod --- release/ubuntu22.04/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release/ubuntu22.04/Dockerfile b/release/ubuntu22.04/Dockerfile index b6d530d..d05aeba 100644 --- a/release/ubuntu22.04/Dockerfile +++ b/release/ubuntu22.04/Dockerfile @@ -14,7 +14,8 @@ RUN add-apt-repository ppa:iconnor/zoneminder-1.36 \ # Install zoneminder RUN DEBIAN_FRONTEND=noninteractive apt install --assume-yes zoneminder \ && a2enconf zoneminder \ - && a2enmod rewrite cgi + && a2enmod rewrite cgi \ + && service apache2 restart # Setup Volumes VOLUME /var/cache/zoneminder/events /var/cache/zoneminder/images /var/lib/mysql /var/log/zm