{"id":2433940,"date":"2026-05-27T09:23:08","date_gmt":"2026-05-27T09:23:08","guid":{"rendered":"https:\/\/celebrity.land\/en\/?p=2433940"},"modified":"2026-05-27T09:23:08","modified_gmt":"2026-05-27T09:23:08","slug":"new-7000-capacity-warehouse-venue-set-to-open-on-thames","status":"publish","type":"post","link":"https:\/\/celebrity.land\/en\/new-7000-capacity-warehouse-venue-set-to-open-on-thames\/","title":{"rendered":"New 7,000-capacity warehouse venue set to open on Thames"},"content":{"rendered":"<p><\/p>\n<div id=\"subscription-content\">\n<p>\n  Ironworks, located at a historic riverside site, will launch in October with a limited run of six shows.\n<\/p>\n<p>\n  The venue aims to create an immersive experience that combines festival-scale production with the raw energy of warehouse spaces.\n<\/p>\n<p>\n  <img srcset=\"https:\/\/www.london-now.co.uk\/resources\/images\/20967565\/?type=mds-article-575 575w, https:\/\/www.london-now.co.uk\/resources\/images\/20967565\/?type=mds-article-962 962w, https:\/\/www.london-now.co.uk\/resources\/images\/20967565\/?type=mds-article-642 1400w, https:\/\/www.london-now.co.uk\/resources\/images\/20967565\/?type=mds-article-620 1401w\" sizes=\"(max-width: 575px) 575px, (max-width: 992px) 962px, (max-width: 1400px) 1400px, (min-width: 1401px) 1401px\" width=\"100%\"\/><span class=\"inline-image-caption\">Ironworks set to bring 7,000-capacity events to capital this autumn <em>(Image: Grant Walker)<\/em><\/span>\n<\/p>\n<p>\n  The 7,000-capacity venue, developed by LWE in partnership with placemaking organisation PROJEKT, features an open-air terrace <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.london-now.co.uk\/news\/25900402.wild-unexpected-creatures-found-spotted-river-thames\/?ref=ed_direct\" target=\"_blank\">overlooking the Thames.<\/a>\n<\/p>\n<p>\n  The site, formerly home to the Thames Ironworks and shipbuilding yards, is steeped in history.\n<\/p>\n<p>\n  The development aims to pay homage to the site&#8217;s industrial past while creating a new space for electronic music fans.\n<\/p>\n<p>\n  The venue has been designed to incorporate the building&#8217;s history, with cutting-edge sound, lighting, and visual production working with the architecture to deliver high-impact, immersive shows.\n<\/p>\n<p>\n  A visual installation by the Museum of Youth Culture will explore the history of warehouse <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.london-now.co.uk\/news\/26138646.arsenal-trophy-parade-cause-major-disruption-londoners-weekend\/?ref=ed_recent\" target=\"_blank\">culture in London<\/a>, bringing the stories and spirit of the scene into the fabric of the space.\n<\/p>\n<p>\n  <img srcset=\"https:\/\/www.london-now.co.uk\/resources\/images\/20967566\/?type=mds-article-575 575w, https:\/\/www.london-now.co.uk\/resources\/images\/20967566\/?type=mds-article-962 962w, https:\/\/www.london-now.co.uk\/resources\/images\/20967566\/?type=mds-article-642 1400w, https:\/\/www.london-now.co.uk\/resources\/images\/20967566\/?type=mds-article-620 1401w\" sizes=\"(max-width: 575px) 575px, (max-width: 992px) 962px, (max-width: 1400px) 1400px, (min-width: 1401px) 1401px\" width=\"100%\"\/><span class=\"inline-image-caption\">Riverside space to host large-scale shows with immersive production <em>(Image: Grant Walker)<\/em><\/span>\n<\/p>\n<p>\n  The launch of Ironworks marks a return to first principles for LWE, a team long associated with London&#8217;s warehouse culture.\n<\/p>\n<p>\n  Over the past two decades, they have delivered landmark events at spaces including Turnmills, Great Suffolk Street, and Tobacco Dock, and played a defining role in the delivery of iconic music venue, Printworks London.\n<\/p>\n<p>\n  The launch of Ironworks also represents a commitment to the area.\n<\/p>\n<p>\n  The project works with local networks, independent businesses, and creative communities.\n<\/p>\n<p>\n  This includes dedicated ticket access for residents, opportunities for independent food traders, and employment connected to the venue&#8217;s launch and ongoing programme.\n<\/p>\n<p>\n  Ironworks is set to host just six shows this year, offering a rare opportunity to experience some of electronic music&#8217;s most in-demand figures in a raw warehouse setting with the highest quality sound and light production.\n<\/p>\n<p>\n  The full lineup details are set to be announced in June.\n<\/p>\n<p>\n  <strong>Read more<\/strong>\n<\/p>\n<p>\n  The venue also aims to be a space for creative collaboration, with its supporters drawn from independent London-based collectives.\n<\/p>\n<p>\n  This approach reinforces the venue&#8217;s connection to the city, shaping it by its people and its creative communities.\n<\/p>\n<p>\n  In a city where independent cultural space is under increasing pressure, Ironworks offers something increasingly rare: room to gather, to lose yourself in sound, and to experience electronic music at scale in a setting that remains connected to the values that shaped it.\n<\/p>\n<p>\n  The launch of Ironworks also signals a new chapter for the Thames Wharf site.\n<\/p>\n<p>\n  The venue&#8217;s launch is set to bring thousands of people together around a shared moment that won\u2019t be easily repeated, reactivating a piece of London\u2019s industrial history for the present.\n<\/p>\n<p>\n  Ironworks is set to open in October 2026.\n<\/p>\n<\/div>\n<p><script type = \"text\/javascript\">\n( function () {\n    window._sp_ = {\n        config: {\n            baseEndpoint: 'https:\/\/a02342.london-now.co.uk',\n            accountId: 52,\n            targetingParams:{\n                subscribed: false,\n                privacy: false\n            },\n            gdpr: { },\n            events: {\n                onMessageReady: function (message_type) {\n                    trackSPEvents('event76');\n                },\n                onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) {\n                    console.log('message_type: ', message_type);\n                    console.log('choice_id: ', choice_id);\n                    console.log('choice_type_id: ', choice_type_id);\n                    if ('yes' === 'yes') {\n                        if (choice_type_id === 12) {\n                            trackSPEvents('event83'); \/\/Consent Banner Reject All\n                            trackSPEvents('event82'); \/\/Journalism Message Shown\n                        }\n                        if (choice_type_id === 11) {\n                            trackSPEvents('event78');\n                        }\n                        if (choice_type_id === 9) {\n                            trackSPEvents('event77');\n                        }\n                    } else {\n                        \/\/ these are the second argument in non-gate\n                        if (choice_type_id === 12) {\n                            trackSPEvents('event77');\n                        }\n                        if (choice_type_id === 11) {\n                            trackSPEvents('event78');\n                        }\n                        if (choice_type_id === 13) {\n\t\t                    trackSPEvents('event83');\n                        }\n                    }\n                },\n                onPrivacyManagerActionStatus: function(message_type, status, actionType) {\n                    console.log('message_type: ' + message_type);\n                    console.log('status: ' + status);\n                    console.log('actionType: ' + actionType);\n                    if ('yes' === 'yes') {\n                        if (actionType === 11) {\n                            trackSPEvents('event79'); \/\/Privacy Manager Accept\n                        }\n                        if (actionType === 9) {\n                            trackSPEvents('event68'); \/\/Privacy Manager Redirect\n                        }\n                        if (actionType === 1) {\n                            trackSPEvents('event75'); \/\/Forced tcf String Change\n                        }\n                    } else {\n                    \/\/ these are the second argument in non-gate\n                        if (actionType === 13) {\n                            trackSPEvents('event81'); \/\/Privacy Manager Reject\n                        }\n                        if (actionType === 11) {\n                            trackSPEvents('event79'); \/\/Privacy Manager Accept\n                        }\n                        if (actionType === 1) {\n                            trackSPEvents('event80'); \/\/Privacy Manager Save & Exit\n                        }\n                    }\n                },\n                onPMCancel: function (message_type) {\n                    console.log('onPMCancel', message_type);\n                    trackSPEvents('event84'); \/\/Privacy Manager Back\n                },\n            }\n        }\n    }\n    __tcfapi('addEventListener', 2, function (tcData, success) {\n        console.log('SP: Event Listen:', tcData, success);\n        if (success && tcData.eventStatus === 'useractioncomplete') {\n            setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests);\n            var csnt=\"none\";\n            if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {\n                csnt=\"yes\";\n            } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {\n                csnt=\"no\";\n            }\n            googletag.cmd.push(function() {\n                \/\/ console.log('DFP: Cookie check - setting dfpcsnt to ', csnt);\n                googletag.pubads().setTargeting('dfpcsnt', csnt);\n            });\n            \/\/ ready to start DFP\n            \/\/ console.log('PIANO: setting unrestricted via useractioncomplete');\n            \/\/ runPiano('unrestricted');\n            startAdvertising(tcData.listenerId);\n            var e = new Event('launch:cmp:choice-made');\n            window.dispatchEvent(e);\n        } else if (success && tcData.eventStatus === 'tcloaded') {\n            \/\/ tcloaded means a valid TCF v2.0 string is available\n            \/\/ console.log('PIANO: setting unrestricted via tcloaded');\n            \/\/ runPiano('unrestricted');\n            if (tcData.gdprApplies === false) {\n                $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.london-now.co.uk', path: \"https:\/\/www.london-now.co.uk\/\", expires: 100});\n            }\n            startAdvertising(tcData.listenerId);\n        } else if (success && tcData.eventStatus === 'useractionnotcomplete') {\n            \/\/ do nothing - this means the user has not made a choice yet\n        } else if (success && tcData.eventStatus === 'cmpuishown') {\n            \/\/ do nothing - this means the CMP UI has been shown\n        } else if (!success) {\n            \/\/ $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.london-now.co.uk', path: \"https:\/\/www.london-now.co.uk\/\", expires: 100});\n            \/\/ startAdvertising();\n        } else {\n            \/\/ console.log('PIANO: setting restricted');\n            \/\/ runPiano('restricted');\n        }\n    });\n    $(document).on('click', '.gdpr-option-v2', function (e) {\n        e.preventDefault();\n        sendEvent76 = false;\n        var id = $(this).data('v2-id');\n        if ($(this).data('is-gate') === 'yes') {\n            trackSPEvents('event87');\n            _sp_.gdpr.loadPrivacyManagerModal(id);\n        } else {\n            trackSPEvents('event77');\n            _sp_.gdpr.loadPrivacyManagerModal(id);\n        }\n    });\n    function getTcfData() {\n        __tcfapi('addEventListener', 2, function(data, success) {\n            if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) {\n                \/\/ console.log('DFP: No TCF data found, not setting cookies');\n                return;\n            }\n            setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests);\n        }, [755]);\n    }\n    getTcfData();\n    function setTcfCookie(data, legitimateInterests) {\n        var consents = [];\n        $.each(data, function(id, consent)  {\n            var c = (consent === true) ? 'yes' : 'no';\n            consents.push(c)\n        });\n        \/\/ console.log('DFP: consents length: ', consents.length);\n        if (consents.length !== 10) {\n            \/\/ consents = consents.fill('no', consents.length, 10);\n            for (var i = consents.length; i < 10; i++) {\n                consents[i] = 'no';\n            }\n        }\n        \/\/ console.log('DFP: Found consents to store in cookie:', consents);\n        $.cookie('prev-tcf-v2', consents.join(','), {domain: '.london-now.co.uk', path: \"https:\/\/www.london-now.co.uk\/\", expires: 100});\n\n        var consentEvent4 = 'none';\n        if (typeof data[4] !== 'undefined') {\n            consentEvent4 = data[4] ? 'true' : 'false';\n        }\n        $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.london-now.co.uk', path: \"https:\/\/www.london-now.co.uk\/\", expires: 100});\n\n        var legitInterest=\"none\";\n        if (legitimateInterests &#038;&#038; typeof legitimateInterests[2] !== 'undefined') {\n            legitInterest = legitimateInterests[2] ? 'true' : 'false';\n        }\n\n        $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.london-now.co.uk', path: \"https:\/\/www.london-now.co.uk\/\", expires: 100});\n    }\n\n    var sendEvent76 = true;\n\n    function trackSPEvents(events) {\n        if (events === 'event76' &#038;&#038; !sendEvent76) {\n            return;\n        } else if (events === 'event76') {\n            sendEvent76 = false;\n        }\n\n        if (typeof window.s !== 'object') {\n            \/\/ console.log('DFP: No window.s object found, trying again in 1 second');\n            window.setTimeout(function () { trackSPEvents(events)} , 1000);\n            return;\n        }\n\n        \/\/ console.log(\"ADB: Tracking %s\", events);\n        \/\/ Re-create the Omniture object so the data can be tracked.\n        var s = window.s;\n\n        if (events.indexOf('event70') !== -1) {\n            \/\/ console.log('DFP: Events passed, added evars');\n            s.eVar35 = 'enabled';\n            s.prop35 = 'enabled';\n        }\n\n        s.events = events;\n        s.linkTrackEvents = events;\n        s.linkTrackVars = \"eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35\";\n        s.suppressPageView = true;\n        s.tl(true,'o','Ad Block');\n    }\n\n    function startAdvertising(id)\n    {\n        if (typeof window.doNotAdvertise !== 'undefined' &#038;&#038; window.doNotAdvertise === true) {\n            return;\n        }\n\n        \/\/ console.log(\"DFP: Is the page fully loaded?\", window.googleReady);\n        if (window.googleReady !== true) {\n            window.setTimeout(function () {\n                \/\/ console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again');\n                startAdvertising(id);\n            }, 250);\n            return;\n        }\n\n        \/\/ Ensure that we never run this code twice\n        if (window.advertisingStart === true) {\n            return;\n        }\n        \/\/ console.log('DFP: Running advertisement');\n        window.advertisingStart = true;\n\n        var googletag = window.googletag;\n        \/\/ init google objects and array\n        (function() {\n            var gads = document.createElement('script');\n            gads.async = true;\n            gads.type=\"text\/javascript\";\n            gads.src=\"https:\/\/securepubads.g.doubleclick.net\/tag\/js\/gpt.js\";\n            var node = document.getElementsByTagName('script')[0];\n            node.parentNode.insertBefore(gads, node);\n        })();\n\n        \/\/ launch the exco slideshow player\n        launchExcoSlideshow();\n\n        \/\/ load facebook etc\n        loadSocials();\n\n        \/\/ Checking our decision to use headerbidding (shorterned as prebid) is correct\n        \/\/ via system logic, and that we have the simplified consent to do so\n        if (usePrebid &#038;&#038; $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {\n            var e = new Event('launch:sourcepoint:consentaccepted');\n            window.dispatchEvent(e);\n\n            \/\/ AP code initialisation\n            \/\/ the script is loaded via launch, once we have detected a consent signal via the datalayer.\n            fetchAp();\n\n            var site=\"desktop\";\n            var _site=\"desktop\";\n\n            \/\/ load IAS scripts and set up vars\n            (function() {\n                var ias = document.createElement('script');\n                ias.async = true;\n                ias.type=\"text\/javascript\";\n                ias.src=\"https:\/\/cdn.adsafeprotected.com\/iasPET.1.js\";\n                var node = document.getElementsByTagName('script')[0];\n                node.parentNode.insertBefore(ias, node);\n            })();\n\n            \/\/ load the prebid script\n            (function() {\n                var pbs = document.createElement('script');\n                pbs.async = true;\n                pbs.type=\"text\/javascript\";\n                pbs.src=\"https:\/\/micro.rubiconproject.com\/prebid\/dynamic\/11022.js?group=newsquest\";\n                var node = document.getElementsByTagName('script')[0];\n                node.parentNode.insertBefore(pbs, node);\n            })();\n\n            \/\/ tell google to actually get the bids from all relevant vendors when loaded\n            googletag.cmd.push(function () {\n                fetchHeaderBids();\n            });\n        }\n\n        \/\/ Outbrain\n        if (\n            (window.data_layer.user.advertising_experience === 'Ad-Free' || window.data_layer.config.disable_outbrain === 'yes') ||\n            (window.data_layer.user.advertising_experience === 'Ad-Light' &#038;&#038; window.data_layer.config.disable_outbrain_with_ad_light === 'yes')\n        ) {\n            \/\/ console.log(\"No Outbrain script loading due to page settings\");\n        } else {\n            \/\/ console.log(\"Loading Outbrain\");\n            var ob = document.createElement('script');\n            ob.async = true;\n            ob.type=\"text\/javascript\";\n            ob.src=\"https:\/\/widgets.outbrain.com\/outbrain.js\";\n            var node = document.getElementsByTagName('script')[0];\n            node.parentNode.insertBefore(ob, node);\n        }\n\n\n        \/\/ remove the listener\n        if (id !== null) {\n            window.__tcfapi('removeEventListener', 2, function (success) { }, id);\n        }\n    }\n\n    \/**\n     * Wait until we have advertising consent to show this advertising\n     * based replacement for the single image on our article pages\n     * This logic is based on excoSlidshowPlayerID that only appears on the page\n     * if a user is NOT a subscriber (including privacy plus) and the page has the\n     * correct information to show it (doesn't have a video, not in sport etc)\n     *\/\n    function launchExcoSlideshow() {\n        const slideShowPlayerId = window.excoSlideshowPlayerId;\n        \/\/ if we do not have a player id, we do not need to do anything\n        if (!slideShowPlayerId) {\n            return;\n        }\n\n        \/\/ this is exco's supplied code, modified for our use\n        (function (d, s, n) {\n            fjs = d.getElementsByTagName(s)[0];\n            js = d.createElement(s);\n            js.className = n;\n            js.src=\"\/\/player.ex.co\/player\/\" + slideShowPlayerId;\n            js.setAttribute('programmatic', 'true');\n\t        js.onload = function () {\n                const playerApi = ExCoPlayer.connect(slideShowPlayerId);\n                playerApi.init({});\n\n                playerApi.on('player-load', function(data) {\n                    $('.mar-article-image').remove();\n                    if (window.screen.width > 800) {\n                        $('.article-hero').attr('style', 'order: 1');\n                    }\n                    window.hide_overlay_for_exco = true;\n                });\n            };\n            fjs.parentNode.insertBefore(js, fjs);\n        }(document, 'script', 'exco-player'));\n    }\n    function loadSocials()\n    {\n        const socials = [\n            'https:\/\/platform.twitter.com\/widgets.js',\n            'https:\/\/connect.facebook.net\/en_US\/all.js#xfbml=1',\n            'https:\/\/www.tiktok.com\/embed.js',\n        ];\n        socials.forEach((social) => {\n            var script = document.createElement('script');\n            script.src = social;\n            script.async = true;\n            document.getElementsByTagName('head')[0].appendChild(script);\n        });\n    }\n})();\n<\/script><\/p>\n<p><em> \u2018 The preceding article may include information circulated by third parties \u2019 <\/em><\/p>\n<p><em> \u2018 Some details of this article were extracted from the following source www.london-now.co.uk \u2019 <\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ironworks, located at a historic riverside site, will launch in October with a limited run of six shows. The venue aims to create an immersive experience that combines festival-scale production with the raw energy of warehouse spaces. Ironworks set to bring 7,000-capacity events to capital this autumn (Image: Grant Walker) The 7,000-capacity venue, developed by [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2433941,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_jetpack_memberships_contains_paid_content":false,"jnews-multi-image_gallery":[],"jnews_single_post":[],"jnews_primary_category":[],"jnews_social_meta":[],"footnotes":""},"categories":[25179],"tags":[],"class_list":["post-2433940","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-music"],"jetpack_featured_media_url":"https:\/\/celebrity.land\/en\/wp-content\/uploads\/2026\/05\/New-7000-capacity-warehouse-venue-set-to-open-on-Thames.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2433940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/comments?post=2433940"}],"version-history":[{"count":1,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2433940\/revisions"}],"predecessor-version":[{"id":2433942,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2433940\/revisions\/2433942"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/media\/2433941"}],"wp:attachment":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/media?parent=2433940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/categories?post=2433940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/tags?post=2433940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}