Yleensä Critto toimii Critto-tililläsi. Jos haluat pitää kaiken omistamallasi tietokoneella, voit ajaa Critto-palvelinta itse: crittosi, niiden muistot ja keskustelusi pysyvät sillä koneella, ja Critton tietokone- ja puhelinsovellukset yhdistyvät siihen.
Tämä opas on Linuxille. Tarvitset:
- 64-bittisen Linux-tietokoneen (Intel/AMD tai ARM, esimerkiksi Raspberry Pi 4/5), joka pysyy päällä: kotipalvelimen, minitietokoneen tai pienen pilvipalvelimen,
- noin 1 Gt vapaata muistia ja muutaman gigatavun levytilaa,
- järjestelmänvalvojan oikeudet (
sudo).
NixOS:lle on saatavilla flake ja NixOS-moduuli. Debianille, Ubuntulle, Fedoralle, RHEL-pohjaisille järjestelmille ja openSUSElle on automaattisesti päivittyvät paketit. Muissa järjestelmissä voit käyttää säilökuvaa tai staattista koontia.
NixOS
Lisää Critton flake järjestelmäflakeesi:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
critto.url = "https://downloads.critto.app/nix/critto.tar.gz";
critto.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { nixpkgs, critto, ... }: {
nixosConfigurations.myserver = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; # or aarch64-linux
modules = [
./configuration.nix
critto.nixosModules.default
({ pkgs, ... }: {
services.critto = {
enable = true;
# Secrets (Boat key, backup key) stay out of the Nix store:
environmentFile = "/etc/critto/secrets.env";
# AI apps for your subscriptions (you sign in from the app):
aiPackages = [ pkgs.codex pkgs.nodejs_22 ];
# publicUrl = "https://critto.example.com";
};
})
];
};
};
}
Suorita sitten sudo nixos-rebuild switch --flake .#myserver ja parita sovelluksesi komennolla sudo crittod pair (vaihe 2).
- Päivitykset: suorita
nix flake update crittoja rakenna järjestelmä uudelleen. Paketti on allekirjoitettu, valmiiksi koottu julkaisu (staattinen binääri, joten glibc-ongelmia ei tule). Beta-kanavan saat käyttöön asetuksellaservices.critto.package = critto.packages.${system}.crittod-beta;. - Salaisuudet: lisää
BOAT_API_KEY=…jaCRITTO_BACKUP_KEY=…environmentFile-tiedostoon (root-käyttäjän omistama, käyttöoikeudet 600; myös agenix ja sops-nix käyvät). Palvelu lukee tiedoston käynnistyessään eikä kopioi sitä Nix storeen. - Asetukset:
listen(oletus127.0.0.1:8787),publicUrl,webHost,openFirewall(oletuksena pois päältä),dataDir(oletus/var/lib/critto) jasettingsmuilleCRITTO_*-muuttujille.den.backendvalitsee, missä Pesä toimii (boat,localtainone; katso Pesä). - Tekoälysovellukset: suosi nixpkgsin paketteja
aiPackages-asetuksessa, esimerkiksipkgs.codexjapkgs.claude-code(joka vaatiiallowUnfree-asetuksen). Jos nixpkgsistä puuttuu tarvitsemasi paketti, ota käyttöönprograms.nix-ld.enable = true;ja suoritasudo crittod setup ai(vaihe 3). Pi tarvitseeaiPackages-asetukseen vainpkgs.nodejs_22-paketin, minkä jälkeen suoritasudo crittod setup ai pi. - Etäkäyttö: ota käyttöön
services.tailscale.enable = true;ja suoritasudo tailscale serve --bg 8787, tai määritäservices.cloudflared-palvelulle ingress-sääntö osoitteeseenhttp://127.0.0.1:8787(katso vaihe 5). - systemd eristää palvelun, mutta bubblewrap ja paikallinen Pesä tarvitsevat käyttäjänimiavaruuksia, joten älä aseta
security.allowUserNamespaces = false.
Oppaan loppu pätee myös NixOS:ään; suorita päivitykset komennolla nix flake update aptin tai dnf:n sijaan.
1. Asenna
Avaa palvelimella pääte ja suorita:
curl -fsSL https://downloads.critto.app/install-server.sh | sh
Se lisää Critton pakettivaraston, asentaa critto-server-paketin, käynnistää palvelimen ja näyttää parituskoodin. Siinä kaikki: siirry kohtaan Parita sovelluksesi.
Haluatko uudet versiot ennen muita? Käytä beta-kanavaa:
curl -fsSL https://downloads.critto.app/install-server.sh | CRITTO_CHANNEL=beta sh
Tarkista asennusohjelma ensin (valinnainen)
Skripti on allekirjoitettu Critton julkaisuavaimella. Voit tarkistaa sen ennen suorittamista:
curl -fsSLO https://downloads.critto.app/install-server.sh
curl -fsSLO https://downloads.critto.app/install-server.sh.minisig
minisign -Vm install-server.sh -P RWTRac/2j5M3cvVpvtz0flaOy7sH5PFSc4LwbB7PxG0OMO2h8APoZtLG
sh install-server.sh
minisign löytyy useimpien jakelujen paketeista. Tarkistussumma on tiedostossa install-server.sh.sha256. Paketinhallinta tarkistaa allekirjoitetut paketit jokaisessa asennuksessa ja päivityksessä.
Tai määritä pakettivarasto itse
Debian / Ubuntu:
sudo install -d -m 755 /etc/apt/keyrings
sudo curl -fsSLo /etc/apt/keyrings/critto.gpg https://downloads.critto.app/keys/critto-archive-keyring.gpg
cat <<EOF | sudo tee /etc/apt/sources.list.d/critto.sources
Types: deb
URIs: https://downloads.critto.app/apt
Suites: stable
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/critto.gpg
EOF
sudo apt update && sudo apt install critto-server
Fedora / RHEL / Rocky / Alma:
sudo rpm --import https://downloads.critto.app/keys/critto-archive-keyring.asc
cat <<EOF | sudo tee /etc/yum.repos.d/critto.repo
[critto]
name=Critto
baseurl=https://downloads.critto.app/rpm/stable
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.critto.app/keys/critto-archive-keyring.asc
EOF
sudo dnf install critto-server
Avaimen sormenjälki on C78E FB7F 67CC 8184 1F70 EE3D D121 DC94 C534 50E3 (”Critto Packages packages@critto.app”).
Tai käytä Dockeria / Podmania
docker run -d --name critto --restart unless-stopped \
-p 127.0.0.1:8787:8787 \
-v critto-data:/var/lib/critto -v critto-keys:/etc/critto -v critto-ai:/opt/critto-ai \
ghcr.io/nexferra-ltd/critto-server:latest
docker exec critto crittod pair
Säilö ei tarvitse erityisoikeuksia. Tiedot ovat critto-data-taltiossa, holvin pääavain critto-keys-taltiossa (erillään tiedoista, jotta toisen kopio ei avaa toista; katso kohta Varmuuskopiot) ja tekoälysovellukset critto-ai-taltiossa. Myös polkuun /etc/critto/vault.key liitetty Docker-salaisuus käy. Päivitä komennolla docker pull ghcr.io/nexferra-ltd/critto-server:latest ja luo säilö uudelleen samoilla taltioilla.
Tai käytä staattista koontia
Jokaisesta julkaisusta on yksitiedostoinen koonti, joka toimii missä tahansa Linuxissa: https://downloads.critto.app/releases/<version>/critto-server-<version>-linux-x86_64.tar.gz (tai -aarch64). Pura se ja suorita ./crittod serve. Sinun täytyy itse pitää se käynnissä ja ajan tasalla, joten paketit ovat helpompi vaihtoehto.
2. Parita sovelluksesi
Palvelin päästää sisään vain paritetut laitteet. Parita laite näin:
Hae palvelimelta koodi (voimassa 10 minuuttia, toimii kerran):
sudo crittod pairValitse Critto-sovelluksen kirjautumisnäkymässä Käytä omaa Critto-palvelintani. Anna palvelimen osoite ja koodi.
- Palvelimella:
http://127.0.0.1:8787 - Muilla laitteilla tarvitset niille saavutettavan osoitteen; katso Yhdistä muilta laitteilta.
- Palvelimella:
Kun yksi laite on paritettu, voit parittaa lisää sen avulla: Asetukset → Laitteet → Parita puhelin näyttää QR-koodin. Se sisältää osoitteen, jossa palvelin kuuntelee. Jos laitteesi tavoittavat sen muulla tavalla (tunnelin, välityspalvelimen tai verkkotunnuksen kautta), aseta CRITTO_PUBLIC_URL tähän osoitteeseen (katso Asetukset).
Tietokonesovellus samalla koneella? Tietokonesovellus käynnistää tavallisesti oman yksityisen Critto-palvelimensa. Jos asensit palvelimen tälle koneelle, valitse Käytä omaa Critto-palvelintani ja anna
http://127.0.0.1:8787, jotta molemmat käyttävät samoja crittoja.
3. Yhdistä tekoälysi
Crittot ajattelevat valitsemallasi tekoälyllä. Voit ottaa tekoälyn käyttöön kahdella tavalla.
Tekoälytilauksesi (ChatGPT, Claude, Grok…)
Critto käyttää näitä virallisten komentorivisovellusten kautta. Asenna sovellukset palvelimelle kerran:
sudo crittod setup ai
Valitse käyttämäsi sovellukset tai nimeä ne suoraan: sudo crittod setup ai codex claude.
| Sovellus | Käytä tämän kanssa |
|---|---|
codex |
ChatGPT-tilaus (Plus, Pro, Business…) |
claude |
Claude-tilaus (Pro, Max…) |
grok |
SuperGrok / X Premium |
muse |
Meta AI (vaatii Node.js 20+; asennusohjelma lisää sen, jos mahdollista) |
antigravity |
Google Antigravity. Lue ensin sen näyttämä varoitus: Googlen ehtojen mukaan muut ohjelmistot eivät saa käyttää Antigravity-kirjautumista, ja Google on jäädyttänyt tilejä tämän vuoksi. |
Sovellukset asennetaan hakemistoon /opt/critto-ai, eivätkä ne päivity itsestään. Päivitä ne välillä komennolla sudo crittod setup ai --update.
Avaa sitten Critto-sovelluksessa Yhteydet ja kirjaudu jokaiseen. Kirjautumistiedot tallennetaan palvelimelle, ei sovellukseen.
Mukautettu tekoäly: paikalliset mallit ja API-avaimet
Ota käyttöön Asetukset → Edistynyt tila ja valitse sitten Asetukset → Mukautettu tekoäly → Lisää yhteys. Kaikki ”OpenAI-yhteensopivaa” API:a käyttävät palvelut käyvät. Valitse esiasetus kohdasta Aloita tästä tai täytä osoite itse:
| Palvelu | Perus-URL | API-avain |
|---|---|---|
| Ollama palvelimella | http://localhost:11434/v1 |
ei mitään |
| LM Studio palvelimella | http://localhost:1234/v1 |
ei mitään |
| Ollama toisella kotikoneella | http://192.168.1.20:11434/v1 |
ei mitään |
| OpenRouter | https://openrouter.ai/api/v1 |
OpenRouter-avaimesi |
Valitse Testaa yhteys, poimi malli ja tallenna. Voit valita tekoälyn mille tahansa crittolle.
Jos käytät Ollamaa toisella koneella, käynnistä se asetuksella OLLAMA_HOST=0.0.0.0, jotta se hyväksyy verkkoyhteydet. ”localhost” tarkoittaa aina Critto-palvelimen omaa konetta.
4. Pesä (valinnainen)
Pesä on crittojesi pilvitietokone suurempia tehtäviä varten (rakentamiseen, verkon selaamiseen ja sovellusten käyttöön). Omalla palvelimella käytetään Pesä-ympäristöjä omalla Boat-tililläsi. Liitä Boat API -avain sovelluksen kohtaan Yhteydet tai lisää se asetustiedostoon BOAT_API_KEY-muuttujana ja käynnistä uudelleen.
Hyvä tietää:
- Palvelimesi ei tarvitse olla saavutettavissa internetistä, jotta Pesä toimii. Se ottaa yhteyden Pesä-ympäristöön, ei päinvastoin.
- Pesä-töihin tarvitaan tekoäly, jolla on julkinen internetosoite (tilauksesi tai OpenRouterin kaltainen palvelu). Omassa verkossasi toimiva tekoäly (Ollama, LM Studio) voi jutella, mutta pilven Pesä ei saa siihen yhteyttä.
- Boat veloittaa Pesä-ajasta tililtäsi.
Oma Pesä omalla koneellasi
Ei Boat-tiliä? Palvelin voi ajaa kunkin henkilön Pesä-ympäristön paikallisena virtuaalikoneena. Se tarvitsee /dev/kvm-tuen, noin 4 Gt muistia käynnissä olevaa Pesä-ympäristöä kohti ja levykuvan kertaluonteisen luonnin. NixOS:ssa:
services.critto.den.backend = "local";
Muissa järjestelmissä lisää /etc/critto/critto.env-tiedostoon CRITTO_DEN_BACKEND=local. Koko opas (vaatimukset, koot, mihin Pesä pääsee ja levykuvan luonti) on täällä: Oma Pesä omalla koneellasi.
5. Yhdistä muilta laitteilta
Oletuksena palvelin kuuntelee vain omalla tietokoneellaan (127.0.0.1:8787), mikä on turvallinen oletus. Jos haluat käyttää puhelinta tai kannettavaa mistä tahansa, valitse jokin seuraavista tavoista. Kahdella ensimmäisellä saat suojatun https://-osoitteen avaamatta reitittimen portteja.
Tailscale (helpoin henkilökohtaiseen käyttöön)
Asenna Tailscale palvelimelle ja laitteillesi, kirjaudu niissä samalla tilillä ja suorita palvelimella:
sudo tailscale serve --bg 8787
Saat osoitteen, kuten https://myserver.tail1234.ts.net. Käytä sitä sovelluksissa. Vain omat laitteesi pääsevät siihen.
Cloudflare Tunnel (julkinen osoite omalla verkkotunnuksellasi)
Jos verkkotunnuksesi on Cloudflaressa, asenna cloudflared ja suorita:
cloudflared tunnel login
cloudflared tunnel create critto
cloudflared tunnel route dns critto critto.example.com
cat > ~/.cloudflared/config.yml <<EOF
tunnel: critto
credentials-file: $HOME/.cloudflared/$(cloudflared tunnel list | awk '/critto/{print $1}').json
ingress:
- hostname: critto.example.com
service: http://127.0.0.1:8787
- service: http_status:404
EOF
sudo cloudflared service install
Palvelimesi on tämän jälkeen osoitteessa https://critto.example.com. Jokainen laite tarvitsee silti parituskoodin.
Jo käytössä oleva käänteinen välityspalvelin
Osoita se osoitteeseen http://127.0.0.1:8787 ja salli WebSocket-yhteydet. Esimerkiksi Caddy hoitaa HTTPS:n itse:
critto.example.com {
reverse_proxy 127.0.0.1:8787
}
Vain kotiverkossa
Jos kaikki laitteet ovat kotona, anna palvelimen kuunnella suoraan verkossa. Aseta CRITTO_LISTEN=0.0.0.0:8787 (katso Asetukset) ja käytä sovelluksissa osoitetta http://<server's IP address>:8787. Tämä on salaamatonta http-liikennettä, joten käytä sitä vain luotetussa verkossa.
Aseta valitsemastasi tavasta riippumatta CRITTO_PUBLIC_URL osoitteeseen, jotta parituksen QR-koodit osoittavat oikeaan paikkaan.
6. Päivitykset
Palvelin päivittyy muun järjestelmän mukana:
- Debian / Ubuntu:
sudo apt update && sudo apt upgrade - Fedora / RHEL:
sudo dnf upgrade - openSUSE:
sudo zypper update
Palvelu käynnistyy päivityksen jälkeen itsestään uudelleen. Tietokone- ja puhelinsovellukset päivittyvät erikseen.
7. Varmuuskopiot
Kaikki on hakemistossa /var/lib/critto: crittosi, muistot, keskustelut, tiedostot ja tekoälypalvelujen kirjautumistiedot. Asetukset ovat tiedostossa /etc/critto/critto.env.
Tee kopio itse. Pysäytä palvelin yhtenäisen kopion saamiseksi:
sudo systemctl stop critto
sudo tar czf critto-backup-$(date +%F).tar.gz --exclude=/etc/critto/vault.key /var/lib/critto /etc/critto
sudo systemctl start critto
Palvelin säilyttää käytön aikana tuoreen tietokantakopion osoitteessa /var/lib/critto/backups/latest.db.
Varmuuskopiot muualla (S3, Cloudflare R2, Backblaze B2…). Ota sovelluksessa käyttöön Edistynyt tila ja valitse Asetukset → Varmuuskopiot → Vaihda kohdetta…. Salaa kopiot ennen niiden lähtöä palvelimelta lisäämällä varmuuskopioavain:
sudo crittod backup keygen
Kopioi CRITTO_BACKUP_KEY=…-rivi tiedostoon /etc/critto/critto.env, säilytä kopiota turvallisessa paikassa ilman verkkoyhteyttä (varmuuskopioita ei voi palauttaa ilman avainta) ja käynnistä palvelin uudelleen: sudo systemctl restart critto.
Muualla säilytettävät varmuuskopiot päivittyvät jatkuvasti:
- tietokannan muutokset lähetetään 10 sekunnin välein;
- käyttäjien tiedostot lähetetään 10 minuutin välein;
- täydellinen kopio lähetetään kerran päivässä.
Voit palauttaa suoraan tallennuspalvelusta minkä tahansa hetken viimeisten 7 päivän ajalta:
sudo systemctl stop critto
sudo -u critto crittod backup list
sudo -u critto crittod backup pitr --to /var/lib/critto/restore --at "2026-10-02 14:30"
sudo -u critto mv /var/lib/critto/restore/critto.db /var/lib/critto/critto.db
sudo systemctl start critto
(--at on UTC-aikaa; jätä se pois, jos haluat palauttaa uusimman tilanteen. Palautettu users/-kansio tulee samaan paikkaan.)
Jos haluat palauttaa yksittäisen ladatun varmuuskopiotiedoston (päivittäisen tilannevedoksen), siirrä se paikkaan, jota critto-käyttäjä voi lukea (esimerkiksi /var/lib/critto) ja suorita sitten:
sudo systemctl stop critto
sudo crittod backup restore --from /path/to/downloaded-backup --to /var/lib/critto/restored.db
sudo -u critto mv /var/lib/critto/restored.db /var/lib/critto/critto.db
sudo systemctl start critto
Holvin avaimet. Tallennetut avaimet ja salasanat salataan pääavaimella, joka on tiedostossa /etc/critto/vault.key (luodaan asennuksen yhteydessä, vain critto-käyttäjän luettavissa; Dockerissa critto-keys-taltiossa, NixOS:ssa asetuksessa services.critto.vaultKeyFile, oletuksena /var/lib/critto-keys/vault.key: aina erillään datasta). Avainta ei koskaan sisällytetä varmuuskopioon. Sen avaamien tilikohtaisten avainten luettelo (/var/lib/critto/vault/keys.db) saa oman salatun varmuuskopionsa muiden varmuuskopioiden rinnalle vault/-hakemistoon, jossa sitä säilytetään 30 päivää, mutta vain jos määrität palautusavaimen:
sudo crittod vault recovery-keygen
Lisää CRITTO_VAULT_BACKUP_RECIPIENT=…-rivi tiedostoon /etc/critto/critto.env ja käynnistä palvelin uudelleen. Säilytä tulostettu palautusidentiteetti ja kopio tiedostosta /etc/critto/vault.key offline-tilassa salasananhallinnassasi, ei koskaan palvelimella. Jos palvelin katoaa, palauta vault.key, lataa vault/latest.db.age ja suorita:
sudo -u critto crittod vault restore --identity /path/to/recovery.txt /path/to/latest.db.age
Asetukset
Palvelin lukee tiedoston /etc/critto/critto.env, jossa kaikki asetukset selitetään. Muokkaa sitä komennolla sudo nano /etc/critto/critto.env ja suorita sitten sudo systemctl restart critto. Yleisiä asetuksia:
| Asetus | Tehtävä |
|---|---|
CRITTO_LISTEN |
Osoite, jossa palvelin kuuntelee. Oletus 127.0.0.1:8787 (vain tämä tietokone). |
CRITTO_PUBLIC_URL |
Laitteidesi käyttämä osoite, esim. https://critto.example.com. |
BOAT_API_KEY |
Boat-avaimesi Pesä-ympäristöä varten. |
CRITTO_BACKUP_KEY |
Salaa muualla säilytettävät varmuuskopiot. |
CRITTO_ANTIGRAVITY=0 |
Piilottaa Antigravityn. |
CRITTO_PROACTIVE=0 |
Crittot eivät ota itse yhteyttä (ajastetut tehtävät odottavat). Ilman Critto Smarts:ta yhteydenotot käyttävät critton omaa tekoälyä. |
CRITTO_JOB_WORKERS |
Samanaikaisesti suoritettavien taustatöiden (yhteydenotot ja ajastetut tehtävät) määrä. Oletus 4. |
Hyödyllisiä komentoja:
| Komento | |
|---|---|
sudo crittod pair |
parituskoodi uudelle laitteelle |
sudo crittod setup ai |
asentaa tai päivittää tekoälysovellukset |
sudo crittod users |
palvelimen tilit |
systemctl status critto |
tarkistaa, onko palvelin käynnissä |
journalctl -u critto -f |
palvelimen loki |
curl http://127.0.0.1:8787/health |
nopea toimintatarkistus |
/health näyttää "desktop": "on-demand", kunnes Pesä tarvitsee työpöytäohjelmistonsa ensimmäistä kertaa. Se on normaalia: palvelin lataa sen silloin.
Poista asennus
- Debian / Ubuntu:
sudo apt purge critto-server - Fedora / RHEL:
sudo dnf remove critto-server - Docker:
docker rm -f critto(poista tiedot myös komennolladocker volume rm critto-data critto-keys critto-ai)
Tämä pysäyttää palvelimen, poistaa paketin ja poistaa pakettivaraston, jos muita Critto-paketteja ei ole jäljellä. Tietosi hakemistossa /var/lib/critto säilyvät, jos palaat myöhemmin. Poista kaikki näin:
sudo rm -rf /var/lib/critto /etc/critto /opt/critto-ai
sudo userdel critto
Jos et halua pakettien lisäävän pakettivarastoa asennuksen yhteydessä, suorita ennen asennusta echo CRITTO_REPO=no | sudo tee /etc/default/critto.
Vianmääritys
- Sovellus ilmoittaa, ettei se saa yhteyttä palvelimeen. Tarkista palvelimella
systemctl status crittoja että sovelluksen osoite on laitteen saavutettavissa (puhelimessa127.0.0.1tarkoittaa itse puhelinta). - ”Parituskoodi ei toiminut.” Koodit ovat voimassa 10 minuuttia ja toimivat kerran. Luo uusi komennolla
sudo crittod pair. Käytäsudo-etuliitettä: ilman sitä saat koodin eri henkilökohtaista palvelinta varten. - Tekoälysovellus ei näy kohdassa Yhteydet. Suorita
sudo crittod setup ai <name>uudelleen; palvelin käynnistyy komennon päätyttyä. - Jokin muu.
journalctl -u critto -n 100kertoo yleensä, mikä on vialla.