---
okf: "0.1"
type: service
visibility: private
status: active
updated: 2026-07-09
links:
  - ../decisions/gokapi-storage-e2e-siec.md
  - ../runbooks/gokapi-cutover.md
---

# Gokapi (publiczne udostępnianie plików)

Lekki self-hosted "Firefox Send" alternative — link do jednego pliku, na
zewnątrz, z limitem pobrań/czasu. **Osobny serwis od Nextclouda, celowo.**

| | Nextcloud | Gokapi |
|---|---|---|
| Rola | twierdza — prywatna, mesh/`kapala.org` | publiczne dzielenie — `okit.pl` |
| Dostęp | Tailscale/LAN only, zero public ingress | publiczny internet, przez npm@VPS |
| Host | PIHA | **VPS** (Hetzner, publiczny) |
| Użycie | sync telefon/desktop, KB source | "wyślij komuś link do pliku" |

Host: **VPS** (Hetzner, `135.181.153.108`) — publiczny serwis na publicznym
hoście, węzły domowe nietknięte. `owner_node: vps`.

## Stack

| Kontener | Obraz | Rola |
|---|---|---|
| `gokapi` | `f0rc3/gokapi:v2.2.4` | cała aplikacja (Go binary + wbudowana baza SQLite), port 53842 |

Wersja przypięta na `v2.2.4` (aktualny stable na 2026-07-09, zweryfikowane
przez github.com/Forceu/Gokapi releases + tagi `f0rc3/gokapi` na Docker
Hub). **TODO PRZY DEPLOYU**: potwierdzić, czy nie wyszła nowsza wersja,
zanim `docker compose up`.

## Backup

- `/opt/homelab/data/gokapi/data` — pliki użytkowników. **Ulotne z
  założenia** (linki wygasają), nie wymaga backupu.
- `/opt/homelab/data/gokapi/config` — `config.json` + klucz szyfrowania E2E.
  **To backupować** — utrata = utrata dostępu do configu (hasło admina,
  ustawienia) i do zaszyfrowanych plików, jeśli klucz trzymany lokalnie.
  Sugerowana retencja: dołączyć do tej samej pętli nocnej co inne configi na
  VPS (mały rozmiar, plik+SQLite).

## Rejestracja w repo (zrobione w tym PR)

- `hosts/vps/services.yaml` — wpis `gokapi`.
- `inventory/topology.yaml` — `gokapi` w liście serwisów `vps`.
