Is this possible? (server)

I have recently moved house into a block of units.  In Australia we pay a high amount for software, internet services, hardware etc. and the area I am now living in has a few low income families.  What I want to do is build myself a server/NAS but open it up to everyone in the unit complex with read only privileges.  

The basic idea here is to install my entire stream library, all of my music and all of my media files onto the NAS, and give access to anyone who wants it.  The real limitation will be wifi strength.

What hardware would i need to be able to do this for (worst case scenario) 5 - 10 simultaneous connections?

Can I set it up so that all can read but only I can write?

Can I provide everyone with free internet access at a set speed through this? ( I have unlimited internet at 100mbps down 25 up)

If I can do this without breaking the bank that would be great.

Thanks!

Oh also  - the setup would be - external line into my house - my pfsense pc with attatched wireless router - server hardwired to pfsense - my personal pc hardwired to pfsense

Yeah it's all possible.

You can set file permissions to allow read access for everyone but only allow write access to certain users. How do you plan on doing file sharing? will it just be a windows share? How will people know to access it? You could set up a captive portal with instructions on what's available on the network and how to use it.

You can use the traffic limiter on pfsense to set a hard limit on certain traffic. You can set up a limit per device so that everyone will have 20mbps for example, or you can set a total limit so all of the guests have a total of 80mbps between them. I can help you with setting up a traffic limiter in pfsense if you like but I'm sure there are plenty of guides out there.

You're going to want a decent wireless access point, something with good range, maybe even an outdoors one. Have a look at the ubiquiti stuff.

I would keep this public wi-fi network on it's own network, have it connected to a new interface on pfsense and use the firewall to allow access to your LAN for only the type of traffic you need (port for file sharing etc.) This will help with security as you don't want people having unrestricted access to your local network. You might also want to look at a way of setting up client isolation so that people connected to the network can't access the other connected devices.

As far as hardware for the NAS goes, pretty much anything will work fine. The limiting factor for performance is going to be the wi-fi.

Well If you want to do this the best way would be through a back end software such as Plex. Works well for me. At night I am streaming to 2-6 friends at any one time. If you want a low end server just make sure what they are streaming is in the format that can be played natively on their device that way there is no transcoding going on. 

The term "media files" is too vague. Are you sharing 128kbps MP3 or 25GB MKV blueray rips? one required not much hardware to server and the other one can cost you thousands. 

With Plex you can restrict the users and track them if you wish. You can either have the user have an account or you can set it up so that if the user is on a local network they do not need to be authenticated. 

With PFsense you can share your internet with someone that is connected to an access point. I would set up a radius and have them log in that way you can authenticate who is on the network and pin point any problems.

If you want to restrict their outgoing bandwidth per user, pfSense's captive portal feature allows that. You could also have an "accept the terms and conditions saying you won't do anything illegal on my WiFi" page with the captive portal.