
How To: Make a band website with Faircamp
Table of Contents
A step-by-step guide for making your own self-hosted band website, geared toward punks with zero knowledge about code or making websites.
Why make a band website?
Your punk band is already making demo tapes (right?), but what if you also want to put your music on the internet for people to check out, stream or download?
At time of writing, Bandcamp is heavily favoured among punks I know for being a free-to-use, straightforward and customizable place to share music online and maybe even get a few bucks from release or merch sales. Links to Bandcamp are ubiquitous in our review section. While Bandcamp as a company used to have a cool, independent vibe, in the last few years they were acquired by Epic Games and then Songtradr, and oops! did a little union-busting in the process. But compared to Spotify (the actual worst thing to happen to music, ran recruitment ads for ICE, CEO invested in genocide) or YouTube music (aka Google), well, you could do worse!
"Cool" alternatives to Bandcamp-like platforms have been discussed previously in the pages of The Counterforce. Any of these new cool-seeming platforms will move through the enshittification cycle like clockwork, be sold and bought by assholes who will profit off your art, use it to train AI, invest in genocide or fossil fuels, or finance the rise of the far-right. The apocalyptic scenario in which we entrust all our music to a centralized service that starts to fuck us over or disappears overnight has happened before and will happen again.
Making your own website for your music projects is a worthwhile project. It creates a presence for your music online that you can own, control, change and move at your own discretion. By doing so, you'll be helping grow a loosely-defined movement toward a cooler, freakier, smaller and less-corporate internet (sometimes referred to as the small web).
Plus, if you build your own site, you'll accidentally learn a bit about how the internet works in the process. One way that giant tech companies maintain their stranglehold on our lives and imaginations is by mystifying everything that goes on inside phones and computers, making it all seem impossibly complicated. Some of it is impossibly (and unnecessarily) complicated, but putting a simple website online isn’t actually that hard. Let's do it!
How-To
The technical section of this guide has two aspects – 1. building the site, and 2. putting the site online. We're going to build the website using a software called Faircamp. And we'll put the website online using a hosting platform called Neocities.
If you have never made a website before, I think this is a pretty good “first website” project. The example site I’m using today – a site I made for my band RECALL – is my first successful, functional website, after many vague and incomplete attempts to do so throughout the last ~20 years. Assuming you have access to all your audio/artwork files, you can probably make your site and get it online, all on a Sunday afternoon.
If you are already a “computer person” or someone who tinkers with static sites, I will just direct you to Faircamp’s excellent manual – I know a few moderately tech-savvy or just determined people who heard me talking about writing this guide and were just able to figure it out on their own from there. There are also links to a few other tutorials, which might be helpful if the way I’m explaining something isn’t doing it for you. Even though there are other guides, I did want to make my own that is more geared toward the aspects that I think punks will care about and that is way more beginner-friendly than any of the other guides that exist. Y’a même un tutoriel en français.
What is Faircamp?
Faircamp is a Static Site Generator. Basically, it's a program that you download and run on your computer that’ll take all your music files, images and information and spit out the HTML files that make up a website. You can then take these HTML files that the program generated and host them (aka “put them on the internet”) wherever you want.
Compared to dynamic websites, which are very prevalent on the modern internet, static sites are very lightweight – they’re cheap and require less resources to run, and they load better on poor internet connections (which increases accessibility for people who live rurally, who rely on cellphone data plans for internet access or who might want to visit your site from a place with less robust internet infrastructure.) Our website, the-counterforce.org is another example of a static site. DIY, cheap, accessible, and typically not focused on making money – static sites are very punk!
Back to Faircamp – here's a Faircamp site that I built for my band RECALL, which I’ll be using as the example for this whole tutorial: https://recall.rocks

As you can see, we have a photo, a little description of the band, links to all the places to find us or buy physical releases, and a few albums that you can stream from the site or download.

