Ga naar de hoofdinhoud

Zelfhost - Aan de slag

Deze handleiding brengt u van een lege server naar een actieve Kanera waarop u zich kunt aanmelden.

Het behandelt de onderdelen die elke implementatie nodig heeft: vereisten, capaciteit, het omgevingsbestand, het starten van de stack en het bevestigen dat deze werkt. Optionele onderdelen – de openbare API, MCP, e-mail, opslag en back-ups – hebben elk hun eigen pagina, die aan het einde is gekoppeld.

Vereisten​

Je hebt nodig:

  • Een server met Docker en Docker Compose.
  • Een domein dat naar de server wijst.
  • HTTPS vóór Kanera, meestal via Caddy, Traefik, nginx of een cloud-load balancer.
  • SMTP-inloggegevens als u wilt dat Kanera e-mail verzendt.
  • Een plan voor het maken van back-ups van PostgreSQL-gegevens en geüploade bestanden.

Planningscapaciteit​

Kanera is lichtgewicht op kleine teamschaal. Het opstelbestand stelt geen harde CPU- of geheugenlimieten in en de migratieservice wordt afgesloten na het opstarten. De standaardstack voert PostgreSQL, Valkey, twee API-replica's, een werker, de openbare API, MCP en nginx uit.

Gebruik deze als uitgangspunten en meet vervolgens uw eigen gelijktijdige activiteit, bestanden, integraties en back-upvenster:

Typisch elftalStartcapaciteitLokale schijfNotities
Persoonlijk of licht gebruikt1 vCPU, 1 GiB-RAM10 GiBGebruik API_REPLICAS=1 en laat het optionele monitoringprofiel uitgeschakeld.
1 tot 25 actieve gebruikers1-2 vCPU, 2 GiB RAM20 GiBComfortabel voor normale bordactiviteiten, meldingen en lichte integraties.
26 tot 100 actieve gebruikers2-4 vCPU, 4 GiB RAM40 GiBVoegt ruimte toe voor gelijktijdige activiteiten, uploads, API-verkeer, webhooks en databasecache.
Meer dan 100 actieve gebruikers4+ vCPU, 8+ GiB-RAM80+ GiBVoer vóór de lancering een test uit met representatieve gegevens, schaal vervolgens API-replica's en stem PostgreSQL af op het waargenomen gebruik.

Dit zijn planningsbasislijnen, geen harde gebruikerslimieten of gemeten capaciteitsgaranties. Gelijktijdige activiteiten zijn belangrijker dan het aantal geregistreerde accounts. Bestandsvolume en retentie bepalen meestal de schijfvereisten meer dan Kanera zelf. Bewaar back-ups van databases en geüploade bestanden buiten de primaire schijf van de server en waarschuw bij schijfgroei.

Het optionele Prometheus-, Grafana-, Loki-, Alloy- en exporteurmonitoringsprofiel voegt verschillende processen toe. De implementatiehandleiding schat ongeveer 0,7 tot 1,5 GiB extra geheugen in, afhankelijk van het logvolume en het dashboardgebruik. Budget dat afzonderlijk of voer monitoring uit op een andere host.

Zie voor wat elke service doet en welke u moet blootleggen Diensten en routering.

Kanera downloaden​

Kanera wordt verzonden als vooraf gemaakte Docker-images. Elk loslaten omvat een kant-en-klaar docker-compose.yml dat haalt ze op, dus je hoeft de repository niet te klonen of iets te bouwen.

Maak op de server een map voor Kanera en download het opstelbestand en het voorbeeldomgevingsbestand uit de nieuwste release:

mkdir kanera && cd kanera
curl -fsSLo docker-compose.yml https://github.com/happendev/Kanera/releases/latest/download/docker-compose.yml
curl -fsSLo .env https://github.com/happendev/Kanera/releases/latest/download/env.example

Het opstelbestand koppelt elke afbeelding aan die release, dus er verandert niets totdat u bijwerken. Het heeft Docker Compose 2.23 of nieuwer nodig (docker compose version).

Configureer het omgevingsbestand​

Openen .env en vervang elke tijdelijke aanduiding. Stel de vereiste productiewaarden in:

WEB_ORIGIN=https://kanera.example.com
COOKIE_DOMAIN=kanera.example.com
COOKIE_SECURE=true
KANERA_ENVIRONMENT=production

POSTGRES_PASSWORD=<openssl rand -hex 32>
JWT_SECRET=<openssl rand -hex 32>
MCP_INTERNAL_SECRET=<openssl rand -hex 32>
MFA_ENCRYPTION_KEY=<openssl rand -hex 32>
MEDIA_SIGNING_SECRET=<openssl rand -hex 32>
SECRETS_ENCRYPTION_KEY=<openssl rand -hex 32>

Houd deze geheimen stabiel tijdens herimplementaties. Veranderen JWT_SECRET meldt gebruikers af. Veranderen MFA_ENCRYPTION_KEY maakt ingeschreven authenticators en MFA-uitdagingen ongeldig. Veranderen MEDIA_SIGNING_SECRET maakt bestaande ondertekende media-URL's ongeldig. MCP_INTERNAL_SECRET verifieert de MCP-service bij de API. SECRETS_ENCRYPTION_KEY beschermt opgeslagen integratiegeheimen en moet verschillend zijn van JWT_SECRET.

De zelfgehoste modus is de standaard:

KANERA_DEPLOYMENT_MODE=self_hosted

Stel geen gehoste Stripe-factureringsvariabelen in, tenzij u een gehoste implementatie in Kanera SaaS-stijl uitvoert.

Zie Milieureferentie voor productie-instellingen en env.full.example voor elke optionele afstemmingswaarde en standaard.

Begin Kanera​

docker compose up -d

Docker haalt de afbeeldingen op en vervolgens stelt de migratieservice de database een keer eerder in api, worker, en public-api begin. De MCP-service start nadat de openbare API-statuscontrole is geslaagd.

Controleer de implementatie​

Open uw webdomein in een browser:

https://kanera.example.com

Een Kanera-bord in de webapp na implementatie.

Nuttige controles:

docker compose ps
docker compose logs -f api
docker compose logs -f worker
docker compose logs -f public-api
docker compose logs -f mcp

Gezondheidscontroles:

curl https://kanera.example.com/api/health
curl https://api.kanera.example.com/health
curl https://mcp.kanera.example.com/health

De openbare API- en MCP-controles zijn alleen van toepassing als deze services zichtbaar zijn.

Als er iets niet naar voren komt, werk dan door Veelvoorkomende problemen op volgorde in plaats van op symptoom.

Configureer wat u nodig heeft​

Niets hieronder is vereist om in te loggen en borden te gebruiken. Voeg elk stuk toe wanneer je maar wilt:

PaginaHoezen
MilieureferentieVereiste geheimen, openbare URL's, toegangsbeleid, opslag, levering, schaling, retentie, monitoring en beheerdersinstellingen.
Diensten en routeringWat elke service doet, aanbevolen domeinen, publicatiepoorten en reverse-proxy-vertrouwen.
E-mail en meldingenSMTP, browser push, persoonlijke ntfy/Gotify/webhook-bestemmingen en chatbestemmingen.
Integraties en API'sHet blootleggen van de openbare API en MCP, OAuth voor AI-agents en het kopiëren van Trello-bijlagen.
Opslag en back-upsLokale of S3-uploadopslag, database- en bestandsback-ups en de geheimen die het bewaren waard zijn.
Updates en schalingUpdaten naar een nieuwe release en replicatellingen.

Zie voor de door de implementatie ondersteunde implementatiereferentie DEPLOY.md in de Kanera-repository.