| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-21 18:48:31 +02:00
										 |  |  | if ! [ -f "docker-compose.yaml" ]; then | 
					
						
							|  |  |  |   echo -e "
 | 
					
						
							|  |  |  |   \033[1;31mMissing docker-compose.yaml\033[0m | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   You are currently in \033[0;36m$(pwd)\033[0m | 
					
						
							|  |  |  |   Run this script from the root of prind to gather all necessary data. | 
					
						
							|  |  |  |   >  cd prind | 
					
						
							|  |  |  |   >  ./scripts/get-info.sh | 
					
						
							|  |  |  |   "
 | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  | echo -e "
 | 
					
						
							|  |  |  | This Script will generate an archive containing the following data: | 
					
						
							|  |  |  |   - docker system info | 
					
						
							|  |  |  |   - docker compose version | 
					
						
							| 
									
										
										
										
											2022-09-21 18:48:31 +02:00
										 |  |  |   - docker system storage metrics | 
					
						
							|  |  |  |   - docker images available | 
					
						
							|  |  |  |   - host storage usage metrics | 
					
						
							|  |  |  |   - list of currently connected devices | 
					
						
							|  |  |  |   - Containers of this stack | 
					
						
							| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  |   - Image Names and versions of currently running containers of this stack | 
					
						
							|  |  |  |   - klippy.log and moonraker.log | 
					
						
							|  |  |  |   - a full copy of this directory | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \033[1;31mWarning!\033[0m | 
					
						
							|  |  |  | The generated files might contain sensitive data like api keys. | 
					
						
							|  |  |  | Be sure to remove all data you do not wish to share before uploading the archive to the issuetracker. | 
					
						
							|  |  |  | Press [Enter] to continue or [Ctrl+C] to abort. | 
					
						
							|  |  |  | "
 | 
					
						
							|  |  |  | read | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | tmpdir=$(mktemp -d --suffix=-prind) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-06 14:49:26 +02:00
										 |  |  | function pad_cmd { | 
					
						
							|  |  |  |   echo "## ${@}" | 
					
						
							|  |  |  |   ${@} | 
					
						
							|  |  |  |   echo "## END ${@}" | 
					
						
							|  |  |  |   echo "" | 
					
						
							| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-06 15:09:23 +02:00
										 |  |  | commands=( | 
					
						
							|  |  |  |   "docker system info" | 
					
						
							|  |  |  |   "docker compose version" | 
					
						
							|  |  |  |   "docker system df" | 
					
						
							|  |  |  |   "docker image ls" | 
					
						
							|  |  |  |   "df -h" | 
					
						
							|  |  |  |   "ls -lRn /dev" | 
					
						
							|  |  |  |   "docker ps -af label=org.prind.service" | 
					
						
							|  |  |  |   "docker cp $(docker ps -aqf label=org.prind.service=klipper):/opt/printer_data/logs ${tmpdir}" | 
					
						
							|  |  |  |   "cp -a $(pwd) $tmpdir" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  | ( | 
					
						
							| 
									
										
										
										
											2023-08-06 15:09:23 +02:00
										 |  |  |   for cmd in "${commands[@]}"; do | 
					
						
							|  |  |  |     pad_cmd ${cmd} | 
					
						
							|  |  |  |   done | 
					
						
							| 
									
										
										
										
											2023-08-06 14:49:26 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   echo "## Image Versions" | 
					
						
							| 
									
										
										
										
											2022-12-18 14:00:45 +01:00
										 |  |  |   for container in $(docker ps -aqf "label=org.prind.service"); do | 
					
						
							|  |  |  |     echo "$(docker inspect --format '{{ index .Config.Labels "org.prind.service" }}' ${container}): $(docker inspect --format '{{ index .Config.Image }}' ${container}) $(docker inspect --format '{{ index .Config.Labels "org.prind.image.version"}}' ${container})" | 
					
						
							| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  |   done | 
					
						
							| 
									
										
										
										
											2023-08-06 14:49:26 +02:00
										 |  |  |   echo "## END Image Versions" | 
					
						
							| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-06 14:49:26 +02:00
										 |  |  | ) > ${tmpdir}/info.txt 2>&1 | 
					
						
							| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-06 14:49:26 +02:00
										 |  |  | ## Generate archive | 
					
						
							|  |  |  | archive_name="prind-info-$(date +%d%m%Y-%H%M%S).tar.gz" | 
					
						
							| 
									
										
										
										
											2023-08-06 21:40:26 +02:00
										 |  |  | tar --exclude "out" --exclude "resonances" -cf ${archive_name} ${tmpdir} 2> /dev/null | 
					
						
							| 
									
										
										
										
											2022-07-09 14:21:17 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-06 14:49:26 +02:00
										 |  |  | ## Prompt user to upload the generated file | 
					
						
							|  |  |  | echo -e "
 | 
					
						
							|  |  |  | \033[1;32mSuccess:\033[0m Please attach \033[1;33m${archive_name}\033[0m to your issue. | 
					
						
							|  |  |  | "
 |