Introduction
!Friendica Admin Support Group Hello, this is my first friendica group. I have not been on the fediverse for very long so excuse me if I am not well versed in all of its intricacies as of yet.
Okay, I guess I will start by laying out my instance setup as a foundation. I am also interested in hearing from others that have chosen other routes. Such as operating from a container, on a website such as GoDaddy that is not a VPS. I have some very definite opinions about those implementations though it would not surprise me if I was wrong. It has happened before.
I decided to go with a VPS. I host at IONOS . I have 8 vCPU, 16gb RAM, 256gb SSD. I have no idea how many users this might sustain. Though at the moment I am not convinced that it will be many until some significant issues have been addressed.
With IONOS I have the ability to choose my Operating System (OS) and I chose Rocky 9, as I use Fedora as my daily driver on my home systems and I am most familiar with RHEL and variants of it. I am also unimpressed with Canonical and their Ubuntu offerings. I agree that their server is less encumbered than their Desktop offering though I still just do not care for the company. I bring this up because most of the friendica development appears to be on Ubuntu. So a lot of the libraries and requirements I had to either build from a project on github, enable epel, or use pecl to install, rather than them being available in the OS default repo. This may be significant to someone starting out that is not so comfortable building projects, or installing from other repos, etc. In short, if you do not have any issues with Ubuntu, you will probably find a much smoother install via that Gnu/Linux variant than others. Feedback from anyone on an Ubuntu server would be appreciated.
I initially used a tar ball install though I realized that upgrading via this route would be cumbersome. So I opted to use the github install instead. As a vim user I am used to using github as an installation and upgrade solution. As with vim most plugins are handled this way.
I managed to coheres an install and that was a few hours of struggling to get the correct resources available due to my OS choice. I have elected to leave SELinux on as I feel with a production server it is the best security option. So disabling it to ease installation is simply not an option for me. If you also choose to use SELinux and are not a SELinux guru then I can help with some advice at working with it, rather than having to disable it.
one thing to keep in mind is that when SELinux blocks an event it logs it to the system journal and it is also nice enough, in most cases, to tell you how to enable it if you feel that this should not be blocked. For instance:
$ journalctl | grep -Ei "SELinux"
will show you all the journal entries that SELinux made and with possible fixes.
Such as enabling Httpd to use sendmail (or your choice of MTA) so your site can send outbound mail for user confirmation etc.
Right now I am experiencing a lot of issues with guzzlehttp/psr7/src/Utils.php exhausting memory. I am convinced this must be a memory leak as I cannot see a single php event requiring more than 8gb of memory, which is what I have enabled. I have not completely discounted it being a configuration issue though. Mabye SELinux is keeping a cache from being written? Not sure yet.
There are also issues with unhandled exceptions as well as mangled filenames not fitting into the db column. I am going to be looking into these issues though I have certain obstacles. First, I work full time and on days I work I have a 12 hour day and 1 hour one way commute so I do not do much more than sleep on and work on those days. Second, I am primarily a Systems Programmer so I am more comfortable with C, C++, Python etc than PHP, JavaScript, etc. Though I have done full stack development before and I just have to get back into the swing of things. Third, I am most definitely not a Database Administrator. I can work my way around and setup a simple schema but any level of complexity is likely to be beyond my experience.
I would love to hear some feedback from the challenges other admins are having, and how they decided to implement their instance. The pros and cons of that choice.
Have a Great Day!
Unus Nemo
Friendica Admin Support Group reshared this.
Ken Gahagan
in reply to Unus Nemo • • •@Unus Nemo Thanks for joining and for posting here. My hope is that we'll have a community of folks who work to support each other in addition to the primary support venues.
I don't know if you've seen it or not but I found this page on Running a public or community server before I did my deployment. I typically use linux from the command line and while things do vary significantly from distro to distro where the overall lifecycle of an installation is concerned they are very similar from the command prompt (yeah for sure different package managers / firewalls / security options and the like but picking up a new one isn't too much of a burden (although switching between apparmor and selinux hurts my brain) so that said I went with Debian and Nginx based on the recommendations of this article.
I've been very focused
... show more@Unus Nemo Thanks for joining and for posting here. My hope is that we'll have a community of folks who work to support each other in addition to the primary support venues.
I don't know if you've seen it or not but I found this page on Running a public or community server before I did my deployment. I typically use linux from the command line and while things do vary significantly from distro to distro where the overall lifecycle of an installation is concerned they are very similar from the command prompt (yeah for sure different package managers / firewalls / security options and the like but picking up a new one isn't too much of a burden (although switching between apparmor and selinux hurts my brain) so that said I went with Debian and Nginx based on the recommendations of this article.
I've been very focused on just getting my friendica instance up and learning the basics (like how to create this group) so I can write some guides for my friends in hopes of enticing them to come join me here. I am sure I have some friends who have the skills to host their own deployment - but like you they are still working and may not choose to do so. That said, most of my friends just want to use social media to stay in touch with others rather than deal with the details of server backups, software upgrades, firewall configurations, mail server reputations, DNS configuration and the like. Most folks have no idea (and are happily unaware) of the details it takes to even get something like this to run in the first place - much less what is required for long-term support! 😃
That said I also offer another resource that is still not fully released but it is a documentation and software project that defines the software for a fully-functional linux server environment for a small business based completely on open source software. It is very opinionated and there are some gotchas in the instructions but it is a good guide for deploying everything needed to host friendica. I didn't deploy the e-commerce components, Wordpress, open cloud and a number of other components (on a different server) but I may yet deploy the full stack just to see how well it all operates together. It includes setting up backups and such. Since it had been a while since I had done a zero to fully ready for prime-time deployment I used it as a guide.
None of this gets to your specific question but it offers some background on my deployment and how I got started.
I also thought I would put the links here for anyone who comes across our group and needs these friendica community resources:
Unus Nemo
in reply to Ken Gahagan • •@Ken Gahagan Yes, I have used all those resources and they help to get an instance up and running. I am there. Now I am tuning it. Most of what I am commenting on is not a question. It is just the obstacles I am running into and other admins are likely to as well.
I can see there are many issues that are beyond administrations, they are issues with the code base and that is doing to require a developer and I am on that. Though I am documenting what I find in hopes that is can be helpful to others.
My biggest issue at the moment is that worker.php really could be using less memory and it should be. Though that is going to take a while of work to investigate. As first I have to be familiar with the code base itself to understand why the developers made the choices they have.
I know why there are so many unhandled exceptions. That is just getting things done and fix it later you run into that a lot in a project this size.
If there i
... show more@Ken Gahagan Yes, I have used all those resources and they help to get an instance up and running. I am there. Now I am tuning it. Most of what I am commenting on is not a question. It is just the obstacles I am running into and other admins are likely to as well.
I can see there are many issues that are beyond administrations, they are issues with the code base and that is doing to require a developer and I am on that. Though I am documenting what I find in hopes that is can be helpful to others.
My biggest issue at the moment is that worker.php really could be using less memory and it should be. Though that is going to take a while of work to investigate. As first I have to be familiar with the code base itself to understand why the developers made the choices they have.
I know why there are so many unhandled exceptions. That is just getting things done and fix it later you run into that a lot in a project this size.
If there is anything that you feel I should not share because it does not help, just let me know. Right now I am given to the opinion that anything I might run into so might another. Another admin might have even found a fix and be nice enough to respond.
Though I do not expect anyone to answer my posts. They are informational only. I am working on the answers, and when I have them I will be sharing them as well.
Friendica Admin Support Group reshared this.
Unus Nemo
in reply to Ken Gahagan • •Friendica Admin Support Group reshared this.
Ken Gahagan
in reply to Unus Nemo • • •Unus Nemo likes this.
Unus Nemo
in reply to Ken Gahagan • •@Ken Gahagan Did you find your log file? I did not notice at first that it was telling me that the file did not exist. I had to create the actual file for it to start using it. These settings can be found in the admin settings first you configure were the log file is and what you are interested in logging. If you enable debug be prepared for a huge log file. Then you can view it in the second tab (vertical tab).
if you have root access and you have forwarded root mail to your default account then errors will also be sent to that account. I use mutt for viewing those emails. You could also use alpine. If you have a full blown public MTA setup then you could view it from your regular MUA.
Friendica Admin Support Group reshared this.