Skip to content

nixos/pelican-panel: init, nixos/tests/pelican-panel: init, nixos/pelican-wings: init, pelican-panel: init at 1.0.0-beta38, pelican-wings: init at 1.0.0-beta29 - #524420

Open
oskardotglobal wants to merge 4 commits into
NixOS:masterfrom
oskardotglobal:nixos/pelican-module

Conversation

@oskardotglobal

@oskardotglobal oskardotglobal commented May 26, 2026 •

Copy link
Copy Markdown
Member

This PR adds a NixOS module for https://pelican.dev, including a module for their Wings control plane and packages for both. I have been running this very module on a handful of servers for a few months now.

Things done

@oskardotglobal
oskardotglobal force-pushed the nixos/pelican-module branch from ff3070d to 2896c98 Compare May 26, 2026 11:55
@Hythera

Hythera commented May 26, 2026

Copy link
Copy Markdown
Contributor

Reopening to fix CI.

@Hythera Hythera closed this May 26, 2026
@Hythera Hythera reopened this May 26, 2026
@nixpkgs-ci nixpkgs-ci Bot added 8.has: package (new) This PR adds a new package 8.has: package (update) This PR updates a package to a newer version 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 9.needs: reviewer This PR currently has no reviewers requested and needs attention. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog This PR adds or changes release notes 8.has: module (update) This PR changes an existing module in `nixos/` 8.has: documentation This PR adds or changes documentation labels May 26, 2026

@felbinger felbinger left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

run nixfmt / treefmt on your changes to fix linting issues, reported by ci

Comment thread nixos/modules/services/misc/wings.nix Outdated
Comment thread pkgs/by-name/pe/pelican-panel/package.nix Outdated
Comment thread pkgs/by-name/pe/pelican-panel/package.nix
Comment thread pkgs/by-name/pe/pelican-panel/package.nix Outdated
Comment thread pkgs/by-name/pe/pelican-panel/package.nix Outdated
Comment thread pkgs/by-name/pe/pelican-panel/package.nix Outdated
Comment thread pkgs/by-name/pe/pelican-wings/package.nix Outdated
Comment thread pkgs/by-name/pe/pelican-wings/package.nix
Comment thread pkgs/by-name/pe/pelican-wings/package.nix Outdated
@nixpkgs-ci nixpkgs-ci Bot removed the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label May 30, 2026
@oskardotglobal
oskardotglobal force-pushed the nixos/pelican-module branch from 2896c98 to 22685ff Compare May 30, 2026 11:27
@nixpkgs-ci nixpkgs-ci Bot removed 8.has: package (update) This PR updates a package to a newer version 8.has: changelog This PR adds or changes release notes labels May 30, 2026
@oskardotglobal
oskardotglobal force-pushed the nixos/pelican-module branch from 22685ff to 333850e Compare May 30, 2026 11:40
@nixpkgs-ci nixpkgs-ci Bot added 8.has: package (update) This PR updates a package to a newer version 8.has: changelog This PR adds or changes release notes labels May 30, 2026
@oskardotglobal
oskardotglobal force-pushed the nixos/pelican-module branch 7 times, most recently from acbe3c8 to d916697 Compare June 1, 2026 09:51
@oskardotglobal

oskardotglobal commented Jun 1, 2026 •

Copy link
Copy Markdown
Member Author

No idea why CI is failing now? Gonna try reopening

Comment thread nixos/modules/services/misc/pelican-wings.nix Outdated
Comment thread nixos/modules/services/misc/pelican-wings.nix Outdated
Comment thread nixos/modules/services/misc/pelican-wings.nix Outdated
Comment thread nixos/modules/services/misc/pelican-wings.nix Outdated
Comment thread nixos/modules/services/misc/pelican-wings.nix Outdated
Comment thread nixos/modules/services/misc/pelican-wings.nix
@nullcubee

nullcubee commented Aug 15, 2026 •

Copy link
Copy Markdown
Member

Okay, I got the wings running and almost everything seems to work, uploading files (surprisingly) works, creating a server works, running it works, the console works, the stats work, and connecting and playing on it works.

However, the one major issue I am running into is that uploading anything via the sftp connection will cause the server to fail to start with java.nio.file.AccessDeniedException for one of the files I uploaded, I was having this issue with nix-pelican too. I'm not sure why this happens, it's possible it's an issue with pelican itself but I can't find any issues relating to it in the pelican github or discord. I don't think it has anything to do with the reverse proxy I'm using, as I'm connecting directly to the server with it's IP address. That might also be the issue but I'd need to do some further testing.

I thought this would be a bigger issue than it actually is though, since I didn't know you could drag and drop whole folders into the file list in the web panel, so that works for now I guess. Still wish I knew what was going on with SFTP though.

edit: Wait I just realized these errors are showing up in the wing's logs while I'm connected via sftp:

Aug 15 02:29:28 hostname wings[4036693]:  WARN: [Aug 15 02:29:28.449] Error response from Panel: HttpForbiddenException: Authorization credentials were not correct, please try again. (HTTP/403) ip=localaddress:37288 subsystem=sftp username=nullcube.0fef47d0
Aug 15 02:29:28 hostname wings[4036693]:  WARN: [Aug 15 02:29:28.450] failed to validate user credentials (invalid username or password) ip=localaddress:37288 method=public_key subsystem=sftp username=nullcube.0fef47d0

This is probably related lol...?

