Upload your website with SFTP and FileZilla on BrewInTH

Used to dragging files onto a host? Enable SFTP in the Files tab, connect with FileZilla or WinSCP, drop your files in and press Publish from SFTP.
Plenty of people built websites before AI came along. Their hands know the routine: open FileZilla, drag files from the computer to the host, refresh the browser. Moving to a new platform, they want that same routine. Others get HTML files from ChatGPT but have no coding agent to put them online.
BrewInTH has a path for this: SFTP. Connect with FileZilla, WinSCP or Cyberduck, drop files into your project's folder, and press one button to turn them into a new version of your site. This guide covers enabling it, filling in FileZilla field by field, what to put in the folder for a static site versus an app, and the traps long-time FTP users tend to fall into.
In short
🔑 Enable SFTP in your project's Files tab with a password of 12+ characters, letters and digits
🖥️ Connect with FileZilla, WinSCP or Cyberduck using the Host, Port and Username the console shows (port 2022)
📂 A static site needsindex.htmlat the top level; an app needs the whole project including the lockfile
🚀 Uploading alone doesn't change the site; press Publish from SFTP every time
🛡️ On your first connection, compare the host key fingerprint with the console before pressing OK
What SFTP is, and how it differs from FTP
SFTP (SSH File Transfer Protocol) sends files over an encrypted channel, password and content alike. Old-style FTP sends your password as plain text. FileZilla and the other popular clients already speak SFTP; you just pick the right protocol.
On BrewInTH every project gets its own SFTP account and folder. It only sees that project's files and can't wander into anyone else's.
How it differs from a classic host
On a classic host, the files you drag up are the live site the moment they land. On BrewInTH the SFTP folder is a staging area. When you're ready, you press Publish from SFTP and the platform builds a new release from those files, exactly like an upload in the console. The upside: your live site never sits half-updated while files trickle in, and every version lands in your release history, so you can roll back.
Four steps from FileZilla to your live site

1. Enable SFTP in the Files tab
In the console, open your project and go to the Files tab. Scroll down to the SFTP: upload with an FTP program box, fill in SFTP password (12+ characters with letters and digits) and press Enable SFTP.
This password is separate from your console login. Make it long and unique; a password manager is a good home for it. The console won't show it again. If you forget it, set a new one under Reset password / disable SFTP in the same box.
Once enabled, the box shows your connection details — Host, Port, Username and URL, each with a Copy button — plus the Host key fingerprint (check on first connection).
2. Set up FileZilla

In FileZilla, open File › Site Manager, press New site and fill in:
- Protocol:
SFTP - SSH File Transfer Protocol(not plain FTP) - Host: copy it from the console. Usually it's
www.brewinth.com, but if your project runs on another BrewInTH server the console shows that server's name — always use what the console says - Port:
2022 - Logon Type: Normal
- User: copy the Username row, which is your project's slug, e.g.
brew-ab12c - Password: the one you set in step 1
Press Connect. The first time, FileZilla asks whether you trust this server (Unknown host key). Compare the SHA256:… fingerprint in that window with the Host key fingerprint line in the console. If they match, tick the box to remember it and press OK. If they don't match, don't press OK — close the window and contact the team.
WinSCP works the same way: choose SFTP as the file protocol. On a Mac, Cyberduck: pick SFTP (SSH File Transfer Protocol) and enter the same server, port, username and password.
3. Drop your files into the top-level folder
FileZilla's right pane is your project's folder on BrewInTH; the left pane is your computer. Drag files from left to right and put them at the top level of the folder — not inside another folder named after your project.
Back in the console, press Refresh in the SFTP box. You'll see Files in the SFTP folder with sizes and modification times. Check everything is there before moving on.
4. Press Publish from SFTP
Press Publish from SFTP. The console tells you how many files were queued (static site) or how many files were packed into a ZIP and sent to build (app), with a link, Follow it on the Releases tab, so you can watch the new version go live.
Next time you change something, repeat steps 3 and 4: drag the changed files over the old ones in FileZilla and publish again.
What goes in the folder: static sites and apps differ

