init
This commit is contained in:
commit
acca19d3dd
6 changed files with 211 additions and 0 deletions
72
SPEC.md
Normal file
72
SPEC.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# 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**
|
||||
Reference in a new issue