Nevermind, I figured I should try a different SFTP client, and it works fine with FileZilla, I was just using Dolphin previously, I should have known better. Oops. I've never had that problem before though, so maybe the wings are just extra sensitive.

@oskardotglobal

Copy link
Copy Markdown
Member Author

I've addressed all your comments. Regarding the setup: I think it's best if the user just creates the first admin using the CLI, I've added pelican-artisan to PATH. Regarding the secretEnvironmentFile, it forces users to do somewhat proper secrets handling so it should stay. I've documented it more, though.

@nullcubee

Copy link
Copy Markdown
Member

Regarding the secretEnvironmentFile, it forces users to do somewhat proper secrets handling so it should stay. I've documented it more, though.

I still don't think it shouldn't be required, for a few reasons:

  • It makes it easier for testing
  • Most other nixpkgs services don't force you to include a secrets file
  • If someone really doesn't want to include it, and have their secrets readable in the nix store and config, I don't think they should have to create a dummy file in order to bypass it/work around it.

@nullcubee nullcubee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, hopefully this is my last review cycle, everything else looks good to me! Sorry about pestering you so much with reviews and comments lol

Comment thread nixos/modules/services/misc/pelican-panel.md Outdated
Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated
Comment thread nixos/modules/services/misc/pelican-wings.nix Outdated
@oskardotglobal

Copy link
Copy Markdown
Member Author

Regarding the secrets: some services do require it (onlyoffice, nextcloud) and I think it's a good idea. If the user wants them to be world-readable, they can just use writeText to write the secrets into the store and replace it with a path outside the store later on

@nullcubee

nullcubee commented Aug 20, 2026 •

Copy link
Copy Markdown
Member

sorry for the delay, I guess I accidentally lied lol, I was reading over the documentation again, and have some more changes I wanted to make, but I went ahead and made them on my own branch since they were a lot more extensive/specific: oskardotglobal/nixpkgs@nixos/pelican-module...nullcubee:nixpkgs:nixos/pelican-module

Feel free to edit as you see fit

EDIT: Changed a bit of the documentation around, since plugins stopped being able to be installed at all somewhere along my testing.

EDIT 2: Actually I might have figured out how to make plugins work inside the panel, but I might want to work on that in a separate PR anyways...?

EDIT 3: yeah idk if the plugins actually work, I'll just work on the plugins in a new PR.

@nullcubee nullcubee left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went ahead and added all the module (and test/package) changes I wanted to make here, just for easier review and discussion. The main thing I realized was that the APP_URL was forced to be https, and that you were forced to set the domain option in the first place.

You don't technically need a domain for a minimal installation, and setting one just causes the panel to try to redirect you to said domain, regardless if it's reachable or not. Having APP_URL be empty seems to disable this behavior, so you can access the panel via the server's local IP. This allows it to be used easier with like, tailscale, on a local network, or for testing.

Maybe this option should also be renamed to url with this change, I'm not sure.

I also have documentation changes I'd like to make, but those are linked in my last comment already.

Comment thread nixos/modules/services/misc/pelican-panel.nix
Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated
Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated
Comment thread nixos/modules/services/misc/pelican-panel.nix
Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated
Comment thread nixos/tests/pelican-panel.nix Outdated
Comment thread nixos/tests/pelican-panel.nix Outdated
Comment thread pkgs/by-name/pe/pelican-panel/package.nix
Comment thread pkgs/by-name/pe/pelican-panel/package.nix
Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated
@oskardotglobal

Copy link
Copy Markdown
Member Author

I've updated the docs and pulled in your changes, good work; I've kept the option name as domain though

Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated

@nullcubee nullcubee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good to me! Thank you!

@oskardotglobal

Copy link
Copy Markdown
Member Author

Thanks to you for helping with this PR!

@Svenum

Svenum commented Sep 30, 2026

Copy link
Copy Markdown
Member

Hi, any clues how long this will take to get merged?

@nixos-discourse

Copy link
Copy Markdown

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/7667

Comment thread pkgs/by-name/pe/pelican-wings/package.nix Outdated
Comment thread pkgs/by-name/pe/pelican-panel/package.nix Outdated
Comment thread pkgs/by-name/pe/pelican-panel/package.nix
Comment thread pkgs/by-name/pe/pelican-panel/package.nix Outdated
Comment thread nixos/modules/services/misc/pelican-wings.nix Outdated
Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated
Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated
Comment thread nixos/modules/services/misc/pelican-panel.nix Outdated

@nixpkgs-ci nixpkgs-ci Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for contributing to the documentation

Make sure you follow the documentation style guide, most notably:

  • Show, don't tell: lead with a minimal working example; explanation follows the code.
  • No meta-commentary: don't write "This section explains how to…", just do it.
  • Imperative mood and active voice: "Run the command", not "The user should run the following command".
  • Present tense: "This creates a folder", not "This will create a folder".
  • Be confident: no hedging with "should", "might", "typically", "usually".
  • Cut filler words: "simply", "just", "easily", "basically"; "to", not "in order to".

For larger changes, like adding or removing whole sections, ask the NixOS documentation team for a review.

oskardotglobal and others added 3 commits October 7, 2026 10:56
Co-authored-by: NullCube <nullcub3@gmail.com>
Co-authored-by: NullCube <nullcub3@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation 8.has: module (new) This PR adds a module in `nixos/` 8.has: module (update) This PR changes an existing module in `nixos/` 8.has: package (new) This PR adds a new package 8.has: tests This PR has tests 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 3+ This PR was reviewed and approved by three or more persons.

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.