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://iconverticons.com/online/ to easily create .icns files.