A DC motor's stall current can be as much as ten times its nominal max running current. Unfortunately, unless you are using a motor controller with current limiting, or can otherwise ramp up the speed slowly, every time you start the motor, its rotor is initially stationary, so it *will* attempt to pull its stall current, which may well be over 100A
To fix this without rewiring the compressor so its pressure switch sends an ON signal to an external motor controller would be very difficult.
Linear current limiting would have to dissipate up to 216W every time the motor starts, and have negligable voltage drop when the motor's drawing 18A. You could probably get there with a whole bunch of paralleled power MOSFET + OPAMP constant current sinks on a*BIG* heatsink.
The best external option would probably be a large high current supercap bank to supply the surge, with a time delay relay to short out a 1.2 ohm 100W resistor once its fully charged from the PSU and also operate a >100A contactor to keep the load disconnected till the cap bank is charged. You could also probably replace the relay and contactor with really beefy PMOSFETs and a 555 timer.