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

72 lines
2.8 KiB
Markdown

# 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
- [x] Order Hetzner Storage Box BX11 (1TB, €3.80/mo)
- [x] Note the address: `u563838.your-storagebox.de`
- [x] 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:
```nix
{ 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**