I use Fedora KDE as my homeserver, because it is my media center too. That’s the reason for the desktop.
Cons for me:
First I struggled with firewalld, it is more challenging than UFW. I removed it, because my router does the job.
Second SELinux is very annoying at the beginning. You install samba and vsftp and it will not work until you set permissions for SELinux.
SELinux is complicated for the start. Documentation is not very helpful for this imo. It works now. If you want to have an easy way, you can set it to permissive mode. I kept it running.
Pros for Fedora has actual software and I really love DNF 🥰
Can’t you just turn off SELinux?
Yes you can but you don’t learn a thing from this. A good choice would be permissive mode. You get the warnings, but it works anyway
People use Linux for things other than learning.
deleted by creator
Thanks for sharing.
I run Fedora Server on a blade server in a colo.
Pros:
- Cockpit is the GOAT 🐐
- Descended from RHEL so everything is supported
- Podman is the GOAT 🐐
Cons:
- Podman is getting worse, for instance they recently deprecated systemd generate and tell you to use Quadlet, for running pods, you need to use Kubernetes. This greatly complicates my workflow.
- SELinux, while secure, and easy to troubleshoot with Cockpit, is a major pain in the ass that prevents most containers from accessing their data directories. It can be corrected but is extremely frustrating.
- Quadlet is extremely inconsistent, I can copy the working unit file for a container and it works, change the name and variables for another container, and one launches but the other won’t start. One will have the wrong name. Stupid things, like putting the name in quotes, reloading, removing the quotes fixes it. I have harsh words for the idiot who deprecated systemd generate.
- something like Tiddlywiki, their documentation will put you in /var/www but Fedora uses /usr/www or something. You get used to the Fedora things but you can end up on a goose chase sometimes.
Those cons are starting to hit hard, and when I reimage this server next I’m probably going to Proxmox or Debian. Server 37 was good but I probably won’t bother with 39.
Fedora uses /var/www. Dunno what gonk you read or told you otherwise. There’s SELinux policies built in for that directory. You probably are confusing the default html files at /usr/share/html. These are separated intentionally. The /usr/share/html directory is managed by RPM, the other /var/www is content designated as web server files.
deleted by creator
Thanks for sharing it in details. Very helpful.
Isn’t Fedora’s support window a bit over a year per release? Would you want to deal with upgrades every year?
Yes, the support window is only 13 months after release, which can be annoying. I’d rather go with Debian or CentOS, unless software needs a more recent library.
Yes. In place upgrades are pretty easy at this point though.
Depends on what you’re using it for. Fedora’s release ver upgrades are fairly seamless. Just a big dnf update really.
Meanwhile I have a bunch of servers stuck on CentOS 7 that are going to need to be completely rebuilt by next summer. I’m also limited by them because the pdf generator I use requires a version of libpango that was released in 2019 and EL7 is stuck on the 2018 version.
I switched from Rocky to Fedora Server because I was sick of running into compatibility issues with dependencies that exist in the Fedora repo and not EL.
Specifically postgres. One of the projects requires postgis and gdal, which are in the Fedora community repo, but I have to use the official postgres repo on Rocky and the people that maintain those repos are literally incompetent. They have an automated script that generates all of the packages and they can’t even be bothered to double check that the packages are built against the correct version of postgres, so your install will fail because a PG14 package is looking for a dependency that only exists in the PG11, PG12, and PG15 repo.
Well I have experiences with Arch and Debian testing for servers, depending on your needs ane desires, it has some benefits, despite all the hassls.
I’ve been utilizing Fedora as my go-to server operating system for over a decade, starting around Fedora 13 and consistently progressing through the subsequent major releases. Throughout this journey, Fedora has proven to be a reliable choice, offering several noteworthy advantages.
One of the standout features of Fedora, reminiscent of its desktop counterpart, is the availability of up-to-date and cutting-edge packages. With the backing of Red Hat, compatibility with a range of software, including SystemD and FirewallD, enhances its appeal for server applications.
However, it’s crucial to consider Fedora’s rapid release cycle, with a new version emerging approximately every six months and a 13-month support window for each release. While this frequent update schedule ensures access to the latest features, it can pose challenges for server environments where uptime is critical, and system administrators may find it demanding to keep up with the pace while managing compliance, audits, and other business processes.
Despite these considerations, my personal experience with Fedora as a server has been exceptionally positive. The OS has demonstrated robust performance across diverse environments, seamlessly adapting to various setups, from bare metal and virtual machines to containers. The flexibility extends from smaller hardware configurations like the Raspberry Pi to more substantial servers with 40+ vCPUs and 1.5TB RAM.
SELinux, a crucial component for security, seamlessly integrates with most applications, but I have encountered some challenges with WINE headless server programs, particularly for hosting Windows-based game servers not originally designed for Linux. Additionally, compatibility with Debian-based Crypto wallets proved to be a stumbling block, requiring the use of a Debian VM for compilation and subsequent transfer to Fedora.
In terms of server redundancy and monitoring, I rely on three Fedora servers equipped with essential software such as Nginx, Grafana, Prometheus, Influxdb, and fping. Wireguard and Samba facilitate automated file transfers between another set of servers, contributing to an efficient setup.
Automation plays a significant role in my server management, with Ansible and Bash scripts streamlining tasks such as package installations, configuration adjustments, and firewall rule setups. Each Fedora server is configured for self-startup to ensure uninterrupted operation in case of power failure or manual reboots.
I’ve successfully integrated an LSI/Intel server RAID card into one of my Fedora servers, and the third-party RPM package for monitoring (storcli64) installed seamlessly. LSI card driver support is built into the Linux kernel, contributing to a hassle-free experience.
The only notable limitation I’ve encountered pertains to desktop gaming, a domain where I’m exploring transitioning to Fedora. For gaming servers requiring Steam/SteamCMD and Windows DLLs, alternative solutions might be more suitable, unless willing to navigate potential challenges with WINE and SELinux adjustments.
In conclusion, the suitability of Fedora as a server hinges on your specific use case. For web or Internet of Things servers, it stands out as an excellent choice. However, if your requirements involve gaming servers with Steam dependencies, alternative options may warrant consideration. As I’ve explored various Linux and *BSD systems over the years, Fedora has proven its versatility, offering a compelling solution for a range of server applications.
Thank you for putting time to share all these.🙏
Selinux policy’s. Its weakness, also its strenght.
Don’t use Fedora in prod. Dixi.
Prod?
Production. Live environment. Actually using it to provide some service for paying customers.
Can I ask why?
Fedora releases newer software versions regularly, and this can be a problem for third party software.
Production. Means “anything important”.
I really like the web based management panel. Make it really quick and easy to add/change firewall rules, look at logs, etc.
You mean Cockpit?
*cockpit
Yes, looks like that is the official name for it. Thanks.
You can install it on any distro. That’s not unique to Fedora
We used to run firewalls running Fedora at work, works fine. Issue is you’re only getting 6 months of updates, best to look at Rocky Linux for something that doesn’t change much if you do anything beyond a single program.
anedotally: it works fine if it’s from a vendor who provides support for it. eg cumulus switches running fedora 9 but still getting updates from cumulus engineers.
I’m a selfhoster, I setup a home assistant VM and Cosmos Cloud running a bunch of Docker containers, all setup using Cockpit.
Easier, and better looking UI than Proxmox. Also this setup enabled me to use Docker instead of LXD and save on one virtualization layer, which as a beginner every layer adds complexity.
It has been rock solid, it has better hardware support than Debian due to the faster release cycle, only drawback is the lack of documentation or tutorials in comparison to Debian which has a colossal community.
I’m using it myself for my vps and it’s fine. I don’t think it’s anything spectacular, but my use case is really basic.
I wouldn’t. If you must use Fedora use it in a podman container on top off something more stable like debian
Just… DON’T!!!
But why?
Because Fedora is a distro for multimedia desktops (being nice to Fedora); not for a server…