2.8 KiB
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
noisepicsflake input toextremist-software/flake.nix - Add
inputs.noisepics.nixosModules.defaultto the modules list - Create
modules/noisepics.nixin 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.jsontags/descriptions via Piwigo API
4. Configure Piwigo
- Complete web setup wizard (DB:
piwigoon 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