This repository has been archived on 2026-04-02. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
noisepics/SPEC.md
2026-03-18 16:46:50 -07:00

2.8 KiB

Noisepics - Noisebridge Community Photo Gallery

What

Self-hosted photo gallery for Noisebridge using Piwigo, served at noisepics.extremist.software, with 1TB Hetzner Storage Box for photo storage.

Architecture

                    ┌─────────────────────────────┐
                    │  extremist-software VPS      │
Internet ──► Caddy ─┤                              │
                    │  Piwigo (OCI container :2284) │
                    │  MariaDB                      │
                    │        │                      │
                    └────────┼──────────────────────┘
                             │ CIFS mount
                    ┌────────▼──────────────────────┐
                    │  Hetzner Storage Box BX11     │
                    │  1TB - €3.80/mo               │
                    │  /galleries/                  │
                    └───────────────────────────────┘

TODO

1. Get storage

  • Order Hetzner Storage Box BX11 (1TB, €3.80/mo)
  • Note the address: u563838.your-storagebox.de
  • Enable Samba/CIFS + external reachability
  • Create agenix secret with credentials (username=u563838\npassword=...)

2. Deploy the module

  • Add noisepics flake input to extremist-software/flake.nix
  • Add inputs.noisepics.nixosModules.default to the modules list
  • Create modules/noisepics.nix in extremist-software:
    { config, inputs, ... }:
    {
      services.noisepics = {
        enable = true;
        domain = "noisepics.extremist.software";
        storagebox = {
          enable = true;
          address = "u563838.your-storagebox.de";
          credentialsFile = config.age.secrets.noisepics-storagebox.path;
        };
      };
    
      age.secrets.noisepics-storagebox = {
        file = ../secrets/noisepics-storagebox.age;
        mode = "0400";
      };
    }
    
  • Add DNS record: noisepics.extremist.software → VPS IP
  • Deploy with nhs

3. Import existing photos

  • Mount storage box locally via Samba and copy photos in
  • Use Piwigo's admin sync to pick them up
  • Import photos/metadata.json tags/descriptions via Piwigo API

4. Configure Piwigo

  • Complete web setup wizard (DB: piwigo on localhost socket)
  • Enable community uploads (Community plugin)
  • Set up guest browsing (no login to view)
  • Set Creative Commons licensing in gallery config

Cost

  • Storage Box BX11: €3.80/mo
  • VPS: already running (extremist-software)
  • Total new cost: €3.80/mo