Moving from Debian 12 to FreeBSD for web server

I have used FreeBSD in the past for a personal system, but now I want to try it in the "real world". Currently I have a Debian 12 instance serving a forum, it performs routines such as automated back ups, updates, has proper ssh config, and a firewall setup. My only experience with FreeBSD is as an end user on a personal system, not servers. As such, besides the docs I really have no idea where to start.

I will need Postgres, nodejs, and Caddy as reverse proxy to the web application. The Node.js will very soon be a Go binary (another thread topic actually). What are common pitfalls and things to understand before I begin? I would need to also achieve everything listed in the first paragraph.

I searched for other threads with "debian", "migration", and "web hosting" but found no related threads which is surprising. But in my search I did come across snapshots with ZFS. Currently my server is running on ext4, and that is all I know. Would another file system that FreeBSD offers benefit a server user case more?

Thank you for your time.
 
Firstly, I wish you all the very best on your migration.
I did this about 12-13 years ago and never been happier. I used Debian (or based) os before both on servers and pcs. The biggest issue with debian was the lack of separation between the os and the programs.

I suggest you to start with installing FreeBSD (I use stable branch), and go from there.

I also use, Caddy, some Nodejs programs, and some Go programs.

Not all Nodejs programs work with FreeBSD as some dependencies are not available for FreeBSD.

The programs I run in my servers:
1. Caddy
2. Postgresql
3. Mariadb
4. Otobo
5. PHP based CRM
6. Matrix-Synapse server including livekit, MAS, element-web etc.
7. Jellyfin
8. SabreDAV
9. Postfix, Dovecot, rspamd, snappymail
10. Gitea
11. Wiki.js
12. I,Librarian
14. Projectsend
15. 3 x Windows 10 via bhyve.

That's all I can think of now.
 
Would another file system that FreeBSD offers benefit a server user case more?
Yes, I think that ZFS is superior to most filesystems i've ever used.

Software you use likely to have same configuration needed in every OS. So, I think that you can copy/paste your configuration for programs carefully. Note that, external software uses /usr/local prefix instead of just /usr.

I had experience of only running nginx and ssh, it was a good experience, currently don't have any VPS. I can't host something at my home either, i am behind CG-NAT.
 
As such, besides the docs I really have no idea where to start.
You might want to get yourself a copy of the book Practical Internet Server Configuration by Robert La Lau. It's tag line is 'Learn to Build a Fully Functional and Well-Secured Enterprise Class Internet Server'. It does this with examples in FreeBSD, Debian and CentOS. This means that you can compare the Debian instructions that you're already familiar with and the FreeBSD instructions that you're not familiar with to achieve what you want. I've read the book and can highly recommend it.
 
Back
Top