Each release has it’s own page with an player for streaming the songs, a Download link, liner notes and lyrics.
And here's some more examples of band sites that were built using Faircamp: STREET GLOVES • CATHARSIS • NERVE WAR • FLAT TEETH
In this tutorial I'll be showing how to use it to make a simple page for a single band/artist, but you can also make a "label" style page with pages for multiple artists and their respective releases (check out the Demo Fest 2025 page or likeweeds.org for examples of how this looks).
We’ll walk through the process of building this site together, and when we’re done you’ll have your own site that YOU own and can put wherever you want online.
Get Organized
Here's what you'll need to follow this tutorial and build your site:
- A computer (sorry, you can’t do this on a phone or tablet). It can be running Windows, MacOS (10.14 or later) or Linux.
- All your band’s music and art files plus the accompanying text like liner notes (more on this later)
- audio files for all of your music (.wav or .mp3 file formats)
- album artwork for all of your releases, plus a cover photo which will go on the front page of your site – this could be a logo or a cool looking photo of your band (jpg, png or webp file format)
- all the text bits: Grab all the "metadata" about your band and releases. A short description or bio of your band, liner notes, release credits, lyrics, upcoming shows. If you already have a bandcamp, a lot of this might just be there. It will save you some time if you have this all ready in some open tabs or dump it in a document.
- links to sites where people buy physical releases or merch, or other places to listen to the music or watch videos, etc (whatever kinds of stuff you would put in a Linktree... minus all the unnecessary and creepy tracking).
- A few bucks/a credit card. Here’s the cost breakdown:
- A paid Neocities "supporter" account (what I’m recommending in this guide for hosting) is $5 US/month. Neocities has a free tier, but we'll need some of the paid account features to support a functioning music player and file downloads. One paid account gives you enough space to host many, many, many band sites (or other websites – your personal blog, your tattoo or show poster portfolio site, etc), so if that cost feels prohibitive or you don't have a credit card, share an account with a few or a bunch of friends and split it. You can also start on Neocities and move to a cheaper hosting option if you figure something else out down the line.
- Neocities will give you a yourband.neocities.org domain, but you may want a fun or memorable custom domain for your site. Cost varies widely – you can get one for as cheap as $2-3/year or as much as you can imagine, but you probably shouldn't pick one that costs more than like $10-15 a year or you're not going to want to keep paying for it. There are several different domain registrars, I happen to use porkbun.com. Maybe you even already have a good or clever band domain that you’ve been paying for but never figured out how to do anything with, or that has some stupid Wix site parked on it (get outta there!). Now’s the time to put it to a good use.
A few more preliminary steps
1. Sign up for your Neocities account
Go to neocities.org and sign up for an account. Like I mentioned they have a free tier, but to stream audio files you will need a paid supporter account. So, go ahead and set that up (or you can wait until a few steps later to drop the actual $, but tbh if you got your files together you’ve done most of the hard part).
Your Neocities account can host multiple websites. If you already have a Neocities account/site, or if you’re sharing a paid account between multiple bands or projects, go to the dropdown menu in the top right corner > Settings > Your Sites and select "Create new site".
Once you are a bit comfortable with making a faircamp, you can use Neocities to host more websites for zines, distros, fests, events, workshops, whatever... maybe we'll cover some of that in a future guide ;)
2. Download a code editor
Next, we’re going to download a code editing program for creating the files Faircamp needs. This isn’t strictly necessary but I’ve found it helped me a lot in this process, so I’ll recommend you do it too. Basically you want a text editor, but you can edit your files and see your folder structure at the same time.
If you already have one you like, use it! I’ve used Sublime Text which is available for MacOS, Windows and various Linux distros.
3. Install Faircamp
We have to download and install Faircamp on your computer. The way we download and run this program might be different than the way you’re used to downloading and running programs, because (for now) Faircamp is just a command line program, with no graphical user interface. In short, you’re going to have to do some hacker stuff, but don’t worry – it's not that hard and it will make you feel cool.
Go to the Faircamp downloads page and follow the instructions for your particular operating system:
Windows: you can just download the program from the site above.
MacOS: there’s a little extra stuff we get to do in the terminal, lucky you:
Open your Terminal: on your computer desktop, click on the magnifying glass icon in the top right corner of your screen and just type “terminal” and hit enter.
First we have to install something called Homebrew, which allows MacOS to install a wide variety of command-line programs. Copy and paste this text into your terminal window:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Then hit "return." Some stuff will happen, just follow the instructions. It might ask for your password, type it in (it won't show you the characters being typed) and hit "return" again. The installation might take a few minutes and might look like nothing is happening for a bit! Once it's done, your username will appear again (it should look like what you saw when you first opened the terminal.) Then, type:brew install faircamp
and hit "return." Follow any additional prompts to install Faircamp.
Linux: it will depend on which distro you are using. Faircamp is available for NixOS and in the Arch AUR, and there are packages you can download and install yourself for Debian/Mint/Ubuntu/elementary or Fedora on the Faircamp downloads page.
Organize your files
Faircamp needs all of your audio files and cover art neatly organized in folders for each release. In this example, we’re just creating a page for the band (RECALL) which has three releases (Demo 2024, EP, and Demo II). To start create a new main folder for your site (in our case it’s called “RECALL”). Drag and drop the following files into this folder:
- your band’s logo or a cool photo (.jpg, .png, or .webp)
Inside the RECALL folder, right click to create a new folder for your first release – for us it’s called “Demo 2024”. Drag and drop these files into Demo 2024:
- the “Demo 2024” wav files (either the whole album or separate tracks. The nerds will thank you if these are tagged correctly with metadata, but if not at least give the files coherent names and number them in order.)
- album art (.jpg, .png, or .webp)
Repeat this process for the rest of the releases. When you're done it should look something like this:
- FOLDER: RECALL
- recall_cover.jpg
- FOLDER: Demo 2024
- demo_artwork.jpg
- track_1.mp3
- track_2.mp3
- track_3.mp3
- FOLDER: Demo II
- demo-2-artwork.jpg
- track_1.mp3
- track_2.mp3
Etc!
Creating the Manifests
Besides audio files and artwork, Faircamp needs all the extra text about your band and releases. This all goes into specially-formatted file Faircamp calls manifests. Some facts about Faircamp manifests:
- They are basically text files
- Each one ends in the ".eno" extension
- Every folder gets one manifest and only one manifest file
- There is one Catalog manifest file for the website called "catalog.eno" that goes in the main folder
- There is one Release manifest file for each release folder, always called "release.eno"
- Manifests contain two types of things:
- Text for your website (lyrics, liner notes, descriptions, etc)
- Instructions for how your Faircamp site should look and function
Open your code editor program (Sublime Text, or whatever other code editor you're using). Go up to File > Open and select the main folder we made in the first step (in my example, this folder is called “RECALL”). Your code editor should display the folder on the left side, with all your little release subfolders nested inside it.

First you will create your “Catalog Manifest”. This is a text file full of the main information about your band, and instructions that Faircamp will use to build our site. Go up to the menu and select File > New File. Name your new file "catalog.eno" and save the file inside your main folder ("RECALL").
In your code editor, click on your catalog.eno file to open it, and copy-paste in the following text:
title: RECALL
base_url: https://recall.rocks
language: en
home_image:
description = a black and white photo of the band recall playing on a stage
file = recall_cover.jpg
feeds:
- generic_rss
- podcast_rss
release_downloads:
- mp3
link:
label = Email
url = mailto:recall514@gmail.com
link:
label = Bandcamp
url = https://recall514.bandcamp.com/album/demo-2024
link:
label = 7" on 11PM Records
url = https://11pmrecords.bandcamp.com/album/ep-3
link:
label = Tape on Broken Skull Records
url = https://brokenskull.bandcamp.com/album/recall
-- synopsis
Hardcore punk with dbeats – Montréal, QC
-- synopsis
-- more
Upcoming shows in Montreal:
-- moreNow you’re gonna change all the little bits of info in this file to make them relevant to your band, not mine! Some are self-explanatory, some you should just leave as-is, and some might not be totally clear about what they do, so we’ll go through them one by one.
WARNING: 95% of error messages and troubleshooting you’ll have to do down the line will be caused by mistakes or errant bits of text in these files. Make sure the formatting stays the same as above and that there's no extra text anywhere in the file! Take note: if you're using Sublime Text, it automatically inserts the file name (e.g. catalog.eno) at the top of your text field, so make sure you delete it so it doesn't mess up your file.
title: the name of your band (or the name of the site)
base_url: the url where your website is going to live eventually. This might be https://yourbandname.neocities.org or your custom domain name (https://recall.rocks).
language: Faircamp is translated into a bunch of languages! You can leave it ‘en’ for english, or see which other languages are supported and swap in the code. And if your preferred language isn’t listed or isn’t complete, maybe you can contribute a translation?
home_image: change the file name to match the name of the cover image you put in this folder (the photo of your band or the logo or something). Mine’s called recall_cover.jpg and is a picture of the band. For the description: Describe the image in a sentence or two, e.g. “a grainy black and white photo of a 5-piece punk band playing on stage.” This is for accessibility and helps visitors who use a screen reader know what’s on the page!
feeds: you can leave this as is. This generates a feed that people can use to follow your band if they’re using RSS.
release_download_access: leave it as “free” if you want people to be able to download your music, or “disabled” if you don’t want people to have the option to download your music
release_downloads: only mp3 should be listed (more files are supported by Faircamp, but Neocities doesn’t allow them so we’re sticking with mp3 for now).
links: This is the place where you can put your links for buying releases, merch, listening in other places, maybe some videos... whatever. Each link requires a label e.g. what is shown on the page, and url for the place the link takes you to. Note: it’s great to include an email address here so people who aren’t on Instagram can contact you! Just like in the example, you can format it like mailto:band-email@provider.com so that it's a clickable link.
-- synopsis This is the short text that appears at the top of the page under your band name. Unlike all of the categories before, this one is a set of two -- synopsis tags, and all the text has to be sandwiched in between them!
-- more : This is the longer text at the bottom of the page, underneath the releases. You can leave this blank, or write your band’s manifesto, post info about your upcoming shows or tours, share more links, go wild. Similar to synopsis, make sure all the text is in between the two -- more tags!
Hit “Save” on that file, close it, and our catalog manifest is good to go!
Now we’re gonna do a similar process in our first release folder – creating what's called the "Release manifest." Same idea as the Catalog manifest, but it's just for this particular release.
In “Demo 2024”, navigate to File > New File and create a new file called release.eno (it should actually be named release.eno verbatim – don't sub in the name of your release!). Click to open it up and paste in the following text. Remember to be careful about errant text or extra bits to avoid errors later!
title: Demo (2024)
permalink: demo-2024
date: 2024-03-01
release_artist: Recall
release_downloads:
- mp3
m3u: disabled
more_label: Liner Notes
track_numbering: arabic-dotted
cover:
description = distressed drawing of a small figure falling off a steep staircase into a stone-walled chasm
file = democover.jpg
-- synopsis
Demo cassette, self-released March 2024
-- synopsis
-- more
Recorded and mixed by Kelly at Hamspace in Montréal, February 2024
♥ Thank you Blair
Mastered by Papa Boom Bam Sam
Art by Taylor
All music by RECALL
Étienne - Guitar
Kelly - Bass
Misery - Vocals
Simon - Drums
Taylor - Guitar
...
-- moreSimilar to the last one, but this time all the info will pertain to your first release:
title: name of the release
permalink: this is what goes on the end of the URL for linking directly to this specific release. You can make it whatever you want, but it’s standard practice to make it something like the name of the release separated by a dash (-). E.g., if your band website is “recall.rocks” and your first release is called “demo 2024”, you’d put demo-2024 in the permalink field. The full url for this release would be: https://recall.rocks/demo-2024/
date: the date the album was released, NOT the day you’re making the page. This is how the releases get displayed chronologically on the page.
release_artist: your band name
release_downloads: just leave it as mp3 for the same reasons as above
m3u: leave as-ismore_label: this names the section at the bottom of the page “Liner Notes.” Keep it as-is for now, you can change it to something else if you want.track_numbering: leave as-is
cover: Change the file name to correspond to the album cover art file that’s in this release folder, and write a little image description for accessibility.
The -- synopsis and -- more sections function the same as above – but this time they’re just for the release, so your “more” might be stuff like liner notes, lyrics, etc. Again, remember to ensure that all of your text is sandwiched in between the two -- synopsis or -- more tags!
Now, repeat this process for your other releases! If you want, you can duplicate your release.eno file by right clicking and creating a copy, moving the copy to your second release folder, and renaming the file “release.eno”. Repeat the process of updating all the info for your second release, save it, and so on!

Bonus: some other stuff that might be relevant for the kind of site you wanna build:
Label Mode: You can also use Faircamp to build a “label page” that features releases from multiple artists! But it can be used for more than just actual labels – you could make an archive of all of your own past/current projects, or a single page where someone could stumble on all of your friends’ bands in a particular town or corner of the scene. Here is more info in Faircamp's docs.
- add the tag
label_modein your catalog.eno file - make the info in the catalog.eno file correspond to the project/distro/label/person instead of a band (name, description, links, etc)
- in your main folder, you'll create a subfolder for each artist, each containing an Artist manifest. The release folders (with the release manifest, the audio files, and the artwork) will be contained within their respective artist folders.
Tracks: If you want each track of a particular to have its own page (for example, if a certain track has it's own artwork, credits, or you want it to have it's own page with the lyrics) you can create sub-folders inside a release folder for each track, each with it’s own “track.eno” that can have particular info like lyrics and featured collaborators! More info here.
Run Faircamp to create a preview of your site
Terminal time!
First we gotta open a terminal – we're gonna open the terminal from inside our main folder (in my example the "RECALL" folder):
- Windows: Open your main folder in the file manager. When you are in your main folder, click on the address bar type
cmdand hit Enter. - Mac: Highlight the folder itself and right click “new terminal at folder”
- Linux: right click inside the folder and see if there's an “open in terminal” option... if that doesn't work, you might just have to look up how to do this in your OS or file manager
If you are a terminal wizard already you can just use the terminal to navigate to your main folder.
Now, in your terminal, type
MacOS or Linux: faircamp -p
Windows: faircamp.exe -p
One of two things will happen: the ideal scenario is that a little browser window pops open with a preview of your site on it (don’t worry, it’s not online yet – this is just a preview running on your computer). Maybe it looks good right out of the box! Maybe it is a little busted or not looking how you want, or you see things that you want to change. We'll talk about that in a second.
The other thing that can happen is that you will not see your site, and instead your terminal window will fill with error messages. It might look like scary insane jibberish code, but try to look at the highlighted words and phrases and see if you can glean any information that might help you troubleshoot.
Here's two common error messages you might see when you try to preview your site:

This error is telling us that there is an extra line of text in our catalog.eno file that Faircamp can't read. Go through the file and make sure there's no stray bits of text!

This error message is telling us that Faircamp can't find the image file we indicated it should use in the catalog.eno manifest. Make sure the file name indicated in your manifest (.eno) matched the name of the actual file in your folder!
Check out the preview site and make changes
If you notice something you want to change on your site (or if your site didn't build in the first place), you can go back into sublime text and edit your catalog.eno or release.eno files. Make sure you save any changes!
If your preview site is still running, you will have to type ctrl-c in your terminal to stop the preview and get your cursor back so you can type the next command.
To see your preview site again after making changes to your files, type faircamp -p (or faircamp.exe -p in Windows) again.
You will probably have to toggle back and forth between running faircamp -p to preview your site and ctrl-c to stop the preview a zillion times, as you tweak and fix small errors and make your site look the way you want it to.
Faircamp provides a lot of additional ways to customize your site. If you are feeling confident, check the documentation like the pages for the Catalog and Release manifests.
Build your site, for real
Once you have the preview version of the site looking exactly how you want, the last step in the terminal is to instruct Faircamp to actually build the files that will make our website. In the terminal, type
MacOS or Linux: faircamp --build-dir ../my-faircamp-site
Windows: faircamp.exe --build-dir ..\my-faircamp-site
and hit enter.
Faircamp will now build files for the live version of your site. It will be in a new folder called my-faircamp-site, in the same folder as your main Faircamp folder (so one folder "up" from where you've been working).
Put your site online
Go back to your Neocities site’s dashboard and navitage to “Edit Site”. You’ll see a tan box with a few files in it.
Open your “my-faircamp-site” folder, grab all the files inside of it and drag and drop them into the tan box. Depending on how large your music files are, it might take a while to upload.
Now at the top of the editor page, click on the red url of your site. The site should pop up in another window, looking how it looked in your preview. Congratulations, your site is live on the internet!
Before you get too excited – don't forget to save and backup everything you've done! If you want to change your site in the future – either by updating the information in your .eno files or adding a new release – you'll update these files, run Faircamp preview, build the site, and re-upload your files to your hosting provider.
There's a lot more to say about this, but these are YOUR files. If it comes out that the CEO of Neocities is super invested in military tech and donating money to far-right politicians, you can pull your website off there and put it somewhere else!
If you followed this guide and you want to show off your new website or give feedback, please send an email, message us on Signal (counterforce.99) or tag us on Mastodon! Thanks for reading.
