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 can be executed from a macOS Terminal session.
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"
Once these commands are executed, the .icns file will be located in the directory the source 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".