Language: hy
Vaultwarden. սեփական գաղտնաբառերի կառավարչի տեղադրումը VPS-ում
Vaultwarden-ը թույլ է տալիս գաղտնաբառերը պահել սեփական սերվերում և համաժամացնել դրանք համակարգչի, հեռախոսի ու բրաուզերի միջև։ Այն աշխատում է Bitwarden-ի պաշտոնական հավելվածների և ընդլայնումների հետ. դրանցում պարզապես նշում եք ձեր սեփական սերվերի հասցեն։
Ստորև կքննարկենք, թե ինչ VPS է պետք Vaultwarden-ին, ինչպես այն գործարկել Ubuntu-ում Docker Compose-ի միջոցով, անջատել բաց գրանցումը, միացնել HTTPS-ը և կարգավորել պահուստավորումը։
Vaultwarden-ը հինգ քայլով
Նվազագույն գործարկման ծրագիրը հետևյալն է.
- Ստեղծեք Ubuntu-ով VPS և ենթադոմենը ուղղեք դեպի այն, օրինակ՝
vault.example.com։ - Տեղադրեք Docker-ը և Docker Compose-ը։
- Գործարկեք Vaultwarden-ը Caddy-ի հետ միասին՝ ավտոմատ HTTPS-ի համար։
- Ստեղծեք առաջին հաշիվը և անջատեք բաց գրանցումը։
- Միացրեք երկփուլ նույնականացումը, թարմացումները և պահուստավորումը։
Անձնական պահոցի կամ փոքր ընտանիքի համար ներկառուցված SQLite տվյալների բազան բավարար է։ Առանձին PostgreSQL սերվերը սովորաբար անհրաժեշտ չէ։
Ի՞նչ է Vaultwarden-ը
Vaultwarden-ը Bitwarden API-ի ոչ պաշտոնական սերվերային իրականացում է՝ գրված Rust-ով և նախատեսված ինքնուրույն հոսթինգի համար։ Այն համատեղելի է Bitwarden-ի պաշտոնական հաճախորդների հետ՝ վեբ ինտերֆեյսի, բջջային և աշխատասեղանի հավելվածների, բրաուզերի ընդլայնումների և CLI-ի։
Պահոցի տվյալները օգտատիրոջ սարքում գաղտնագրվում են սերվեր ուղարկվելուց առաջ։ VPS-ը համաժամացնում է գաղտնագրված տվյալների բազան, սակայն չի իմանում հիմնական գաղտնաբառը և կորցնելու դեպքում չի կարող վերականգնել այն։
Vaultwarden-ը Bitwarden-ի պաշտոնական արտադրանքը չէ։ Սեփականատերն անձամբ պատասխանատու է թարմացումների, հասանելիության, HTTPS-ի, պահուստների և VPS-ի անվտանգության համար։
Vaultwarden և Bitwarden. ո՞րն է տարբերությունը
| Պարամետր | Bitwarden Cloud | Vaultwarden |
|---|---|---|
| Սերվեր | Bitwarden-ի ենթակառուցվածք | Ձեր VPS-ը կամ տնային սերվերը |
| Հավելվածներ | Bitwarden-ի հաճախորդներ | Նույն հաճախորդները Self-hosted ռեժիմում |
| Սպասարկում | Կատարում է մատակարարը | Կատարում է սեփականատերը |
| Պահուստների վերահսկում | Սահմանափակված է ծառայությամբ | Ամբողջական |
| Կարգավորում | Հաշվի գրանցում | Դոմեն, Docker և VPS-ի կարգավորում |
Vaultwarden-ը հարմար է նրանց համար, ովքեր ցանկանում են վերահսկել սերվերային մասը և պատրաստ են թարմացնել Linux-ը ու ստուգել պահուստները։ Ամպային ծառայությունն ավելի գործնական է, եթե չեք ցանկանում զբաղվել ադմինիստրացիայով։ Ինքնուրույն հոսթինգը համակարգը ավտոմատ անվտանգ չի դարձնում. այն պատասխանատվությունը փոխանցում է սեփականատիրոջը։
Vaultwarden սերվերի պահանջները
Անձնական օգտագործման համար ողջամիտ մեկնարկային կազմաձևը հետևյալն է.
- 1 vCPU,
- 1–2 ԳԲ RAM,
- 10–20 ԳԲ SSD կամ NVMe,
- Ubuntu 24.04 LTS,
- հանրային IP հասցե և դոմեն,
- բաց 80 և 443 պորտեր։
Սա Ubuntu-ի, Docker-ի, Caddy-ի և թարմացումների համար գործնական պահուստ է, ոչ թե նախագծի խիստ նվազագույն պահանջը։ Տասնյակ օգտատերերի, մեծ թվով կցորդների կամ մի քանի կոնտեյներների դեպքում ավելի լավ է ընտրել առնվազն 2 ԳԲ RAM։
Ինչպես տեղադրել Vaultwarden-ը VPS-ում
Այս օրինակում օգտագործվում են Ubuntu 24.04-ը և vault.example.com ենթադոմենը։ Բոլոր ֆայլերում այն փոխարինեք ձեր հասցեով։
1. Կարգավորեք DNS-ը և պատրաստեք Ubuntu-ն
Ստեղծեք A DNS գրառում, որը կհղվի VPS-ի IPv4 հասցեին։ Այնուհետև միացեք SSH-ով.
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableՄի փակեք գործող SSH նիստը, քանի դեռ չեք ստուգել, որ նոր միացումը աշխատում է։
2. Տեղադրեք Docker-ը և Docker Compose-ը
Ավելացրեք Docker-ի պաշտոնական պահոցը.
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose version3. Ստեղծեք կազմաձևը
mkdir -p /opt/vaultwarden
cd /opt/vaultwardenՍտեղծեք compose.yaml.
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
caddy:
image: caddy:2-alpine
container_name: vaultwarden-caddy
restart: unless-stopped
depends_on:
- vaultwarden
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/configՍտեղծեք Caddyfile.
vault.example.com {
reverse_proxy vaultwarden:80
}Դրսից հասանելի է միայն Caddy-ն։ Vaultwarden-ի կոնտեյները հասանելի է Docker ցանցի ներսում, իսկ տվյալները պահվում են /opt/vaultwarden/vw-data-ում։ Ներկա կարգավորման դեպքում առանձին WebSocket պորտ պետք չէ։
4. Գործարկեք Vaultwarden-ը
docker compose up -d
docker compose ps
docker compose logs --tail=100 caddyԲացեք https://vault.example.com։ Եթե DNS-ն արդեն ուղղված է VPS-ին, իսկ 80 և 443 պորտերը հասանելի են, Caddy-ն ինքնաշխատ կստանա TLS վկայական։ Եթե կայքը չի բացվում, ստուգեք DNS-ը, firewall-ը և արդյոք մեկ այլ վեբ սերվեր չի օգտագործում այդ պորտերը։
5. Ստեղծեք հաշիվ և անջատեք գրանցումը
Գրանցեք առաջին հաշիվը։ Օգտագործեք երկար և եզակի հիմնական գաղտնաբառ, իսկ Vaultwarden-ից դուրս պահեք արտակարգ պատճենը. սերվերի ադմինիստրատորը չի կարող վերականգնել կամ փոխել հիմնական գաղտնաբառը։
Գրանցվելուց հետո compose.yaml-ում փոխեք հետևյալը.
SIGNUPS_ALLOWED: "false"Կիրառեք կարգավորումը.
docker compose up -dԱյժմ այլ մարդիկ չեն կարողանա հաշիվներ ստեղծել։ Նոր օգտատիրոջը ավելացնելու համար կարող եք ժամանակավորապես միացնել գրանցումը կամ կարգավորել հրավերներ։
Ինչպես միացնել Bitwarden հավելվածը
Առանձին Vaultwarden հաճախորդ տեղադրելու կարիք չկա։ Bitwarden հավելվածի կամ ընդլայնման մուտքի էկրանին ընտրեք Self-hosted և մուտքագրեք.
https://vault.example.comԱյս հասցեն օգտագործեք համակարգչում, հեռախոսում և բրաուզերում։ Տեղափոխման համար ներմուծեք նախկին գաղտնաբառերի կառավարիչից ստացված արտահանումը։ Փոխանցումից անմիջապես հետո ջնջեք չգաղտնագրված CSV կամ JSON ֆայլը և այն մի ուղարկեք էլեկտրոնային փոստով կամ հանրային հղումներով։
Vaultwarden-ի անվտանգ կազմաձևում
Գործարկումից հետո կատարեք մի քանի քայլ.
- միացրեք TOTP-ը կամ WebAuthn-ը և վերականգնման կոդերը պահեք առանձին,
SIGNUPS_ALLOWED-ը թողեք անջատված,- օգտագործեք SSH բանալիներ և պարբերաբար թարմացրեք Ubuntu-ն,
- մի բացեք Vaultwarden կոնտեյների ներքին պորտը,
- նույն VPS-ում մի գործարկեք կասկածելի կոնտեյներներ,
- ստուգեք, որ պահուստներից հնարավոր է վերականգնում կատարել։
/admin վահանակը սովորաբար պետք չէ անձնական պահոցի համար։ Եթե միացնում եք այն, օգտագործեք Argon2 հեշի ձևաչափով երկար թոքեն և հնարավորության դեպքում սահմանափակեք հասանելիությունը IP հասցեով կամ VPN-ով։ Պարզ տեքստով ADMIN_TOKEN պահելը ցանկալի չէ։
Թարմացումից առաջ ստեղծեք պահուստ, ապա գործարկեք.
cd /opt/vaultwarden
docker compose pull
docker compose up -dՍերվերը պետք է պարբերաբար թարմացվի. Bitwarden-ի հաճախորդները թողարկվում են անկախ, ուստի Vaultwarden-ի շատ հին տարբերակը կարող է կորցնել դրանց հետ համատեղելիությունը։
Vaultwarden-ի պահուստավորում
Հիմնական SQLite տվյալների բազան գտնվում է vw-data/db.sqlite3 հասցեում, իսկ կցորդները պահվում են առանձին ֆայլերով։ Մի պատճենեք գործող տվյալների բազան սովորական cp հրամանով. այդ պահին կատարվող գրառումը կարող է պատճենը դարձնել անհամապատասխան։
Ներկառուցված հրամանով ստեղծեք անվտանգ snapshot.
docker exec vaultwarden /vaultwarden backupՏվյալների թղթապանակում կհայտնվի առանձին db_.sqlite3 ֆայլ։ Դրա հետ միասին պահպանեք attachments, sends, ստեղծված լինելու դեպքում config.json, ինչպես նաև rsa_key ֆայլերը։
Նույն VPS-ում պահվող պահուստը չի պաշտպանում սերվերի ջնջումից կամ սկավառակի խափանումից։ Պատճեններն ավտոմատ ուղարկեք մեկ այլ սարք կամ առանձին օբյեկտային պահեստ, ցանկալի է՝ լրացուցիչ գաղտնագրմամբ։ Պարբերաբար կատարեք փորձնական վերականգնում։
Ո՞ր VPS-ն ընտրել Vaultwarden-ի համար
2 ԳԲ RAM-ով հիմնական Linux VPS-ը բավարար է անձնական կամ ընտանեկան պահոցի համար։ Այդպիսի կազմաձևը լրացուցիչ տեղ է թողնում համակարգի, Docker-ի, Caddy-ի, թարմացումների և ավտոմատ պահուստների համար։
Vaultwarden-ը կարող եք գործարկել tropic.host-ի սկզբնական մակարդակի VPS-ում և հետագայում ավելացնել ռեսուրսները, եթե սերվերին այլ ինքնուրույն հոսթինգով ծառայություններ էլ ավելացնեք։ Գաղտնաբառերի կառավարչի համար կայուն ցանցը, մշտական հանրային հասցեն և հուսալի սկավառակն ավելի կարևոր են, քան լրացուցիչ CPU միջուկները։
Տնային սերվերը նույնպես հարմար է, սակայն այդ դեպքում պետք է ապահովեք արտաքին հասանելիությունը, HTTPS-ը, կայուն սնուցումը և խափանումներից հետո վերականգնումը։ VPS-ը սովորաբար ավելի պարզ է, երբ պահոցը պետք է աշխատի ցանկացած ցանցից։
Եզրակացություն
Vaultwarden-ը հարմար ինքնուրույն հոսթինգով գաղտնաբառերի կառավարիչ է նրանց համար, ովքեր ցանկանում են օգտագործել Bitwarden-ի հաճախորդները՝ սերվերային մասը պահելով սեփական ենթակառուցվածքում։ Սկսելու համար բավական են փոքր VPS-ը, դոմենը, Docker Compose-ը և Caddy-ն։
Հիմնական պատասխանատվությունը սկսվում է տեղադրումից հետո. անջատեք գրանցումը, միացրեք 2FA-ն, թարմացրեք կոնտեյներները և պահեք փորձարկված պահուստները սերվերից դուրս։
FAQ
Հնարավո՞ր է Vaultwarden-ը տեղադրել առանց դոմենի
Տեխնիկապես կարելի է օգտագործել տեղական հասցե, սակայն վեբ պահոցին անհրաժեշտ է անվտանգ HTTPS միջավայր։ Տարբեր սարքերից հասանելիության համար դոմենն ու TLS վկայականը ավելի պարզ լուծում են։
Որքա՞ն RAM է պետք Vaultwarden-ին
Մեկ կամ մի քանի օգտատերերի համար սովորաբար բավական է 1 ԳԲ RAM-ը։ 2 ԳԲ-ով VPS-ը ավելի հարմար պահուստ է համակարգի, Docker-ի, Caddy-ի և թարմացումների համար։
Vaultwarden-ն աշխատո՞ւմ է Bitwarden-ի բջջային հավելվածի հետ
Այո։ Մուտքի էկրանին ընտրեք ինքնուրույն հոսթինգով սերվեր և մուտքագրեք Vaultwarden-ի ամբողջական HTTPS հասցեն։
Ի՞նչ է տեղի ունենում, եթե VPS-ը ժամանակավորապես անհասանելի է
Նախկինում համաժամացված տվյալները սովորաբար մնում են հաճախորդի տեղական գաղտնագրված քեշում։ Սակայն համաժամացումը, նոր սարքում մուտք գործելը և փոփոխություններ ստանալը չեն աշխատի, քանի դեռ սերվերը չի վերականգնվել։
Հնարավո՞ր է մոռացված հիմնական գաղտնաբառը վերականգնել /admin-ի միջոցով
Ոչ։ Ադմինիստրատորը կարող է կառավարել սերվերն ու հաշիվները, բայց չունի օգտատիրոջ պահոցի վերծանման բանալին։ Հիմնական գաղտնաբառն ու վերականգնման կոդերը պետք է պահել առանձին։