Static sites (HTML, CSS, JavaScript, images)
index.htmlmust sit at the top level, or the platform won't publish- Keep your other files in their usual structure, e.g.
css/style.css,images/logo.png; their web addresses follow the same paths - Files or folders whose names start with a dot, like
.htaccessor.git, are not put on the site - Using React, Vue or Vite to produce a static site? Build on your computer first and upload only what's inside
dist(orbuild), not the source code
Apps (Node.js, PHP, Python and more)
- Put the whole project at the top level, e.g.
package.jsonwithpackage-lock.json,composer.jsonwithcomposer.lock, orrequirements.txt - When you publish, the platform packs the folder into a ZIP and builds it, exactly as if you had uploaded that ZIP in the console
- Skip
node_modulesandvendor: the build installs dependencies from your lockfile. Fewer files means faster uploads and builds - Don't put a
.envfile with real passwords in the folder. Keep secrets in your project's secrets instead (how to use secrets)
Sizes and counts
A single file can be up to 512 MB, the folder can hold up to 10,000 files, and its space follows the file storage of your current package. If publishing says you're out of space, remove files you don't need from the folder, or check the Usage page.
Traps for long-time FTP users
- Upload, then publish. This is the most common miss: you finish dragging, open your site and nothing has changed, because you haven't pressed Publish from SFTP yet.
- Deleting a file over SFTP doesn't remove it from the site. For a static site, publishing adds files and replaces those with the same name. The files on your site are listed and managed in the Files tab.
- Don't nest folders. Drag the whole
mysitefolder up and your file ends up atmysite/index.html, where the platform can't find a top-levelindex.html. Open the folder and drag its contents instead. - Files your users upload through your site don't live here. If your app stores pictures that customers upload, use persistent storage at
/bw-data, which is a different place from the SFTP folder. - Turn SFTP off when you don't need it. Under Reset password / disable SFTP there's a Disable SFTP button. Your files stay, and you can enable it again any time.
Can I use SFTP together with AI?
Yes. A common pattern: ChatGPT or Claude in a chat writes the files, you save them, then drag them up with FileZilla. To have the AI prepare files for this route, try a message like:
Please prepare this website for upload to BrewInTH over SFTP:
- If it's a static site: index.html at the top level, relative paths (e.g. css/style.css)
- If it's an app: list the files it needs (e.g. package.json + lockfile) and its start command
- Never put passwords or API keys in the files; read them from environment variables
- Finish with the full list of files I should upload, and the files I should not
If you already have a coding agent such as Claude Code or Codex, handing it the link and token is easier: it can read the logs and fix problems on its own. SFTP suits people who want to control the files themselves, or tweak one small file at a time.
FAQ
Can I use plain FTP (port 21)?
No. BrewInTH only offers SFTP, on port 2022, which is fully encrypted. In FileZilla, choose the SFTP protocol.
It says my password is wrong
Check that User is the project slug from the console's Username row, not the name you use to log in to the console. Still failing? Set a new password under Reset password / disable SFTP and try again.
I don't see the SFTP box in the Files tab
The box appears when the server your project runs on offers SFTP. If it's missing, message the team from the Customer support menu.
Publishing says index.html is required
Your project is a static site but there's no index.html at the top level — usually because a whole folder was dragged up and the files are nested inside it. Move them up one level and publish again.
The site broke after publishing. Can I go back?
Yes. Every publish is a new release in the Releases tab. Pick the previous one and press Restore this release.
Summary
SFTP on BrewInTH lets you work the way your hands already know — drag files with FileZilla or WinSCP — while being safer than old FTP and keeping a version history you can roll back to. Remember three things: SFTP protocol on port 2022, files at the top level, and Publish from SFTP every time you want the site to change.
Start your first project free →
