diff --git a/server/Server.js b/server/Server.js
index 46850cbb..183c28a3 100644
--- a/server/Server.js
+++ b/server/Server.js
@@ -65,6 +65,12 @@ class Server {
       }
     }
 
+    if (process.env.PODCAST_DOWNLOAD_TIMEOUT) {
+      global.PodcastDownloadTimeout = process.env.PODCAST_DOWNLOAD_TIMEOUT
+    } else {
+      global.PodcastDownloadTimeout = 30000
+    }
+
     if (!fs.pathExistsSync(global.ConfigPath)) {
       fs.mkdirSync(global.ConfigPath)
     }
diff --git a/server/utils/ffmpegHelpers.js b/server/utils/ffmpegHelpers.js
index c7024225..d9e77161 100644
--- a/server/utils/ffmpegHelpers.js
+++ b/server/utils/ffmpegHelpers.js
@@ -106,7 +106,7 @@ module.exports.downloadPodcastEpisode = (podcastEpisodeDownload) => {
       headers: {
         'User-Agent': 'audiobookshelf (+https://audiobookshelf.org)'
       },
-      timeout: 30000
+      timeout: global.PodcastDownloadTimeout
     }).catch((error) => {
       Logger.error(`[ffmpegHelpers] Failed to download podcast episode with url "${podcastEpisodeDownload.url}"`, error)
       return null
diff --git a/server/utils/podcastUtils.js b/server/utils/podcastUtils.js
index 26bd1733..0c742407 100644
--- a/server/utils/podcastUtils.js
+++ b/server/utils/podcastUtils.js
@@ -238,7 +238,7 @@ module.exports.getPodcastFeed = (feedUrl, excludeEpisodeMetadata = false) => {
   return axios({
     url: feedUrl,
     method: 'GET',
-    timeout: 12000,
+    timeout: global.PodcastDownloadTimeout,
     responseType: 'arraybuffer',
     headers: {
       Accept: 'application/rss+xml, application/xhtml+xml, application/xml, */*;q=0.8',