Zoneminder-notes

From I Will Fear No Evil
Revision as of 10:50, 14 February 2022 by Chubbard (talk | contribs)
Jump to navigation Jump to search

Zoneminder configuration information specific to the alarm filtering can be found in the following areas..

Rebuild database after Docker clobbers it
  1. Assuming docker is crashing, so nothing is using db
  2. mkdir /opt/mysql
  3. Copy database from /opt/Zoneminder/mysql /opt/mysql
  4. Attempt to start database with innodb recovery options set to allow it to run (mariadb_conf.d/50-server.cfg)
  5. mysqldump -u zmuser -pzmpass zm >> /tmp/dump.sql
  6. Remove the innodb recovery options so we can run normal
  7. /usr/bin/mysql_install_db --defaults-file=/etc/mysql/my.cnf (If you edited to point to /opt/mysql in config)
    1. mysql_install_db --user=mysql --datadir=/opt/mysql --basedir=/usr ----auth-root-authentication-method=socket
  8. Start local database: /etc/init.d/mysql start
  9. login to database:
    1. use mysql;
    2. create USER 'zmuser'@'localhost' IDENTIFIED BY 'zmpass';
    3. grant all privileges on zm.* to 'zmuser'@'localhost';
    4. flush privileges;
    5. create database zm;
  10. sudo mysql -u root -S /var/run/mysqld/mysqld.sock zm < /tmp/dump.sql
  11. stop database
  12. copy database back into /opt/Zoneminder/mysql
  13. chown back to correct usierid (will not match mysql)
  14. Start docker container (sudo docker start Zoneminder)

Make damn sure that you lock down the docker version

apt-mark showhold
docker-ce
docker-ce-cli
docker-ce-rootless-extras
docker-scan-plugin
Docker run command

docker run -d --name="Zoneminder" --restart unless-stopped --net="bridge" --privileged="false" --shm-size="8G" -p 8443:443/tcp -p 8081:80/tcp -p 9000:9000/tcp -e TZ="America/Los_Angeles" -e PUID="99" -e PGID="100" -v "/opt/Zoneminder":"/config":rw -v "/opt/Zoneminder/data":"/var/cache/zoneminder":rw dlandon/zoneminder tail -f /dev/null