Surly Disc Trucker 26" bike - Black
The Disc Trucker enjoys the same reputation as Long Haul Trucker: It’s one of the best-riding and most value-packed drop bar touring bikes out there. Sometimes, however, a combination of load, climate, and terrain demands a bit more braking performance than a standard rim-brake LHT can provide.
That’s where the newly redesigned Disc Trucker comes in. Packing reliable stopping power and a horde of useful mounting points, shortened chainstays up the Disc Trucker’s stiffness and maneuverability around corners. Add in improved fit and handling under load, plus captured thru-axles for tool-free removal and installation, and the Disc Trucker is ready to help you meet — or dodge — your daily obligations.
- Dynamo routing on the fork, plus three-pack mounts on the blade and every braze-on you’ll ever need for racks,mudguards, water bottle cages, and more
- 12mm thru-axles for a stiffer feel and increased stability when fully loaded
- Shortened seat tube and slightly sloped top tube for improved stand-over clearance, plus increased stack height for a more upright and comfortable riding position on those long hauls
- Spec’d with the Truck Stop Bar and tubeless ExtraTerrestrial tyres for dependable handling and traction
- Flat-mount disc brakes
- Frame sizes 42–56cm are available with 26” diameter wheels, while frame sizes 56–64cm are available with 700c diameter wheels
- Clearance for 26” x 2.1” tyres with or without mudguards, or 700c x 47mm with or without mudguards
Specifications
- Frame100% Surly 4130 CroMoly steel
- Fork4130 CroMoly, lugged and brazed
- HeadsetCane Creek 40, 1-1/8"
- HandlebarSurly Truckstop Bar
- StemPromax 31.8 4 bolt
- Bar TapeBlack Cork
- SaddleWTB Volt Sport
- SeatpostProMax 27.2 350L non-offset (42-50), offset (52-64)
- Front DerailleurShimano Sora R3030
- Rear DerailleurShimano Alivio M4000 SGS
- STI LeversShimano Sora 3x9
- CranksetShimano Alivio 48x36x26t
- CassetteShimano Alivio, 11-34t, 9 speed
- BrakesTRP Spyre C, 160mm rotors
- RimsAlex Adventurer 2
- HubsNovatec 12x100, 6 bolt, 36H
- TyresSurly ExtraTerrestrial
- ColourBlack
Frequently Asked Questions
-
Please get in touch with a member of the team either by phone (01313745324) or email ([email protected]) where on of the team will be more than happy to help.
ProjektRide Bike Shop Edinburgh
-
If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item.
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
We also have a physical store, if you are local please pop in -
ProjektRide Bike Shop Edinburgh

u003eHeadset\u003c\/span\u003e \u003cspan class=\"ui-list-info\"\u003eDia Compe\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHandlebar\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eGenetic Flare Road Bar\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eStem\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eGenetic SLR\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBar Tape\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eGenetic Classic Cork Tape\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSaddle\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eGenetic STV\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSeatpost\u003c\/span\u003e\u003cspa
n class=\"ui-list-info\"\u003eGenetic Heritage\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eChainset\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM Rival 1x 42T\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear Mech\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM Rival 1x long cage\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSTI Levers\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM Rival 1x\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eChain\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM Rival 1x\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBottom Bracket\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u
ormalizedLocale = window._RestockRocketConfig.normalizedLocale;
const translations = settings.translations;
if (!normalizedLocale) {
// No matching locale has translations; drop payload to save memory
console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
delete settings.translations;
return settings;
}
console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = translatedFields[key];
if (value !== null && value !== undefined && value !== '') {
settings[key] = value;
}
});
} else {
console.debug('STOQ - No translated fields found for locale:', normalizedL
ocale);
}
delete settings.translations;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
// Setup event listener for cart selling plan updates
// This must be called before any scripts are loaded to avoid race conditions
function setupCartSellingPlanUpdater(settings) {
// Setup listener regardless - updateCartSellingPlans has its own guards
// This ensures cleanup happens even when preorders are disabled globally
// Listen for stoq:inventory-data-loaded event dispatched by api.js
window.addEventListener('stoq:inventory-data-loaded', function(event) {
console.debug('STOQ - Inventory data loaded, updating cart selling plans');
if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.updateCartSellingPlans()
.then(hasUpdates => {
if (hasUpdates) {
console.debug('STOQ - cart selling plans update