nixcfg/cluster/prod/app/cryptpad/build
KokaKiwi a560763a41
cluster(prod): cryptpad, update pinned sources
Signed-off-by: KokaKiwi <kokakiwi+deuxfleurs@kokakiwi.net>
2024-10-02 17:49:04 +02:00
..
npins cluster(prod): cryptpad, update pinned sources 2024-10-02 17:49:04 +02:00
default.nix cluster(prod): Upgrade crytptpad to 2024.6.1 2024-07-28 20:26:31 +02:00
deuxfleurs.nix cluster(prod/app/cryptpad): Update CryptPad to 2024.6.0 2024-07-02 20:22:04 +02:00
docker.nix cluster/prod(app): Add new CryptPad build files 2024-04-18 18:56:19 +02:00
README.md cluster/prod(app): Migrate from niv to npins for pinned sources for cryptpad 2024-05-23 22:21:11 +02:00

CryptPad for NixOS with Deuxfleurs flavour

Building

The default.nix file follows the nixpkgs callPackage convention for fetching dependencies, so you need to either:

  • Run nix-build --expr '{ ... }@args: (import <nixpkgs> {}).callPackage ./default.nix args'
  • Do the callPackage from a higher-level directory importing your package

Docker

The docker.nix derives into a Docker image you can load simply by running:

docker load -i $(nix-build docker.nix)

You can then test the built Docker image using the provided docker-compose.yml and config.js files, which are configured to render the instance accessible at http://localhost:3000 with data stored into the _data folder.

Deuxfleurs flavour

The deuxfleurs.nix file derives into two derivations: The CryptPad derivation itself and a Docker image, which can be choose by passing the -A [name] flags to nix-build

For example, to build and load the Deuxfleurs-flavoured CryptPad Docker image, you run:

docker load -i $(nix-build deuxfleurs.nix -A docker)

OnlyOffice integration

Apart for deuxfleurs.nix, both default.nix and docker.nix files build CryptPad with a copy of OnlyOffice pre-built and used by CryptPad, which can result to large Docker image (~2.6GiB)

This behaviour is configurable by passing the --arg withOnlyOffice false flag to nix-build when building them.

Updating the Deuxfleurs pinned nixpkgs

The pinned sources files are generated with the npins tool.

To update the pinned nixpkgs, you simply run the following command:

npins update

To modify the pinned nixpkgs, remove it and re-add it using the new target, for exemple for nixos-unstable:

npins remove nixpkgs
npins add --name nixpkgs channel nixos-unstable