I don't know @codeberg's API, but assuming there are ways to do it, you could set up a script on any server that sets the repository state to public in some fixe number months (e.g. two months) from now. Then it would be up to you to reschedule this automatism e.g. every month by one addional month. When rescheduling stops, the repository goes live.
The general idea is to inhibit or delay an automatic process as long as you're able to. There are various ways to implement this.