The macOS dock only displays images that are in the .icns format. If you would like to use a customized logo for the Self Service Dock icon, then you will need to convert an image into this format.
The following script needs a few small adjustments in order to make a valid .icns file for the Self Service application Dock icon. Simply substitute the quoted strings after pathToImage and imageName. The script will take those two variables and create a MyIcon.icns file in the folder that was specified. The image provided needs to have equal width and height, preferably 1024x1024px, and be in PNG format.
Note: These are Bash command language scripts and should be executed from a local macOS Terminal session on an Addigy admin's device.
You can either save the entire script as a .sh file and execute it to produce the .icns file (recommended) or you can go line-by-line but doing line-by-line will require you to type out the file paths each time.
#!/usr/bin/env bash
# Change the two variable lines below to make this script work.
# Make sure the path has NO '/' at the end, and the image has a '/' at the beginning.
pathToImage="/Users/joechip/Downloads"
imageName="/Runciter-Logo.png"
# sips command with -z flag is used here to adjust the size, file name is then adjusted to use the proper naming convention for later conversion using the iconutil command.
# not every sips command here is necessary, you would only need the one for the size(s) you desire, the rest may be omitted.
mkdir "${pathToImage}/MyIcon.iconset"
sips -z 16 16 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_16x16.png"
sips -z 32 32 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_16x16@2x.png"
sips -z 32 32 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_32x32.png"
sips -z 25 25 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_25x25@2x.png"
sips -z 64 64 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_32x32@2x.png"
sips -z 128 128 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_128x128.png"
sips -z 256 256 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_128x128@2x.png"
sips -z 256 256 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_256x256.png"
sips -z 512 512 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_256x256@2x.png"
sips -z 512 512 "${pathToImage}${imageName}" --out "${pathToImage}/MyIcon.iconset/icon_512x512.png"
cp "${pathToImage}${imageName}" "${pathToImage}/MyIcon.iconset/icon_512x512@2x.png"
iconutil -c icns "${pathToImage}/MyIcon.iconset"
rm -R "${pathToImage}/MyIcon.iconset"After running the script, the .icns file will be located in the directory the source (.png) file came from.
Alternatively, you can use third party sites such as https://findicons.com/convert to create .icns files from other image types. You can also use your favorite search engine to search for "create icns".