I just upgraded my instance to 0.18.0 using Ansible and I had to disable the option ‘Private instance’ directly on the database to get the lemmy docker up and running. I assume this is an intentional change, but should it really stop Lemmy from even running?
At least on 0.17.4, with Private Instance and Federation enabled, the comments and posts I made to remote communities were federated correctly to other instances. The change seems very intentional, as shown by the error message I got after I upgraded:
lemmy_1 | Error: LemmyError { message: Some("Cannot have both private instance and federation enabled."), inner: Cannot have both private instance and federation enabled., context: SpanTrace [] }
ncgnzlcl_lemmy_1 exited with code 1
The check giving this error is pretty old, so it seems that you got it to work was not intentional: https://github.com/LemmyNet/lemmy/blame/63d3759c481ff2d7594d391ae86e881e2aeca56d/crates/api_common/src/utils.rs#L539
As far as I can see, 0.18 and its release candidates only added additional checks preventing such an instance to be set up in the first place.
I see, thank you for the insight. According to this comment, after an instance on 0.18.0 is running one can still set it to private with federation enabled, so it seems this check is only preventing the instance from starting in that state.
Yes, that’s what this check (and the later introduced changes) are meant for. On the reasoning why this configuration is not desired I can’t comment.