{"users":[{"id":115923,"username":"Discourse","name":null,"avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/discourse/{size}/148734_2.png","admin":true,"trust_level":4},{"id":15209,"username":"pfaffman","name":"Jay Pfaffman","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pfaffman/{size}/120154_2.png","flair_name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":64725,"username":"JimPas","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jimpas/{size}/148179_2.png","trust_level":2},{"id":174162,"username":"majorjc_MS","name":"Major","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/majorjc_ms/{size}/498912_2.png","trust_level":1},{"id":171937,"username":"alltiagocom","name":"Tiago","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/alltiagocom/{size}/492709_2.png","trust_level":2},{"id":35474,"username":"Canapin","name":"Coin-coin le Canapin","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/canapin/{size}/119591_2.png","trust_level":3},{"id":185831,"username":"sniper756","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/sniper756/{size}/545002_2.png","trust_level":3},{"id":8722,"username":"Falco","name":"Falco","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/falco/{size}/179432_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":4},{"id":109156,"username":"Stigin","name":"Stigin","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/s/49beb7/{size}.png","trust_level":1},{"id":16290,"username":"bekircem","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/bekircem/{size}/44582_2.png","trust_level":2},{"id":117867,"username":"Fabrice","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/fabrice/{size}/265087_2.png","trust_level":2},{"id":184568,"username":"raadtotheraad","name":"Raad","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/raadtotheraad/{size}/527788_2.png","trust_level":1},{"id":191411,"username":"Lxk520","name":"Lxk520","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/lxk520/{size}/550353_2.png","trust_level":1},{"id":27384,"username":"merefield","name":"Robert","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/merefield/{size}/176214_2.png","trust_level":3},{"id":114728,"username":"darkpixlz","name":"Pyx ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/darkpixlz/{size}/549896_2.png","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"trust_level":4},{"id":24426,"username":"enigmaty","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/enigmaty/{size}/65626_2.png","trust_level":2},{"id":60917,"username":"mesatenista","name":"Edmar Holanda","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/m/5f9b8f/{size}.png","trust_level":1},{"id":84520,"username":"OdysLam","name":"Odysseas Lamtzidis","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/odyslam/{size}/194433_2.png","trust_level":2},{"id":145010,"username":"Twissell","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/twissell/{size}/366765_2.png","trust_level":1},{"id":129914,"username":"dlambert","name":"Derek","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/dlambert/{size}/295355_2.png","trust_level":1},{"id":12454,"username":"Richie","name":"Richie Rich","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/richie/{size}/115110_2.png","trust_level":2},{"id":89208,"username":"kynic","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/k/b487fb/{size}.png","trust_level":2},{"id":37716,"username":"Mr.X_Mr.X","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/mr.x_mr.x/{size}/126610_2.png","trust_level":2},{"id":189531,"username":"jesse_c","name":"Jesse","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jesse_c/{size}/545099_2.png","trust_level":0},{"id":15019,"username":"5minpause","name":"5minpause","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/5minpause/{size}/116074_2.png","trust_level":1},{"id":75906,"username":"neounix","name":"Dark Matter","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/neounix/{size}/215617_2.png","trust_level":2},{"id":2377,"username":"mcdanlj","name":"Michael K Johnson","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/mcdanlj/{size}/131829_2.png","trust_level":2},{"id":7720,"username":"rahim123","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/r/df705f/{size}.png","trust_level":2},{"id":63143,"username":"Ed_S","name":"Ed S","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ed_s/{size}/134015_2.png","trust_level":3},{"id":13375,"username":"markersocial","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/markersocial/{size}/170136_2.png","trust_level":2},{"id":16697,"username":"mpalmer","name":"Matt Palmer","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/mpalmer/{size}/45740_2.png","trust_level":2},{"id":108275,"username":"markcoley","name":"Mark Coley","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/markcoley/{size}/242366_2.png","trust_level":1},{"id":109684,"username":"f1r4s","name":"Eddie","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/f1r4s/{size}/245347_2.png","trust_level":2},{"id":32726,"username":"gwmngilfen","name":"Greg","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gwmngilfen/{size}/302925_2.png","trust_level":2},{"id":15568,"username":"fefrei","name":"Felix Freiberger","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/fefrei/{size}/119538_2.png","trust_level":2},{"id":24453,"username":"ewanly","name":"EW 👌","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ewanly/{size}/62854_2.png","trust_level":2},{"id":32,"username":"codinghorror","name":"Jeff Atwood","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/codinghorror/{size}/110067_2.png","admin":true,"trust_level":2},{"id":17621,"username":"jomaxro","name":"Joshua Rosenfeld","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jomaxro/{size}/126216_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":15291,"username":"philh","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/philh/{size}/532740_2.png","trust_level":2},{"id":135057,"username":"fokx","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/f/958977/{size}.png","trust_level":2},{"id":135392,"username":"NateDhaliwal","name":"Nate Dhaliwal","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/natedhaliwal/{size}/313494_2.png","flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"trust_level":3},{"id":182632,"username":"dodger","name":"dodger","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/dodger/{size}/522280_2.png","trust_level":1},{"id":182437,"username":"lion","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/l/57b2e6/{size}.png","trust_level":1},{"id":27495,"username":"thaidb","name":"thaidb","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/thaidb/{size}/68488_2.png","trust_level":2},{"id":4457,"username":"Lee_Ars","name":"Lee_Ars","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/lee_ars/{size}/1597_2.png","trust_level":2},{"id":10365,"username":"brahn","name":"Brahn","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/brahn/{size}/109267_2.png","trust_level":2},{"id":141713,"username":"jayme","name":"Jayme ","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/j/b38774/{size}.png","trust_level":2},{"id":57788,"username":"nathank","name":"Nathan Kershaw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/nathank/{size}/290039_2.png","flair_name":"support-advocates","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_group_id":148,"trust_level":4},{"id":183536,"username":"DevTeVe","name":"DevTek Ve","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/devteve/{size}/487601_2.png","trust_level":2},{"id":72263,"username":"denvergeeks","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/denvergeeks/{size}/327671_2.png","trust_level":2},{"id":82960,"username":"manuel","name":"Manuel Kostka","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/manuel/{size}/468169_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":4},{"id":184333,"username":"Jhustle","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/{size}.png","trust_level":0},{"id":28775,"username":"chrisc","name":"Chris Croome","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/chrisc/{size}/119982_2.png","trust_level":2},{"id":109932,"username":"bar10dr","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/b/b38774/{size}.png","trust_level":2},{"id":118140,"username":"zengyunsi","name":"运思 曾","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/zengyunsi/{size}/265722_2.png","trust_level":1},{"id":119102,"username":"Lhc_fl","name":"Linca","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/lhc_fl/{size}/268115_2.png","trust_level":2},{"id":113402,"username":"go_ahead","name":"go ahead","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/go_ahead/{size}/254371_2.png","trust_level":2},{"id":79292,"username":"honeymoose","name":"HoneyMoose","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/honeymoose/{size}/198718_2.png","trust_level":2},{"id":183069,"username":"J_admin","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/j_admin/{size}/523343_2.png","trust_level":1},{"id":147473,"username":"hel_Sinki","name":"hel Sinki","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/hel_sinki/{size}/525916_2.png","trust_level":2},{"id":406,"username":"RGJ","name":"Richard - Communiteq","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/rgj/{size}/523185_2.png","flair_name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":44918,"username":"Mine_Zcash","name":"Mine Zcash","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/mine_zcash/{size}/110575_2.png","trust_level":2},{"id":13093,"username":"pacharanero","name":"Marcus Baw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pacharanero/{size}/500583_2.png","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"trust_level":4},{"id":20762,"username":"SystemZ","name":"Michał Frąckiewicz","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/systemz/{size}/88354_2.png","trust_level":2},{"id":28866,"username":"schungx","name":"Stephen Chung","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/schungx/{size}/70989_2.png","trust_level":2},{"id":40904,"username":"Asher_Densmore-Lynn","name":"Asher Densmore Lynn","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/asher_densmore-lynn/{size}/244555_2.png","trust_level":1},{"id":28100,"username":"icculus","name":"Ryan C. Gordon","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/icculus/{size}/120985_2.png","trust_level":1},{"id":34393,"username":"marcozambi","name":"Marco","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/marcozambi/{size}/119505_2.png","trust_level":2},{"id":70136,"username":"TheEngineer","name":"Adam","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/48db29/{size}.png","trust_level":2},{"id":68171,"username":"Paracelsus","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/paracelsus/{size}/164912_2.png","trust_level":2},{"id":27754,"username":"Zup","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/z/c37758/{size}.png","trust_level":2},{"id":1939,"username":"evert","name":"Evert Meulie","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/evert/{size}/300908_2.png","trust_level":2},{"id":43643,"username":"anon48433008","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/a/22d042/{size}.png","trust_level":2},{"id":174478,"username":"b89k57w62","name":"Wu Hao Sheng","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/b89k57w62/{size}/514827_2.png","trust_level":1},{"id":138497,"username":"ToddZ","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/toddz/{size}/328350_2.png","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"trust_level":4},{"id":108265,"username":"pangbo","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pangbo/{size}/538562_2.png","trust_level":2},{"id":117510,"username":"Chan_Patrick","name":"Chan Patrick","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/chan_patrick/{size}/264297_2.png","trust_level":2},{"id":177590,"username":"Yuuki_Mizukami","name":"Yuuki Mizukami","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/yuuki_mizukami/{size}/507644_2.png","trust_level":2}],"primary_groups":[{"id":47,"name":"team"},{"id":276,"name":"VolunteerMods"}],"flair_groups":[{"id":142,"name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":47,"name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111"},{"id":276,"name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_bg_color":"","flair_color":""},{"id":73,"name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111"},{"id":148,"name":"support-advocates","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_color":""}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/wiki/sysadmins/180?page=1","per_page":30,"top_tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":297,"name":"китайский-перевод","slug":"chinese-translation"},{"id":824,"name":"установить","slug":"install"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"},{"id":24,"name":"docker","slug":"docker"},{"id":65,"name":"миграции","slug":"migrations"},{"id":39,"name":"email","slug":"email"},{"id":55,"name":"резервные-копии","slug":"backups"},{"id":479,"name":"объяснение","slug":"explanation"},{"id":482,"name":"ссылка","slug":"reference"},{"id":825,"name":"домены","slug":"domains"},{"id":72,"name":"s3","slug":"s3"},{"id":5,"name":"неподдерживаемая-установк","slug":"unsupported-install"},{"id":46,"name":"cdn","slug":"cdn"},{"id":827,"name":"cloudflare","slug":"cloudflare"},{"id":826,"name":"google-cloud","slug":"google-cloud"},{"id":764,"name":"maxmind","slug":"maxmind"},{"id":466,"name":"rails-console","slug":"rails-console"},{"id":830,"name":"спам","slug":"spam"},{"id":543,"name":"ии","slug":"ai"},{"id":318,"name":"рука","slug":"arm"},{"id":271,"name":"настройка","slug":"configuring"},{"id":522,"name":"featured-link","slug":"featured-link"},{"id":1113,"name":"хостинг","slug":"hosting"},{"id":709,"name":"letsencrypt","slug":"letsencrypt"},{"id":739,"name":"raspberry-pi","slug":"raspberry-pi"},{"id":492,"name":"два-контейнера","slug":"two-container"},{"id":511,"name":"просмотренные-слова","slug":"watched-words"},{"id":66,"name":"wordpress","slug":"wordpress"},{"id":252,"name":"wp-discourse","slug":"wp-discourse"}],"topics":[{"fancy_title":"Индекс системных администраторов","fancy_title_localized":true,"locale":"en","id":322725,"title":"Sysadmins Index","slug":"sysadmins-index","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2024-08-21T14:22:24.409Z","last_posted_at":"2024-08-21T14:22:24.487Z","bumped":true,"bumped_at":"2024-08-22T03:18:30.727Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Переход на Discourse\n\nSMF2: Перенос форума SMF2 на Discourse\nVanilla: Перенос форума Vanilla на Discourse\nPunBB: Перенос форума PunBB на Discourse\nKunena 3: Перенос форума Kunena 3 на Discourse\nPhorum: Перенос форума P&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":224,"like_count":8,"has_summary":false,"last_poster_username":"Discourse","category_id":180,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse migration and installation guides, including tutorials for various platforms and troubleshooting common issues, such as errors, email problems, and configuration changes.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Recommended Hosting Providers for Self Hosters","fancy_title_localized":false,"locale":"en","id":79562,"title":"Recommended Hosting Providers for Self Hosters","slug":"recommended-hosting-providers-for-self-hosters","posts_count":119,"reply_count":85,"highest_post_number":134,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/9/7/d/97d8f04c3c8d1e0f7fed6cfd60cb58693eeb231e.jpeg","created_at":"2018-02-01T18:57:31.970Z","last_posted_at":"2026-02-24T12:43:22.570Z","bumped":true,"bumped_at":"2026-02-24T12:43:22.570Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"This guide is intended for people who are not system administrators who just want to make Discourse work. This is a list of cloud hosting services that are believed to be reliable and easy enough for a novice to get up a&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":800,"height":500,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/9/7/d/97d8f04c3c8d1e0f7fed6cfd60cb58693eeb231e.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":375,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/d/97d8f04c3c8d1e0f7fed6cfd60cb58693eeb231e_2_600x375.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":250,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/d/97d8f04c3c8d1e0f7fed6cfd60cb58693eeb231e_2_400x250.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":187,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/d/97d8f04c3c8d1e0f7fed6cfd60cb58693eeb231e_2_300x187.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":125,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/d/97d8f04c3c8d1e0f7fed6cfd60cb58693eeb231e_2_200x125.jpeg"}],"tags":[{"id":1113,"name":"хостинг","slug":"hosting"}],"tags_descriptions":{"хостинг":"Темы о сервисах для хостинга Discourse: на собственных серверах, в облаке или..."},"views":31195,"like_count":407,"has_summary":true,"last_poster_username":"Canapin","category_id":180,"op_like_count":68,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Recent updates highlight upcoming price increases at Hetzner, with potential implications for other providers, prompting discussions on cost comparisons and the impact of inflation on self-hosting options for Discourse.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":64725,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":174162,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":171937,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":35474,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Решение проблемы отображения всех IP-адресов пользователей как Cloudflare вместо реальных IP-адресов в браузере при развертывании Discourse через 1Panel","fancy_title_localized":true,"locale":"zh_CN","id":402038,"title":"解决1Panel部署的Discourse，所有用户ip显示为来自 Cloudflare，而不是用户的浏览器真实IP的问题","slug":"1panel-discourse-ip-cloudflare-ip","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2026-05-01T19:46:58.087Z","last_posted_at":"2026-05-01T19:46:58.299Z","bumped":true,"bumped_at":"2026-05-02T08:14:31.818Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я установил 1Panel на VPS, развернул Discourse (в контейнере) и настроил обратный прокси с помощью OpenResty (также в контейнере). Домен размещён в Cloudflare, и включён CDN (желтый облачный значок). Ниже приведена инструкция по решению проблемы, когда у пользователей отображается IP-адрес Cloudflare вместо реального IP-адреса их браузера.\n\n1. В 1Panel создайте запланированную задачу для еженедельной загрузки актуального списка IP-адресов Cloudflare и сохранения его в директорию конфигурации OpenResty.\n\n\nВ левом меню 1Panel нажмите «Планировщик&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":105,"like_count":2,"has_summary":false,"last_poster_username":"sniper756","category_id":180,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The post provides a tutorial for fixing Discourse IP display issues behind Cloudflare and OpenResty by configuring automated IP list updates, setting realip headers, and modifying Discourse templates to ensure accurate user IP logging.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":185831,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Установка Discourse на домашнем интернете с помощью Cloudflare Tunnel","fancy_title_localized":true,"locale":"en","id":211297,"title":"Install Discourse on a residential internet with Cloudflare Tunnel","slug":"install-discourse-on-a-residential-internet-with-cloudflare-tunnel","posts_count":69,"reply_count":44,"highest_post_number":74,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_1024x512.png","created_at":"2021-12-07T14:02:07.164Z","last_posted_at":"2026-05-01T14:25:24.180Z","bumped":true,"bumped_at":"2026-05-01T14:25:24.180Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Поскольку теперь Discourse поддерживает работу на Raspberry Pi, запуск небольшого экземпляра в домашней лаборатории станет распространенным сценарием. Однако многие бытовые провайдеры блокируют входящий трафик на порты 80/443, что &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1200,"height":600,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":512,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_1024x512.png"},{"max_width":800,"max_height":800,"width":800,"height":400,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_800x400.png"},{"max_width":600,"max_height":600,"width":600,"height":300,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_600x300.png"},{"max_width":400,"max_height":400,"width":400,"height":200,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_400x200.png"},{"max_width":300,"max_height":300,"width":300,"height":150,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_300x150.png"},{"max_width":200,"max_height":200,"width":200,"height":100,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_200x100.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":824,"name":"установить","slug":"install"},{"id":318,"name":"рука","slug":"arm"},{"id":739,"name":"raspberry-pi","slug":"raspberry-pi"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":8916,"like_count":165,"has_summary":true,"last_poster_username":"raadtotheraad","category_id":180,"op_like_count":39,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user resolved an ERR_CONNECTION_TIMED_OUT error while setting up a Cloudflare Tunnel for Discourse on a Raspberry Pi by re-enabling the orange cloud proxy setting.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":8722,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":109156,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":16290,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":117867,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":184568,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Перенаправление корневого домена на www","fancy_title_localized":true,"locale":"zh_CN","id":400583,"title":"@顶级域名重定向到www","slug":"www","posts_count":7,"reply_count":5,"highest_post_number":7,"image_url":null,"created_at":"2026-04-14T06:50:44.835Z","last_posted_at":"2026-04-16T18:04:50.402Z","bumped":true,"bumped_at":"2026-04-16T18:04:50.402Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Временно повысьте привилегии с помощью sudo для редактирования app.yml\n\ncd /var/discourse\nsudo nano /containers/app.yml\n\n\nРедактирование конфигурационного файла Discourse app.yml\n\nВам нужно лишь настроить конфигурационный файл Discourse app.yml, чтобы определить основное доменное имя и связанные с ним псевдонимы:\nDISCOURSE_HOSTNAME: 'www.discourse.cc'      # Ваше основное доменное имя (конечный адрес доступа)\nDISCO…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":144,"like_count":8,"has_summary":false,"last_poster_username":"pfaffman","category_id":180,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Participants clarify that while standard Discourse installs typically log in as root making sudo unnecessary, using sudo is appropriate for secure configurations where root login is disabled.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":191411,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"Любой случайный поддомен перенаправляется на www","fancy_title_localized":true,"locale":"zh_CN","id":400584,"title":"任何随机子域名重定向到www","slug":"www","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2026-04-14T06:58:50.366Z","last_posted_at":"2026-04-14T15:23:07.898Z","bumped":true,"bumped_at":"2026-04-14T17:53:28.226Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Перенаправление случайных поддоменов на www\n\nПолучите AccessKey от Alibaba Cloud (на примере Alibaba Cloud, подайте заявку на получение ключа самостоятельно).\n\nAccessKey ID: LTAI5tQCfDcVcghn5\nAccessKey Secret: J8ZayXB44MIWa1Mfnj\n\n\nУстановка acme.sh\n\ncd ~\ncurl https://get.acme.sh | sh\n\n\nПо умолчанию центр сертификации переключается на Let’s Encrypt, затем повторно запросите сертификат:\n\n# Переключение центра сертификации по умолчанию на Let’s Encrypt...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":87,"like_count":1,"has_summary":false,"last_poster_username":"Lxk520","category_id":180,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The discussion clarifies that the proposed solution enables redirecting any random subdomain to www, distinguishing it from methods that only redirect the root domain.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":191411,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":114728,"primary_group_id":276,"flair_group_id":276}]},{"fancy_title":"Миграция форума NodeBB с MongoDB на Discourse","fancy_title_localized":true,"locale":"en","id":126553,"title":"Migrate a NodeBB forum with MongoDB to Discourse","slug":"migrate-a-nodebb-forum-with-mongodb-to-discourse","posts_count":19,"reply_count":11,"highest_post_number":23,"image_url":null,"created_at":"2019-08-22T17:33:06.337Z","last_posted_at":"2026-03-08T14:39:08.041Z","bumped":true,"bumped_at":"2026-03-08T14:39:08.041Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Как вы, вероятно, знаете, NodeBB поддерживает две СУБД: Redis и MongoDB. Скрипт импорта Discourse поддерживает обе из них. В этом руководстве мы рассмотрим, как выполнить миграцию NodeBB с MongoDB в качестве СУБД. Мы будем использовать N&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":5920,"like_count":29,"has_summary":false,"last_poster_username":"Twissell","category_id":180,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user resolved a NodeBB to Discourse migration error by modifying the import script to handle missing posts and sort data chronologically, with community members suggesting added logging for better debugging.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":24426,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":60917,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":84520,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"Последний автор","user_id":145010,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка AWS SES для исходящей, bounce и входящей почты","fancy_title_localized":true,"locale":"en","id":263604,"title":"Configuring AWS SES for outgoing, bounce, and incoming email","slug":"configuring-aws-ses-for-outgoing-bounce-and-incoming-email","posts_count":13,"reply_count":3,"highest_post_number":13,"image_url":null,"created_at":"2023-05-02T22:18:25.324Z","last_posted_at":"2026-02-26T03:11:21.833Z","bumped":true,"bumped_at":"2026-02-26T03:11:21.833Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я решил поделиться конфигурацией, которую я разработал для использования AWS SES для исходящей, отклонённой и входящей почты. В сервисе SES есть свои тонкости, и потребовалось немало проб и ошибок, чтобы понять, как он работает...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":39,"name":"email","slug":"email"},{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":3022,"like_count":13,"has_summary":false,"last_poster_username":"jesse_c","category_id":180,"op_like_count":9,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users successfully implemented AWS SES for Discourse using Lambda, with one confirming compatibility with Python 3.14 and sharing updated layer build commands for deployment.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":129914,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":12454,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":89208,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":37716,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":189531,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Move from standalone container to separate web and data containers","fancy_title_localized":false,"locale":"en","id":29413,"title":"Move from standalone container to separate web and data containers","slug":"move-from-standalone-container-to-separate-web-and-data-containers","posts_count":138,"reply_count":116,"highest_post_number":148,"image_url":null,"created_at":"2015-05-29T14:12:22.726Z","last_posted_at":"2026-02-24T00:32:38.549Z","bumped":true,"bumped_at":"2026-02-24T00:32:38.549Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":warning: This is an advanced setup. Don’t follow this unless you are experienced with Linux server administration and Docker. You also need to pay close attention to commits to discourse_docker to make sure you notice &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":24,"name":"docker","slug":"docker"},{"id":492,"name":"два-контейнера","slug":"two-container"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":26341,"like_count":254,"has_summary":true,"last_poster_username":"Canapin","category_id":180,"op_like_count":43,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The discussion centers on the removal of the --two-container option from the discourse-install script, sparking debate over reduced convenience for advanced users, concerns about support burden, and perceived unequal treatment between paid and self-hosting users, while acknowledging that two-container setups remain technically supported.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":15019,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":75906,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":35474,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Конфигурация развертывания дискурса с мнением от MKJ","fancy_title_localized":true,"locale":"en","id":193355,"title":"MKJ's Opinionated Discourse Deployment Configuration","slug":"mkjs-opinionated-discourse-deployment-configuration","posts_count":40,"reply_count":28,"highest_post_number":40,"image_url":null,"created_at":"2021-06-09T23:34:00.917Z","last_posted_at":"2026-02-16T19:56:58.881Z","bumped":true,"bumped_at":"2026-02-16T19:56:58.881Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я уже несколько лет управляю форумом Discourse с большим количеством контента и множеством изображений. Maker Forums содержит более 100 ГБ изображений и более 400 000 сообщений, значительная часть из которых была импортирована&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":479,"name":"объяснение","slug":"explanation"},{"id":824,"name":"установить","slug":"install"}],"tags_descriptions":{},"views":7208,"like_count":108,"has_summary":false,"last_poster_username":"mcdanlj","category_id":180,"op_like_count":54,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users are troubleshooting Transparent Huge Pages (THP) configuration on Linux systems for Discourse, confirming that sysctl settings may not persist without proper priority or overrides, despite no apparent conflicting files.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":2377,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":7720,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":63143,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":13375,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Customize direct-delivery Postfix configuration","fancy_title_localized":false,"locale":"en","id":118759,"title":"Customize direct-delivery Postfix configuration","slug":"customize-direct-delivery-postfix-configuration","posts_count":20,"reply_count":8,"highest_post_number":20,"image_url":null,"created_at":"2019-05-27T04:32:28.414Z","last_posted_at":"2026-02-14T23:28:15.998Z","bumped":true,"bumped_at":"2026-02-14T23:28:15.998Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"If you have a mail receiver container which requires customised Postfix configuration, this is the topic for you.  Herein are described the steps required to set Postfix main.cf configuration variables to whatever your h&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":5069,"like_count":20,"has_summary":false,"last_poster_username":"gwmngilfen","category_id":180,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user asks if the mail-receiver container can support multiple domains for incoming mail and Let's Encrypt certificates, seeking clarification on configuration flexibility beyond the default setup.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":16697,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":108275,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":109684,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"Последний автор","user_id":32726,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Add an offline page to display when Discourse is rebuilding or starting up","fancy_title_localized":false,"locale":"en","id":45238,"title":"Add an offline page to display when Discourse is rebuilding or starting up","slug":"add-an-offline-page-to-display-when-discourse-is-rebuilding-or-starting-up","posts_count":141,"reply_count":119,"highest_post_number":163,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/9/0/9065d42ce76d3b600e84f1c694f932a9a1938b75.png","created_at":"2016-06-04T08:41:48.125Z","last_posted_at":"2026-02-03T11:01:35.205Z","bumped":true,"bumped_at":"2026-02-03T11:01:35.205Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":warning: This guide is intended for advanced users, who are already using nginx outside the docker container. By following this guide you make your setup more complicated and will lose some speed benefits like HTTP2 if&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":317,"height":328,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/9/0/9065d42ce76d3b600e84f1c694f932a9a1938b75.png"},{"max_width":300,"max_height":300,"width":289,"height":300,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/9/0/9065d42ce76d3b600e84f1c694f932a9a1938b75_2_289x300.png"},{"max_width":200,"max_height":200,"width":193,"height":200,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/9/0/9065d42ce76d3b600e84f1c694f932a9a1938b75_2_193x200.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"},{"id":271,"name":"настройка","slug":"configuring"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":245023,"like_count":341,"has_summary":true,"last_poster_username":"merefield","category_id":180,"op_like_count":100,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss alternative, simpler methods to handle offline pages during Discourse rebuilds, such as using plugins or container bootstrapping to reduce downtime and complexity.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":15568,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":24453,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":32,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":17621,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Последний автор","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка Amazon S3 от AWS для хранения и Cloudfront для CDN","fancy_title_localized":true,"locale":"en","id":392369,"title":"Configuring AWS's Amazon S3 for storage and Cloudfront for CDNs","slug":"configuring-awss-amazon-s3-for-storage-and-cloudfront-for-cdns","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-12-30T03:58:29.998Z","last_posted_at":"2026-01-13T17:22:50.447Z","bumped":true,"bumped_at":"2026-01-13T17:56:03.694Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Начало работы\nВам потребуется:\n\nЭкземпляр Discourse с доступом к app.yml\nАккаунт AWS\n\nСтратегия именования\nЕсть множество мест, где можно допустить ошибки. Используйте стратегию соглашений об именовании, которая имеет смысл для вас и, возможно, для других&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":72,"name":"s3","slug":"s3"},{"id":46,"name":"cdn","slug":"cdn"}],"tags_descriptions":{},"views":198,"like_count":1,"has_summary":false,"last_poster_username":"philh","category_id":180,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Philh revised the CloudFront setup by using a custom origin with subdomain.yourdomain.tld instead of a temporary S3 bucket, simplifying distribution configuration while maintaining caching and security settings.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":15291,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Развертывание Discourse без Docker","fancy_title_localized":true,"locale":"en","id":351194,"title":"Deploy Discourse without Docker","slug":"deploy-discourse-without-docker","posts_count":34,"reply_count":19,"highest_post_number":36,"image_url":null,"created_at":"2025-02-08T03:56:12.775Z","last_posted_at":"2026-01-08T17:05:01.166Z","bumped":true,"bumped_at":"2026-01-08T17:05:01.166Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Хотя развертывание Discourse по официальной инструкции установки более удобно и безопасно, я хочу углубиться в работу контейнера и узнать, как его можно развернуть в Linux без Docker. Я хочу поделиться пошаго&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":5,"name":"неподдерживаемая-установк","slug":"unsupported-install"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"}],"tags_descriptions":{},"views":1686,"like_count":17,"has_summary":false,"last_poster_username":"lion","category_id":180,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shares a detailed guide on deploying Discourse on Linux without Docker, including system setup, dependencies, configuration, and a script for installation, emphasizing manual steps and potential risks.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":135057,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":182632,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":182437,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Запуск Discourse и WordPress (Docker) на одном VPS с использованием Nginx в качестве обратного прокси","fancy_title_localized":true,"locale":"en","id":392094,"title":"Running Discourse with WordPress (Docker) on a single VPS using Nginx Reverse Proxy","slug":"running-discourse-with-wordpress-docker-on-a-single-vps-using-nginx-reverse-proxy","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-12-24T16:14:24.554Z","last_posted_at":"2025-12-24T16:14:24.630Z","bumped":true,"bumped_at":"2025-12-24T16:14:24.630Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Введение\n\nПо умолчанию установка Discourse «в автономном режиме» привязывается к портам 80 и 443. Чтобы разместить на том же сервере другое приложение, например WordPress, необходимо перенастроить Discourse так, чтобы он прослушивал внутренний порт и ис…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":66,"name":"wordpress","slug":"wordpress"}],"tags_descriptions":{},"views":119,"like_count":2,"has_summary":false,"last_poster_username":"thaidb","category_id":180,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse must be reconfigured to use internal ports with Nginx reverse proxy to coexist with WordPress on a single VPS, enabling shared SSL and centralized traffic management.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":27495,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Некоторые уроки работы с wp-discourse и Cloudflare","fancy_title_localized":true,"locale":"en","id":391942,"title":"Some wp-discourse + cloudflare lessons learned","slug":"some-wp-discourse-cloudflare-lessons-learned","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_1024x567.png","created_at":"2025-12-22T18:06:12.689Z","last_posted_at":"2025-12-22T18:06:12.802Z","bumped":true,"bumped_at":"2025-12-22T18:06:12.802Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Несколько уроков, связанных с настройкой, которые я усвоил за последние месяцы при работе с Discourse, wp-discourse и Cloudflare. Делюсь этим на случай, если кому-то это окажется полезным. \nСреда: \n\nDiscourse и WordPress размещены на sepa&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":2190,"height":1214,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":567,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_1024x567.png"},{"max_width":800,"max_height":800,"width":800,"height":443,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_800x443.png"},{"max_width":600,"max_height":600,"width":600,"height":332,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_600x332.png"},{"max_width":400,"max_height":400,"width":400,"height":221,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_400x221.png"},{"max_width":300,"max_height":300,"width":300,"height":166,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_300x166.png"},{"max_width":200,"max_height":200,"width":200,"height":110,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_200x110.png"}],"tags":[{"id":252,"name":"wp-discourse","slug":"wp-discourse"}],"tags_descriptions":{},"views":109,"like_count":2,"has_summary":false,"last_poster_username":"Lee_Ars","category_id":180,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shares lessons learned from integrating Discourse with WordPress using wp-discourse, Cloudflare, and AWS, focusing on solving API rate-limiting issues via VPC host file adjustments and resolving comment display race conditions with a custom mu-plugin and cache-clearing strategy.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":4457,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Set up Let’s Encrypt with multiple domains / redirects","fancy_title_localized":false,"locale":"en","id":56685,"title":"Set up Let’s Encrypt with multiple domains / redirects","slug":"set-up-let-s-encrypt-with-multiple-domains-redirects","posts_count":112,"reply_count":142,"highest_post_number":188,"image_url":null,"created_at":"2017-02-01T02:21:03.592Z","last_posted_at":"2025-12-16T02:52:10.263Z","bumped":true,"bumped_at":"2025-12-16T02:52:10.263Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"NOTE: @pfaffman says: This page needs to be cleaned up. There is now a new ENV setting that will let you add more hostnames. In your app.yml under your DISCOURSE_HOSTNAME line (it can go many places but that one makes se&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":709,"name":"letsencrypt","slug":"letsencrypt"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":20272,"like_count":214,"has_summary":true,"last_poster_username":"philh","category_id":180,"op_like_count":48,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss using DISCOURSE_HOSTNAME_ALIASES in app.yml to add multiple domains for Let's Encrypt certificates, confirming it resolves redirect and certificate errors, with clarification on correct usage and issues related to AWS CDN and rate limiting.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":10365,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":141713,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":57788,"primary_group_id":null,"flair_group_id":148},{"extras":"latest","description":"Последний автор","user_id":15291,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse AI: руководство по интеграции бота Discord","fancy_title_localized":true,"locale":"en","id":390391,"title":"Discourse AI: Discord Bot Integration Guide","slug":"discourse-ai-discord-bot-integration-guide","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_1024x472.png","created_at":"2025-12-04T10:07:23.079Z","last_posted_at":"2025-12-04T10:07:23.174Z","bumped":true,"bumped_at":"2025-12-04T10:28:33.211Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Отказ от ответственности: \nЯ не являюсь создателем интеграции и не могу оказывать поддержку по ней, кроме как в рамках дружеской помощи сообщества на добровольной основе. Я просто ещё один пользователь, который хотел настроить это на своём сайте и не нашёл чёткого способа&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":3452,"height":1594,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":472,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_1024x472.png"},{"max_width":800,"max_height":800,"width":800,"height":369,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_800x369.png"},{"max_width":600,"max_height":600,"width":600,"height":277,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_600x277.png"},{"max_width":400,"max_height":400,"width":400,"height":184,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_400x184.png"},{"max_width":300,"max_height":300,"width":300,"height":138,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_300x138.png"},{"max_width":200,"max_height":200,"width":200,"height":92,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_200x92.png"}],"tags":[],"tags_descriptions":{},"views":892,"like_count":2,"has_summary":false,"last_poster_username":"DevTeVe","category_id":180,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse AI integrates with Discord via webhooks and progressive edits to simulate live streaming responses without hosting a separate bot, using slash commands registered manually via API.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":183536,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка тестового сервера","fancy_title_localized":true,"locale":"en","id":225951,"title":"Set up a staging server","slug":"set-up-a-staging-server","posts_count":32,"reply_count":32,"highest_post_number":35,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c.png","created_at":"2022-05-03T05:24:53.285Z","last_posted_at":"2024-11-30T11:12:02.918Z","bumped":true,"bumped_at":"2025-12-01T19:58:33.852Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Существует несколько приёмов, которые могут помочь при настройке тестового сервера. \nЧто такое тестовый сервер?\nТестовый сервер — это, по сути, копия рабочего сайта. Он также размещается на сервере и функционирует идентично&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":852,"height":556,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c.png"},{"max_width":800,"max_height":800,"width":800,"height":522,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_800x522.png"},{"max_width":600,"max_height":600,"width":600,"height":391,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_600x391.png"},{"max_width":400,"max_height":400,"width":400,"height":261,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_400x261.png"},{"max_width":300,"max_height":300,"width":300,"height":195,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_300x195.png"},{"max_width":200,"max_height":200,"width":200,"height":130,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_200x130.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":6296,"like_count":98,"has_summary":false,"last_poster_username":"manuel","category_id":180,"op_like_count":32,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users encounter issues while seeding test data on a staging server, with errors related to environment restrictions, and seek solutions to resolve database command limitations in a multisite setup.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":57788,"primary_group_id":null,"flair_group_id":148},{"extras":null,"description":"Частый автор","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":12454,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":72263,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":82960,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Используйте rclone для синхронизации с Dropbox (2025)","fancy_title_localized":true,"locale":"en","id":378430,"title":"Use rclone to sync to Dropbox (2025)","slug":"use-rclone-to-sync-to-dropbox-2025","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":null,"created_at":"2025-08-13T13:29:00.757Z","last_posted_at":"2025-11-11T00:00:27.259Z","bumped":true,"bumped_at":"2025-11-11T00:00:27.259Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Администраторы и модераторы: пожалуйста, при необходимости переместите эту тему в другое место или отредактируйте её.\n\nНиже приведены подробные пошаговые инструкции о том, как я установил rclone и настроил всё для резервного копирования моего Discourse в Drop...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":55,"name":"резервные-копии","slug":"backups"}],"tags_descriptions":{},"views":1041,"like_count":5,"has_summary":false,"last_poster_username":"alltiagocom","category_id":180,"op_like_count":5,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The user provides a detailed guide on installing rclone and configuring it to back up Discourse to Dropbox, including steps for authentication and setup, while emphasizing the importance of multiple backups for safety.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":171937,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":184333,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":35474,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Migrate a vBulletin 4 forum to Discourse","fancy_title_localized":false,"locale":"en","id":54881,"title":"Migrate a vBulletin 4 forum to Discourse","slug":"migrate-a-vbulletin-4-forum-to-discourse","posts_count":184,"reply_count":128,"highest_post_number":200,"image_url":null,"created_at":"2016-12-28T14:59:29.396Z","last_posted_at":"2025-11-09T18:05:20.042Z","bumped":true,"bumped_at":"2025-11-09T18:05:20.042Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"In this tutorial we will learn how to migrate vBulletin forum to :discourse: platform using vBulletin importer script. \nI have tested the script with a big database and the result was very good. The script is well writte&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":31305,"like_count":282,"has_summary":true,"last_poster_username":"pfaffman","category_id":180,"op_like_count":20,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"While the original post detailed a vBulletin to Discourse migration tutorial, subsequent messages shifted focus to establishing style topics for Instaup APK, covering installation, security, features, and compliance.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":24426,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":28775,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":109932,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":":cn: Подробное руководство по установке + панель управления | Суперподробное руководство по установке Discourse + панели управления","fancy_title_localized":true,"locale":"zh_CN","id":278426,"title":":cn: Detailed installation guide + control panel | 超级详细教学安装discourse+控制面板","slug":"detailed-installation-guide-control-panel-discourse","posts_count":34,"reply_count":27,"highest_post_number":38,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/3/7/4/3742afe9f4ff34dae1c57777511230e1f21bdb86.png","created_at":"2023-09-09T16:59:47.911Z","last_posted_at":"2025-10-07T20:19:32.177Z","bumped":true,"bumped_at":"2025-10-07T20:19:32.177Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я новичок в создании веб-сайтов. По интересам хочу развернуть сообщество для технического обмена. Планирую установить Discourse и делюсь этой инструкцией, чтобы помочь тем, кто хочет установить Discourse, избежать ошибок. Китайских руководств по Discourse мало, многие устарели, приходится полагаться на переводчики, изучал несколько дней.\n\nЧто нужно подготовить для создания собственного Discourse:\nЛегкий облачный сервер от Alibaba Cloud в Гонконге. Серверы в Китае загружают плагины с GitHub как улитка, поэтому рекомендую использовать легкий облачный сервер Alibaba Cloud в Гонконге или аналогичные легкие серверы других провайдеров. Легкий...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"🇨🇳 Detailed installation guide + control panel | 超级详细教学安装discourse+控制面板","thumbnails":[{"max_width":null,"max_height":null,"width":863,"height":460,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/3/7/4/3742afe9f4ff34dae1c57777511230e1f21bdb86.png"},{"max_width":800,"max_height":800,"width":800,"height":426,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/3/7/4/3742afe9f4ff34dae1c57777511230e1f21bdb86_2_800x426.png"},{"max_width":600,"max_height":600,"width":600,"height":319,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/3/7/4/3742afe9f4ff34dae1c57777511230e1f21bdb86_2_600x319.png"},{"max_width":400,"max_height":400,"width":400,"height":213,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/3/7/4/3742afe9f4ff34dae1c57777511230e1f21bdb86_2_400x213.png"},{"max_width":300,"max_height":300,"width":300,"height":159,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/3/7/4/3742afe9f4ff34dae1c57777511230e1f21bdb86_2_300x159.png"},{"max_width":200,"max_height":200,"width":200,"height":106,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/3/7/4/3742afe9f4ff34dae1c57777511230e1f21bdb86_2_200x106.png"}],"tags":[{"id":297,"name":"китайский-перевод","slug":"chinese-translation"}],"tags_descriptions":{},"views":9439,"like_count":9,"has_summary":false,"last_poster_username":"J_admin","category_id":180,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user is troubleshooting plugin installation issues on Discourse, suspecting it may be due to unstable domestic server connections to GitHub.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":118140,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":119102,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":113402,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":79292,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":183069,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Пошаговая миграция Discourse с интеграцией R2 и Cloudflare","fancy_title_localized":true,"locale":"en","id":382491,"title":"Step-by-step Discourse migration with R2 and Cloudflare integration","slug":"step-by-step-discourse-migration-with-r2-and-cloudflare-integration","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-09-13T01:31:47.039Z","last_posted_at":"2025-09-13T01:31:47.124Z","bumped":true,"bumped_at":"2025-09-13T01:38:26.591Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Это постмортем/руководство по реальной миграции. Я опускаю общую подготовку Discourse (это подробно описано в официальной документации). Я сосредотачиваюсь на конкретных переключателях, подводных камнях Cloudflare R2, однострочных командах Rails/Rake, которые имели значение, на том, что пошло не так, и на...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":72,"name":"s3","slug":"s3"},{"id":827,"name":"cloudflare","slug":"cloudflare"},{"id":65,"name":"миграции","slug":"migrations"}],"tags_descriptions":{"миграции":""},"views":200,"like_count":6,"has_summary":false,"last_poster_username":"hel_Sinki","category_id":180,"op_like_count":6,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A detailed guide on migrating Discourse with Cloudflare R2 integration, focusing on critical steps, potential pitfalls, and ensuring a low-risk transition.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":147473,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Смотрим слова для блокировки недавней спам-атаки","fancy_title_localized":true,"locale":"en","id":380420,"title":"Watched words to block recent spam attack","slug":"watched-words-to-block-recent-spam-attack","posts_count":13,"reply_count":9,"highest_post_number":13,"image_url":null,"created_at":"2025-08-26T19:02:39.622Z","last_posted_at":"2025-09-10T16:26:12.282Z","bumped":true,"bumped_at":"2025-09-10T16:26:12.282Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"У меня как минимум два сайта подверглись атаке спама, который, похоже, направлен на отравление LLM. О той же атаке здесь уже сообщали как минимум один раз (У кого-нибудь ещё сейчас происходит массовая спам-атака?). Это...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":511,"name":"просмотренные-слова","slug":"watched-words"},{"id":830,"name":"спам","slug":"spam"}],"tags_descriptions":{},"views":361,"like_count":28,"has_summary":false,"last_poster_username":"mcdanlj","category_id":180,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss a script to block spam by adding watched words, but note that post edits can bypass these filters, suggesting changes to default editing permissions or post-edit protections.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":406,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":44918,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":13093,"primary_group_id":276,"flair_group_id":276},{"extras":"latest","description":"Последний автор","user_id":2377,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Move a Discourse site to another VPS with rsync","fancy_title_localized":false,"locale":"en","id":43812,"title":"Move a Discourse site to another VPS with rsync","slug":"move-a-discourse-site-to-another-vps-with-rsync","posts_count":56,"reply_count":39,"highest_post_number":57,"image_url":null,"created_at":"2016-05-06T20:21:38.859Z","last_posted_at":"2025-08-17T22:20:11.109Z","bumped":true,"bumped_at":"2025-08-17T22:22:20.718Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This method is different than restoring file in UI. \nMaybe there is a more downtime but it’s simpler for linux folks without Discourse knowledge and it’s easy to automate. \nPrepare new VPS\nFirst, prepare our new Current &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":65,"name":"миграции","slug":"migrations"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы","миграции":""},"views":8071,"like_count":67,"has_summary":true,"last_poster_username":"icculus","category_id":180,"op_like_count":27,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss fixing corrupt SQL indexes in Discourse after migrating with rsync, including specific PostgreSQL commands and manual cleanup processes.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":20762,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":28866,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":12454,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":40904,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":28100,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Спам: заставить ИИ ретроспективно проанализировать последние посты, а затем удалить помеченные как спам","fancy_title_localized":true,"locale":"en","id":378956,"title":"Spam: Retroactively get AI to review recent posts and then delete the ones marked as spam","slug":"spam-retroactively-get-ai-to-review-recent-posts-and-then-delete-the-ones-marked-as-spam","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-08-17T22:09:43.873Z","last_posted_at":"2025-08-17T22:09:43.972Z","bumped":true,"bumped_at":"2025-08-17T22:09:43.972Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я помог сайту, на который обрушилось около 30 спам-сообщений в час. Мы включили AI-спам-фильтр, но это не решило проблему уже существующих постов. Вот что я сделал. Возможно, это сработает и для вас. Однако это не было протестировано на вашем сайте...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":543,"name":"ии","slug":"ai"},{"id":830,"name":"спам","slug":"spam"}],"tags_descriptions":{},"views":103,"like_count":8,"has_summary":false,"last_poster_username":"pfaffman","category_id":180,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shares a method to retroactively use AI to review and delete spam posts on a Discourse forum, emphasizing the importance of backups and caution.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"Migrate an SMF2 forum to Discourse","fancy_title_localized":false,"locale":"en","id":90314,"title":"Migrate an SMF2 forum to Discourse","slug":"migrate-an-smf2-forum-to-discourse","posts_count":102,"reply_count":74,"highest_post_number":105,"image_url":null,"created_at":"2018-06-20T14:26:51.286Z","last_posted_at":"2025-07-03T13:32:13.698Z","bumped":true,"bumped_at":"2025-07-03T13:32:13.698Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"SMF2 to Discourse - The Ultimate Guide \nStarting from the idea of creating an up-to-date guide to migrate from SMF2 to Discourse discussed in this excellent thread by @vincentMac and @cmwebdev,  I have prepared an ambiti&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":14460,"like_count":105,"has_summary":true,"last_poster_username":"marcozambi","category_id":180,"op_like_count":20,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user successfully migrated from SMF2 to Discourse, detailing issues with Unix permissions on the attachments folder, debugging failed uploads, and the importance of fully clearing the database to ensure proper import of attachments and topic updates.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":34393,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":70136,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":68171,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":27754,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"Настройка MAXMIND для обратных IP-запросов","fancy_title_localized":true,"locale":"en","id":173941,"title":"Configure MAXMIND for reverse IP lookups","slug":"configure-maxmind-for-reverse-ip-lookups","posts_count":18,"reply_count":28,"highest_post_number":44,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/8/9/89320702b7104755c7be2e1634e9a00541deb718.png","created_at":"2020-12-21T17:58:35.887Z","last_posted_at":"2025-11-07T00:40:55.992Z","bumped":true,"bumped_at":"2025-06-23T19:49:04.433Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Что такое MAXMIND и зачем он мне нужен?\nDiscourse использует MAXMIND для предоставления географической информации при обратном поиске по IP-адресу.\n\nБез базы данных Maxmind вы увидите что-то вроде этого:\n\nИли, возможно, вы уже заметили это&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":487,"height":238,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/8/9/89320702b7104755c7be2e1634e9a00541deb718.png"},{"max_width":400,"max_height":400,"width":400,"height":195,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/8/9/89320702b7104755c7be2e1634e9a00541deb718_2_400x195.png"},{"max_width":300,"max_height":300,"width":300,"height":146,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/8/9/89320702b7104755c7be2e1634e9a00541deb718_2_300x146.png"},{"max_width":200,"max_height":200,"width":200,"height":97,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/8/9/89320702b7104755c7be2e1634e9a00541deb718_2_200x97.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":764,"name":"maxmind","slug":"maxmind"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":6629,"like_count":61,"has_summary":false,"last_poster_username":"ToddZ","category_id":180,"op_like_count":31,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user is experiencing a 401 Unauthorized error when trying to download the MaxMind GeoLite2-City database for reverse IP lookups in a self-hosted Discourse instance, despite having configured the account ID and license key correctly in app.yml.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":1939,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":43643,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":174478,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":138497,"primary_group_id":276,"flair_group_id":276}]},{"fancy_title":"Скачать резервную копию по ссылке из письма с помощью `wget`","fancy_title_localized":true,"locale":"en","id":170623,"title":"Download a backup from an email link with `wget`","slug":"download-a-backup-from-an-email-link-with-wget","posts_count":5,"reply_count":2,"highest_post_number":5,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/4/8/48381752021171641d9b2ce8e2a70345bbf76b03.png","created_at":"2020-11-19T15:45:35.274Z","last_posted_at":"2025-06-23T11:55:59.458Z","bumped":true,"bumped_at":"2025-06-23T11:55:59.458Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Для опытного системного администратора предпочтительный способ перемещения больших файлов — использование таких инструментов, как rsync или scp, но иногда у вас нет доступа по SSH к хосту, с которого нужно получить большой файл резервной копии. \nПоскольку файлы резервных копий содер&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":715,"height":203,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/4/8/48381752021171641d9b2ce8e2a70345bbf76b03.png"},{"max_width":600,"max_height":600,"width":600,"height":170,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/4/8/48381752021171641d9b2ce8e2a70345bbf76b03_2_600x170.png"},{"max_width":400,"max_height":400,"width":400,"height":113,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/4/8/48381752021171641d9b2ce8e2a70345bbf76b03_2_400x113.png"},{"max_width":300,"max_height":300,"width":300,"height":85,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/4/8/48381752021171641d9b2ce8e2a70345bbf76b03_2_300x85.png"},{"max_width":200,"max_height":200,"width":200,"height":56,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/4/8/48381752021171641d9b2ce8e2a70345bbf76b03_2_200x56.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":55,"name":"резервные-копии","slug":"backups"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":1816,"like_count":16,"has_summary":false,"last_poster_username":"pfaffman","category_id":180,"op_like_count":14,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users report the initial `wget` method for downloading Discourse backups may not work outside of S3 environments due to authentication differences between S3’s signed URLs and Discourse’s cookie-based authentication.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":114728,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Частый автор","user_id":108265,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":":cn: Проблема с email-подтверждением на форуме Discourse |  Discourse 论坛激活邮件问题","fancy_title_localized":true,"locale":"zh_CN","id":246830,"title":":cn: Discourse forum activation email issue | Discourse 论坛激活邮件问题","slug":"discourse-forum-activation-email-issue-discourse","posts_count":4,"reply_count":2,"highest_post_number":4,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/d/55dc938ee26818785d4aa533df6376016b06dc2a_2_1024x584.png","created_at":"2022-11-27T13:53:51.777Z","last_posted_at":"2025-06-14T15:28:04.301Z","bumped":true,"bumped_at":"2025-06-14T15:28:04.301Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Согласно официальным рекомендациям Discourse, мы используем сервис MailGun. \nВ большинстве случаев проблем не возникает, однако при отправке писем с активацией на некоторые адреса, например iCloud, появляется сообщение об ошибке: \n\"message\": \"5.5.1 Error: need MAIL command - MAIL FROM error: 450 4.1.8 <bounce+6712f2.21c8873-lucas.hu=@mail.visafn.com>: Se&hellip;\"","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"🇨🇳 Discourse forum activation email issue | Discourse 论坛激活邮件问题","thumbnails":[{"max_width":null,"max_height":null,"width":1465,"height":836,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/5/5/d/55dc938ee26818785d4aa533df6376016b06dc2a.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":584,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/d/55dc938ee26818785d4aa533df6376016b06dc2a_2_1024x584.png"},{"max_width":800,"max_height":800,"width":800,"height":456,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/d/55dc938ee26818785d4aa533df6376016b06dc2a_2_800x456.png"},{"max_width":600,"max_height":600,"width":600,"height":342,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/d/55dc938ee26818785d4aa533df6376016b06dc2a_2_600x342.png"},{"max_width":400,"max_height":400,"width":400,"height":228,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/d/55dc938ee26818785d4aa533df6376016b06dc2a_2_400x228.png"},{"max_width":300,"max_height":300,"width":300,"height":171,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/d/55dc938ee26818785d4aa533df6376016b06dc2a_2_300x171.png"},{"max_width":200,"max_height":200,"width":200,"height":114,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/d/55dc938ee26818785d4aa533df6376016b06dc2a_2_200x114.png"}],"tags":[{"id":297,"name":"китайский-перевод","slug":"chinese-translation"}],"tags_descriptions":{},"views":1679,"like_count":4,"has_summary":false,"last_poster_username":"Yuuki_Mizukami","category_id":180,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse activation emails are failing for some iCloud addresses due to sender domain verification issues, requiring the addition of a subdomain MX record to the DNS settings.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":79292,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":117510,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":177590,"primary_group_id":null,"flair_group_id":null}]}]}}