# How to host a dynamic website on IPFS

**URL:** <https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705>\
**Category:** Help\
**Tags:** ipns\
**Created:** [April 3, 2021, 4:33pm UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705 "2021-04-03T16:33:58Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![yeehi](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/yeehi/32/2760_2.png) [@yeehi](https://discuss.ipfs.tech/u/yeehi)\
**Post date:** [April 3, 2021, 4:33pm UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/1 "2021-04-03T16:33:58Z")

</div>

How do we easily host a dynamic website and publish it using IPFS?

Most tutorials are for a single static page or have you using 3rd party software like Github.

If you wish to cut out webhosting sites and pinning services entirely, what do you need to do?

Also, if you wish to run this website at your home or office, what sort of hardware would you need?

I think many people are attracted to IPFS these days and are willing to switch over to using it more often but stumble here.

---

<div class="post-metadata">

**Author:** ![wclayf](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/wclayf/32/4936_2.png) [@wclayf](https://discuss.ipfs.tech/u/wclayf)\
**Post date:** [April 3, 2021, 5:30pm UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/2 "2021-04-03T17:30:51Z")

</div>

I’m pretty sure IPNS is the only way to have an actual fixed and unchanging CID which you can update the content under, and so that’s the place to look. For your use case of an updated website it might not be a problem that there’s one limitation with IPNS which is that it can take like up to 3 to 5 minutes (or longer?) to republish (update) with new content, because it has to transmit out the new name similar to what DNS does.

---

<div class="post-metadata">

**Author:** ![Discordian](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/discordian/32/4692_2.png) [@Discordian](https://discuss.ipfs.tech/u/Discordian)\
**Post date:** [April 7, 2021, 10:33pm UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/3 "2021-04-07T22:33:04Z")

</div>

FWIW I currently run my website from home (it’s a smattering of random things while I toy with IPFS [http://portal.thedisco.zone](http://portal.thedisco.zone)). I keep IPFS/IPNS using [ipfs-sync](https://github.com/TheDiscordian/ipfs-sync/), which will look at a directory, copy the contents to MFS, pin it, and update an IPNS key whenever it detects a change.

Like wclayf pointed out though, it can take a couple mins sometimes to actually see the changes reflected. However, I don’t mind.

I don’t think hardware requirements are super strict. I hear about some success running on Raspberry Pis. I personally run on my desktop computer, but I don’t power it off.

---

<div class="post-metadata">

**Author:** ![wclayf](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/wclayf/32/4936_2.png) [@wclayf](https://discuss.ipfs.tech/u/wclayf)\
**Post date:** [April 7, 2021, 11:27pm UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/4 "2021-04-07T23:27:58Z")

</div>

@Discordian I like what you did there! I’m just now learning GO so I can’t scrutinize it much, but I think I get it, and if there are no plans to build this capability into MFS already, I hope the IPFS developers find it and help you finish it, or see if it or something like it can become part of MFS as a ‘sync’ command.

There’s huge demand in the IPFS world for a way to sync to MFS. You may have already searched around on this forum and found that out. There have been several discussions about this kind of thing. Nice work, and thanks for sharing it here.

---

<div class="post-metadata">

**Author:** ![Discordian](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/discordian/32/4692_2.png) [@Discordian](https://discuss.ipfs.tech/u/Discordian)\
**Post date:** [April 7, 2021, 11:48pm UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/5 "2021-04-07T23:48:31Z")

</div>

> [@wclayf](#):
>
> I hope the IPFS developers find it and help you finish it

Don’t worry, lidel has been perusing the issue tracker from time-to-time, I’m really happy you enjoy it! You’ll certainly see lots of progress on it in the coming days 🙂.

---

<div class="post-metadata">

**Author:** ![yeehi](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/yeehi/32/2760_2.png) [@yeehi](https://discuss.ipfs.tech/u/yeehi)\
**Post date:** [April 8, 2021, 8:52pm UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/6 "2021-04-08T20:52:22Z")

</div>

Thanks!

MFS = Mutable File System

> **[IPFS Tutorial | Mutable File System](https://proto.school/mutable-file-system/)**
>
> The Mutable File System (MFS) lets you work with files and directories as if you were using a traditional name-based file system.

 ![brave_zdNf42gStw](https://us1.discourse-cdn.com/flex020/uploads/ipfs1/original/2X/8/8d8c102af586cbe3d8765a205646d911043867e7.png)

---

<div class="post-metadata">

**Author:** ![port](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/port/32/5513_2.png) [@port](https://discuss.ipfs.tech/u/port)\
**Post date:** [October 2, 2021, 4:25am UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/7 "2021-10-02T04:25:51Z")

</div>

[Fleek.co](http://Fleek.co) seems to indicate they can do this, but I don’t think they can.

“Fleek is everything you need to host fast, modern sites & apps on IPFS.” - [official Fleek docs](https://docs.fleek.co/#fleek-ipfs-hosting)

If they’re just spinning up a traditional server instance to do the “dynamic” part of the hosting (i.e. generating custom HTML/JS/CSS given a user and context), the I’d prefer they said that upfront.

---

<div class="post-metadata">

**Author:** ![wolneykien](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/wolneykien/32/5509_2.png) [@wolneykien](https://discuss.ipfs.tech/u/wolneykien)\
**Post date:** [October 2, 2021, 7:46am UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/8 "2021-10-02T07:46:15Z")

</div>

Hi! How about a “trustful” approach instead of “trustless”? I’ve got an idea about how a trustful network can be organized on a base of IPFS/IPNS: [A preliminary discussion of the “Workswap” protocol](https://discuss.ipfs.tech/t/a-preliminary-discussion-of-the-workswap-protocol/12320) .

---

<div class="post-metadata">

**Author:** ![Xyncgas](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/xyncgas/32/5732_2.png) [@Xyncgas](https://discuss.ipfs.tech/u/Xyncgas)\
**Post date:** [December 6, 2021, 9:52am UTC](https://discuss.ipfs.tech/t/how-to-host-a-dynamic-website-on-ipfs/10705/9 "2021-12-06T09:52:15Z")

</div>

I’ve made a library in c# that runs a trustless system  
If you are interested, join this chat where I share :[Telegram: Join Group Chat](https://t.me/+-7DhE8TDd-RhZTRl)
