1
0
Fork 0
Fediversity/panel
Kiara Grouwstra 1411136f75
WIP: trigger nixops from panel
Closes .

Note I had not yet manage to successfully test this.

Manually trying the parameterized NixOps4 I tried using the following
command, tho I had yet to get this to work as well:

```sh
DEPLOYMENT='{"domain": "fediversity.net", "mastodon": {"enable": false},
"pixelfed": {"enable": true}, "peertube": {"enable": false}}' nix
develop --extra-experimental-features "configurable-impure-env"
--command nixops4 apply test
```

(or rather, I used a hardcoded Nix here so as to make it not use Lix.)

So far this had failed for me with:

```
the following units failed:
acme-mastodon.web.garage.fediversity.net.service
...
nixops4 error: Failed to create resource garage-configuration
```
2025-03-17 15:13:23 +01:00
..
nix add django-pydantic-field 2025-03-05 09:00:18 +01:00
src WIP: trigger nixops from panel 2025-03-17 15:13:23 +01:00
.envrc add .envrc files 2025-02-13 14:48:21 +01:00
.gitignore scaffold Django web service 2025-02-13 00:26:28 +01:00
default.nix WIP: trigger nixops from panel 2025-03-17 15:13:23 +01:00
README.md WIP: trigger nixops from panel 2025-03-17 15:13:23 +01:00
shell.nix scaffold Django web service 2025-02-13 00:26:28 +01:00

Fediversity Panel

The Fediversity Panel is a web service for managing Fediversity deployments with a graphical user interface, written in Django.

Development

  • In your nix.conf (Nix) / nix.settings (NixOS), to your experimental-features add configurable-impure-env. Note that this features is only available in Nix, not in Lix.

  • To obtain all tools related to this project, enter the development environment with nix-shell.

    If you want to do that automatically on entering this directory:

    • Set up direnv

    • Run direnv allow in the directory where repository is stored on your machine

      Note

      This is a security boundary, and allows automatically running code from this repository on your machine.

  • Run NixOS integration tests and Django unit tests:

    nix-build -A tests
    
  • List all available Django management commands with:

    manage
    
  • With a fresh database, run:

    manage migrate
    
  • Run the server locally:

    manage runserver
    
  • Create an admin user:

    manage createsuperuser
    

    and log in at http://localhost:8000/admin.

  • After changing the database schema, add migrations and apply them:

    manage makemigrations
    manage migrate
    
  • Use the Django Debug Toolbar for troubleshooting in the browser