Vaultwarden talpinimas Managed VPS serveryje reiškia, kad savo ir komandos slaptažodžius laikote savo mašinoje, kurią mūsų komandos prižiūri atnaujintą ir stebi dieną bei naktį. Vaultwarden yra laisva programinė įranga su AGPL-3.0 licencija. Šis gidas seka oficialią jos dokumentaciją: diegimą su Docker Compose, HTTPS, registracijų uždarymą, administravimo žetoną, tai, kas saugo saugyklą, duomenų bazę, el. laiškus, atsargines kopijas ir atnaujinimus.
Autorius: Simon Vasconcelos Lee
Paskelbta 2026 m. lapkričio 8 d.Skaitymo trukmė: 15 min.
DOMAIN.SIGNUPS_ALLOWED: numatytai registruotis gali kiekvienas, pasiekiantis egzempliorių. Saugyklą toliau saugo stiprus pagrindinis slaptažodis ir dviejų veiksnių autentifikavimas.docker compose pull.Vaultwarden yra slaptažodžių valdymo serveris, parašytas Rust kalba ir skirtas talpinti savo serveryje. Jos wiki ją skiria privatiems asmenims, šeimoms ir žmogiško dydžio organizacijoms. Žiniatinklio saugykla pateikiama jos Docker atvaizduose.
Ji įgyvendina API, suderinamą su oficialiais Bitwarden klientais naršyklėje, kompiuteryje ir telefone. README nurodo, kad projektas nėra susijęs nei su Bitwarden, nei su Bitwarden, Inc., ir prašo apie bet kokią problemą, nepriklausomai nuo naudojamo kliento, pranešti tiesiogiai jam, o ne oficialiems pagalbos kanalams.
/admin nustatymams, paskyroms ir diagnostikai.Wiki taip pat išvardija, ko trūksta palyginti su oficialiu serveriu, pavyzdžiui, prisijungimo su prieigos raktu, pasirinktinių vaidmenų ir kai kurių įmonių politikų. Jame nurodoma, kad pirmiausia didelėms organizacijoms naudingos funkcijos nėra projekto prioritetas: perskaitykite šį sąrašą, jei jų reikia.
Vaultwarden platinama pagal GNU Affero General Public License, 3 versiją. Tekste patvirtinamas neribotas leidimas paleisti nepakeistą programą. Todėl projekto paskelbtą atvaizdą galite naudoti savo įmonei ir komandai, nieko nepirkdami dėl licencijos.
13 straipsnis prideda AGPL būdingą sąlygą: jei programą keičiate, jūsų versija visiems ja nuotoliniu būdu, per tinklą, besinaudojantiems turi suteikti galimybę nemokamai gauti jos šaltinio kodą.
README rekomenduoja konteinerių atvaizdus. Serveryje, kuriame įdiegtas Docker, sukurkite katalogą ir įdėkite į jį šį compose.yaml, paimtą iš README ir wiki:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data/:/data/
ports:
- 127.0.0.1:8000:80
docker compose up -d
127.0.0.1: kaip ir README, Vaultwarden pasiekiama tik per atvirkštinį tarpinį serverį, įdiegtą tame pačiame serveryje.DOMAIN: jūsų egzemplioriaus bazinis adresas su https. Wiki įspėja, kad be jo nustoja veikti kai kurios funkcijos, įskaitant priedus ir kvietimų nuorodas.vw-data vietiniame diske: jame laikomi visi duomenys. Wiki nurodo SQLite problemas CIFS ar Samba tome, kuris netvarko užrakinimo.latest seka naujausią paskelbtą versiją, ir wiki rekomenduoja ją daugeliui atvejų. Žyma, pavyzdžiui, 1.37.5, užfiksuoja versiją, o latest-alpine pateikia tą patį Alpine pagrindu.Jūsų domeno vardas nukreipiamas į serverį A ir AAAA įrašais, o lankytojai atvyksta 80 ir 443 prievadais. Kol atvirkštinis tarpinis serveris neįdiegtas, žiniatinklio saugykla lieka nenaudojama: tiesiai pereikite prie kito skyriaus.
Projektas nenurodo nei atminties, nei procesoriaus dydžio; jis pristatomas tik kaip sprendimas atvejams, kai oficiali, daug išteklių reikalaujanti paslauga netinka. Dydis priklauso nuo paskyrų skaičiaus ir priedų apimties. Naudojant Managed VPS, papasakokite mums, kaip ketinate naudotis, ir mes rekomenduosime tinkamą dydį.
Žiniatinklio saugykla remiasi Web Crypto API, kurią naršyklės palieka tik saugiems kontekstams: README nurodo, kad ji veikia tik įjungus HTTPS, o wiki laiko HTTPS „pretty much required“, tai yra beveik privalomu. Projektas rekomenduoja atvirkštinį tarpinį serverį prieš Vaultwarden ir nepataria naudoti jos Rocket karkaso integruoto TLS.
Rinkitės pripažintą sertifikatą, pavyzdžiui, Let's Encrypt, kurį rekomenduoja wiki: su savarankiškai pasirašytu sertifikatu kai kurios platformos atsisako jungtis. Sertifikatas turi turėti visą grandinę, kitaip Android įrenginiai nesijungia.
WebSocket pranešimai, numatytai įjungti, praneša naršyklei, darbalaukio programai ir plėtiniui, kad įrašas pasikeitė. Jie eina per pagrindinį HTTP prievadą, todėl tarpinis serveris turi perduoti antraštes Upgrade ir Connection. Mobiliosios programos naudoja savo sistemos vietinius pranešimus, kurie konfigūruojami atskirai.
Wiki pataria pirmiausia pažvelgti į Caddy, jei neturite pageidavimų: ji pati įjungia HTTPS, gauna Let's Encrypt sertifikatą ir palaiko WebSocket. Wiki nustatymas taip pat perduoda tikrąjį lankytojo adresą Vaultwarden jos žurnalams:
vault.example.com {
reverse_proxy 127.0.0.1:8000 {
header_up X-Real-IP {remote_host}
}
}
Šis blokas perima wiki Nginx pavyzdį, sutrumpintą iki 80 prievado, kad HTTPS įdiegtų Certbot:
upstream vaultwarden-default {
zone vaultwarden-default 64k;
server 127.0.0.1:8000;
keepalive 2;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' "";
}
server {
listen 80;
listen [::]:80;
server_name vault.example.com;
client_max_body_size 525M;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
location / {
proxy_pass http://vaultwarden-default;
}
}
Tada Certbot įdiegia sertifikatą ir pasirūpina jo atnaujinimu:
sudo certbot --nginx
Atverkite naršyklės kūrėjo įrankius, tinklo skirtuką, filtrą WS ir iš naujo prisijunkite prie saugyklos: atsakas 101 adresu /notifications/hub patvirtina ryšį. Kitas wiki bandymas: atverkite saugyklą dviejose naršyklėse, vienoje pervardykite įrašą ir pakeitimas iškart pasirodo kitoje.
Numatytai kiekvienas, pasiekiantis jūsų egzempliorių, gali jame susikurti paskyrą. Tai patogu jūsų pirmajai paskyrai, o wiki rekomenduoja po to uždaryti registracijas, kad užpuolikas negalėtų susikurti savo.
compose.yaml pakeiskite SIGNUPS_ALLOWED į "false".docker compose up -d: aplinkos kintamasis susietas su konteineriu, todėl jam reikia būti sukurtam iš naujo, kad kintamasis įsigaliotų.SIGNUPS_ALLOWED: "false"
INVITATIONS_ALLOWED su "false" šią galimybę panaikina, o wiki palieka šį pasirinkimą pagal pasitikėjimą jūsų naudotojais.SIGNUPS_DOMAINS_WHITELIST riboja registraciją tam tikrais el. pašto domenais, o SIGNUPS_VERIFY su true tuomet reikalauja patvirtinti adresą. Kai šis sąrašas nustatytas, SIGNUPS_ALLOWED ignoruojamas.Vos tik išsaugote konfigūraciją administravimo puslapyje, duomenų kataloge atsiranda failas config.json ir jis turi pirmenybę prieš aplinkos kintamuosius. Susijusius nustatymus tuomet keičiate iš to puslapio: pakeisti compose.yaml nebeužtenka.
Puslapis /admin skirtas Vaultwarden konfigūruoti, peržiūrėti ir šalinti paskyras bei organizacijas, panaikinti naudotojo dviejų veiksnių autentifikavimą, kviesti ir skaityti diagnostiką. Be ADMIN_TOKEN jis lieka išjungtas: jei jo nenaudojate, palikite taip.
Wiki primygtinai rekomenduoja prieš šį puslapį įjungti HTTPS. Žetonas atlieka slaptažodžio vaidmenį ir gali būti laikomas užhashuotas argon2id, o ne atviru tekstu konfigūracijoje. Vaultwarden pateikia komandą: ji du kartus paprašo slaptažodžio, tada grąžina PHC eilutę.
docker run --rm -it vaultwarden/server /vaultwarden hash
Šią eilutę įdėkite į failą .env, šalia compose.yaml, tarp apostrofų, tada iškvieskite ją iš paslaugos:
VAULTWARDEN_ADMIN_TOKEN='$argon2id$...'
ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN}
Patikrinkite rezultatą, paleiskite iš naujo, tada prisijunkite prie /admin su savo slaptažodžiu, o ne su PHC eilute:
docker compose config
docker compose up -d
ADMIN_SESSION_LIFETIME. Atidaryta sesija lieka galioti pakeitus žetoną. Kad nutrauktumėte jas visas, iš duomenų katalogo ištrinkite rsa_key.pem ir paleiskite iš naujo: taip atjungiami ir naudotojai bei atšaukiami vykstantys kvietimai./admin atverti tik tam tikriems adresams arba pridėti HTTP autentifikavimą.DISABLE_ADMIN_TOKEN panaikina bet kokią kontrolę: jis skirtas atskiram autentifikavimo sluoksniui, pastatytam prieš jį, o wiki jį palieka tiems, kurie žino, ką daro.Pirmoji apsauga yra pagrindinis slaptažodis. Saugyklos duomenys šifruojami asmeniniais ar organizacijos raktais: kas gauna duomenų bazės kopiją ar perima sesiją, vis tiek turi sulaužyti šį slaptažodį, kad juos perskaitytų. Todėl svarbiausia jo stiprumas. Pati administravimo sesija leidžia ištrinti paskyrą ar panaikinti dviejų veiksnių autentifikavimą, bet neatveria prieigos prie saugyklos duomenų.
| Apsauga | Ką ji suteikia | Kur nustatoma |
|---|---|---|
| Pagrindinis slaptažodis | Išlaiko duomenis užšifruotus, net jei duomenų bazės kopija pasklinda | Kiekvienas naudotojas jį renkasi ilgą ir skirtą tik šiai saugyklai |
| Dviejų veiksnių autentifikavimas | Be jo, primena wiki, slaptažodžio atspėjimas grubia jėga teoriškai lieka įmanomas | Kiekvienoje paskyroje; organizacijos politika gali jį reikalauti |
| HTTPS | Šifruoja kelią tarp kliento ir serverio | Atvirkštinis tarpinis serveris |
| Uždarytos registracijos | Neleidžia nepažįstamajam susikurti paskyros | SIGNUPS_ALLOWED |
| Slaptažodžio užuominos | Rodomos puslapyje, jos padėtų atspėti slaptažodį; 1.37.5 versija numatytai jas slepia | Palikite SHOW_PASSWORD_HINT su false; PASSWORD_HINTS_ALLOWED jas pašalina visiškai |
| Bandymų riba | Stabdo bandymus iš to paties adreso, prisijungimą ir /admin | LOGIN_RATELIMIT_SECONDS ir ADMIN_RATELIMIT_SECONDS |
| Fail2ban | Blokuoja adresus po per daug nesėkmių, ką wiki laiko ypač svarbiu viešam egzemplioriui | Serveryje, pagal žurnalą LOG_FILE |
Pasirūpinkite pagrindinio slaptažodžio užmarštimi prieš jai įvykstant: įjunkite savo paskyros skubią prieigą, o organizacijoje paskyros atkūrimą, kuriam reikia sukonfigūruoto el. pašto.
root, o wiki mano geriau jam suteikti minimalias teises. Prie paslaugos pridėkite user: 1000:1000, o katalogas vw-data turi priklausyti šiam naudotojui.access_token. Jei jūsų tarpinis serveris saugo žurnalus arba siunčia juos išorinei paslaugai, wiki rekomenduoja šią reikšmę paslėpti./var/run/docker.sock.Tas pats atvaizdas palaiko visas tris duomenų bazes. Wiki apibūdina SQLite kaip dažniausiai naudojamą ir geriausiai išbandytą bei rekomenduoja ją daugeliui atvejų, nebent reikia konkrečiai kitos.
| Duomenų bazė | Įdiegimas | Atsarginė kopija |
|---|---|---|
| SQLite | Nereikia: vienas failas, vw-data/db.sqlite3 | Komanda /vaultwarden backup arba katalogo kopija, sustabdžius paslaugą |
| MariaDB ar MySQL | Jūsų duomenų bazės serveris ir DATABASE_URL su mysql:// | Duomenų bazės eksportas, be katalogo vw-data |
| PostgreSQL | Jūsų duomenų bazės serveris ir DATABASE_URL su postgresql:// | Duomenų bazės eksportas, be katalogo vw-data |
DATABASE_URL: "postgresql://user_name:user_password@db_host:5432/vaultwarden"
Sukurkite tuščią duomenų bazę ir jos naudotoją: paleidimo metu Vaultwarden pati joje sukuria savo schemą. Slaptažodis su specialiaisiais simboliais šiame adrese rašomas procentų kodavimu.
Šį pasirinkimą padarykite prieš pildydami saugyklą. Wiki aprašo perėjimą iš SQLite į PostgreSQL su pgloader, pabrėžiant, kad projektas šio kelio nepalaiko, jis atliekamas jūsų pačių rizika ir prasideda nuo atsarginės kopijos.
Vaultwarden paleidžiama be el. pašto, tačiau nuo jo priklauso kelios funkcijos: kvietimai, adresų patvirtinimas, slaptažodžio užuominų siuntimas, dviejų veiksnių autentifikavimas el. paštu ir paskyros atkūrimas.
Simafri VPS serveryje siuntimas vyksta per autentifikuotą SMTP persiuntimo serverį 587 prievadu: tai gali būti jau turimos pašto paskyros adresas arba Simafri Suite. Slaptažodį įdėkite į failą .env, kaip ir administravimo žetoną:
SMTP_HOST: "smtp.example.com"
SMTP_FROM: "vault@example.com"
SMTP_PORT: "587"
SMTP_SECURITY: "starttls"
SMTP_USERNAME: "vault@example.com"
SMTP_PASSWORD: ${VAULTWARDEN_SMTP_PASSWORD}
DOMAIN ir galioja 5 dienas.No compatible authentication mechanism was found.config.json.Jei niekas neišsiunčiama, wiki siūlo patikrinti ryšį su persiuntimo serveriu iš serverio. Komanda grąžina 0, kai persiuntimo serveris atsako:
timeout 5 bash -c 'cat < /dev/null > /dev/tcp/smtp.example.com/587'; echo $?
README primena, kad projektas negali atsakyti už duomenų praradimą, ir primygtinai rekomenduoja reguliarias atsargines kopijas. Wiki pataria jas daryti automatiškai, bent vieną kopiją laikant kitur. Štai kas yra duomenų kataloge su SQLite:
| Elementas | Ką jis saugo | Ar kopijuoti |
|---|---|---|
db.sqlite3 | Beveik visus duomenis: paskyras, organizacijas, saugyklas | Privaloma |
attachments/ | Priedus, laikomus už duomenų bazės ribų | Privaloma |
config.json | Administravimo puslapio konfigūraciją, kurioje yra neužšifruotų jautrių duomenų | Rekomenduojama, šifruotą |
rsa_key* | Raktus, pasirašančius sesijas; juos praradus naudotojai atjungiami | Rekomenduojama, šifruotus |
sends/ | Per Send išsiųstus failus, iš prigimties laikinus | Nebūtina |
icon_cache/ | Svetainių piktogramas, prireikus atsisiunčiamas iš naujo | Nebūtina |
Nuo 1.32.1 versijos Vaultwarden pati sugeba sukurti savo SQLite duomenų bazės atsarginę kopiją, nestabdydama paslaugos:
docker exec -it vaultwarden /vaultwarden backup
Komanda įrašo failą db_AAAAMMJJ_HHMMSS.sqlite3 šalia duomenų bazės, kataloge vw-data. Atvaizde nėra nei sqlite3, nei cron: wiki pataria užduotį suplanuoti serveryje bent kartą per dieną. Tuomet pašalinkite -it, nes suplanuota užduotis neturi terminalo, ir retkarčiais išvalykite šiuos kaupiamus failus.
Kai duomenų bazė nenaudojama, užtenka paprastos visų jos failų kopijos. Tai wiki Docker pavyzdyje pateiktas metodas sustabdžius paslaugą, jis apima ir priedus:
docker compose down
tar -czf vaultwarden-$(date +%F).tar.gz vw-data
docker compose up -d
Wiki mano, kad šifravimo sluoksnis naudingas, ypač kai atsarginėje kopijoje yra administravimo žetonas ir SMTP prieigos duomenys, ir mini rclone, restic bei rustic kopijoms siųsti toliau. Su MariaDB ar PostgreSQL prie katalogo vw-data pridėkite duomenų bazės eksportą.
Wiki prašo nepasikliauti vien disko momentinėmis kopijomis, kurias sunkiau atkurti. Todėl laikykite ir šias programai skirtas kopijas: padėtos serverio diske, jos patenka ir į jo naktines atsargines kopijas.
vw-data failą ar katalogą pakeiskite jo atsarginės kopijos versija./vaultwarden backup, pavadinkite ją db.sqlite3 ir pirmiausia ištrinkite bet kurį esamą failą db.sqlite3-wal: neatitinkantis žurnalas gali sugadinti duomenų bazę. Jei ji gauta tiesiogiai nukopijavus, kartu atkurkite db.sqlite3 ir jo db.sqlite3-wal.Wiki pataria šį pratimą retkarčiais kartoti, palikus vietoje duomenų kopiją: taip įsitikinate, kad atsarginė kopija veikia.
Wiki pateikia dvi komandas, vykdomas kataloge su compose.yaml. Duomenų katalogas lieka vietoje:
docker compose pull
docker compose up -d
Šie atnaujinimai svarbesni nei kitur. Mobiliosios programos ir naršyklės plėtiniai atsinaujina patys, o wiki įspėja, kad versijų skirtumas su serveriu gali sukelti staigius gedimus. Žiniatinklio saugykla, pateikiama atvaizde, visada išlieka suderinta su savo serveriu.
Projektas neturi versijų tvarkaraščio: sekite jo versijų pastabas ir prieš kiekvieną atnaujinimą sukurkite atsarginę kopiją. Kai kuriose yra saugumo pataisų, pavyzdžiui, 1.37.5 versijoje, išleistoje 2026 m. lapkričio 1 d., kurios pastabose rekomenduojama atnaujinti kuo greičiau. Šiose pastabose taip pat įspėjama, kad nuo 1.37.5 versijos netinkama konfigūracijos reikšmė neleidžia paleisti Vaultwarden: prieš atnaujindami dar kartą peržiūrėkite savo aplinkos failą. Diagnostikos puslapis /admin nurodo, ar yra naujesnė versija.
Talpinant savo serveryje, be programos reikia prižiūrėti ir patį serverį. Naudojant Managed VPS, mūsų komandos perima serverį ir proaktyviai stebi jūsų egzempliorių; Vaultwarden lieka jūsų programa su savo nustatymais ir duomenimis.
| Tema | Mūsų komandos | Jūs |
|---|---|---|
| Serveris | Sistemos ir saugumo atnaujinimai, įskaitant įsikišimą serveryje | Jūsų veiklai tinkamas momentas |
| Stebėsena | Serveris stebimas 24 val. per parą, 7 dienas per savaitę, įsikišant nelaukiant jūsų skambučio | Jūsų egzemplioriaus žurnalų skaitymas |
| Vaultwarden | Proaktyvi stebėsena: klaidos, sulėtėjimai ir disko vieta pastebimi, rekomenduojamas pataisymas | Jos diegimas, atnaujinimai ir nustatymai, kuriuos pritaikote jūs arba jūsų DI asistentas |
| Paskyros ir saugykla | Jas laikantis serveris, stebimas ir saugomas atsarginėmis kopijomis | Naudotojai, kvietimai, pagrindiniai slaptažodžiai ir dviejų veiksnių autentifikavimas |
| Atsarginės kopijos | Kiekvieną naktį, šifruotos ir saugomos už mašinos ribų; atkūrimas įskaičiuotas | Vaultwarden savos kopijos ir atkūrimo prašymas, kai jo prireikia |
| Perkėlimas | Jūsų dabartinis serveris perkeliamas nemokamai | Perjungimo momentas |
Jei norite, kad mūsų komandos įsikištų į pačią programą, ši paslauga apmokestinama valandomis arba fiksuota kaina, o skaičiavimas pateikiamas prieš įsikišimą.
Su Simafri Managed VPS mūsų komandos palaiko jūsų Vaultwarden egzemplioriaus serverį atnaujintą, stebi jį dieną ir naktį ir įsikiša nelaukdamos jūsų skambučio; jos taip pat proaktyviai stebi jūsų egzempliorių ir rekomenduoja naudingus pataisymus, kuriuos pritaikote jūs arba jūsų DI asistentas. Atsarginės kopijos kiekvieną naktį šifruojamos ir saugomos už mašinos ribų, jų atkūrimas įskaičiuotas, o jūsų dabartinio serverio perkėlimas nemokamas.
Taip. Vaultwarden platinama pagal AGPL-3.0 licenciją: įmonėje ją galite paleisti nieko nepirkdami dėl licencijos. Jei ją keičiate, jūsų versija turi pateikti šaltinio kodą tiems, kurie ja naudojasi per tinklą. Lieka tik ją vykdančio serverio kaina.
Taip. README pristato Vaultwarden kaip suderinamą su oficialiais Bitwarden klientais, kartu nurodydamas, kad projektas nėra susijęs nei su Bitwarden, nei su Bitwarden, Inc. Todėl apie problemą pranešama Vaultwarden projektui, nepriklausomai nuo naudojamo kliento.
Sukurkite compose.yaml su atvaizdu vaultwarden/server, duomenų katalogu ir prievadu, paskelbtu adresu 127.0.0.1, tada paleiskite docker compose up -d. Po to prieš jį pastatykite atvirkštinį tarpinį serverį su HTTPS: be HTTPS žiniatinklio saugykla neveikia. Savo adresą taip pat nurodykite kintamajame DOMAIN.
Susikūrę savo paskyrą, faile compose.yaml pakeiskite SIGNUPS_ALLOWED į false, tada paleiskite iš naujo docker compose up -d. Organizacijos vis dar gali kviesti: INVITATIONS_ALLOWED su false šią galimybę panaikina. Jei administravimo puslapis jau išsaugojo savo konfigūraciją, šį nustatymą keiskite iš jo.
Paleiskite komandą vaultwarden hash, kuri grąžina argon2id eilutę, tada įdėkite ją į ADMIN_TOKEN, su Docker Compose iš failo .env. Po to prie /admin prisijungiate savo slaptažodžiu. Be ADMIN_TOKEN puslapis lieka išjungtas.
Pirmiausia pagrindinis slaptažodis: duomenys užšifruoti, o duomenų bazės kopiją galima perskaityti tik jį sulaužius. Prie jo prisideda dviejų veiksnių autentifikavimas, HTTPS, uždarytos registracijos, užhashuotas administravimo žetonas ir šifruotos atsarginės kopijos.
Su SQLite kasdien konteineryje paleiskite komandą /vaultwarden backup ir nukopijuokite katalogą attachments, config.json ir rsa_key failus. Su MariaDB ar PostgreSQL pridėkite duomenų bazės eksportą. Reguliariai išbandykite atkūrimą.
Managed VPS apima serverį: sistemą, saugumą, stebėseną ir atsargines kopijas. Mūsų komandos taip pat proaktyviai stebi jūsų egzempliorių ir rekomenduoja naudingus pataisymus, kuriuos pritaikote jūs. Įsikišimas į pačią programą apmokestinamas valandomis arba fiksuota kaina.
Simafri
Pakalbėkime apie jūsų sumanymą
Pasakykite mums keliais žodžiais, ko jums reikia: greitai jums atsakome.
Ačiū! Jūsų užklausa išsiųsta. Netrukus su jumis susisieksime.
Labiau mėgstate el. paštą? Rašykite mums adresu support@simafri.com.