Mitināt Vaultwarden Managed VPS serverī: jūsu paroles jūsu serverī

Mitināt Vaultwarden Managed VPS serverī nozīmē glabāt savas un savas komandas paroles uz savas mašīnas, ko mūsu komandas uztur atjauninātu un uzrauga dienu un nakti. Vaultwarden ir atvērtā koda programmatūra ar AGPL-3.0 licenci. Šis ceļvedis seko tā oficiālajai dokumentācijai: uzstādīšana ar Docker Compose, HTTPS, reģistrāciju slēgšana, administrēšanas marķieris, kas aizsargā seifu, datubāze, e-pasti, rezerves kopijas un atjauninājumi.

Simon Vasconcelos Lee Autors: Publicēts 2026. gada 8. novembrīLasīšanas laiks: 15 minūtes

Visi ceļveži

Galvenais

  1. AGPL-3.0 licence ļauj Vaultwarden brīvi darbināt gan uzņēmumā, gan citur; ja to mainīsiet, savas versijas kodu piedāvājat tiem, kas to izmanto.
  2. Uzstādiet to ar Docker Compose: viens attēls, lokāli publicēts ports un datu mape, aiz reversā starpniekservera.
  3. Tīmekļa seifam HTTPS ir obligāts: padariet Vaultwarden pieejamu uz sava domēna vārda un norādiet šo vārdu mainīgajā DOMAIN.
  4. Izveidojiet savu kontu un pēc tam slēdziet reģistrācijas ar SIGNUPS_ALLOWED: pēc noklusējuma ikviens, kas sasniedz instanci, var reģistrēties. Stipra galvenā parole un divfaktoru autentifikācija pēc tam aizsargā seifu.
  5. Katru dienu veidojiet datubāzes un pielikumu rezerves kopiju, pārbaudiet atjaunošanu un atjauniniet ar docker compose pull.

Ko dara Vaultwarden

Vaultwarden ir paroļu pārvaldības serveris, uzrakstīts Rust valodā un paredzēts mitināšanai savā serverī. Tā wiki to adresē privātpersonām, ģimenēm un cilvēcīga izmēra organizācijām. Tīmekļa seifs ir iekļauts tā Docker attēlos.

Tas īsteno API, kas ir saderīgs ar oficiālajiem Bitwarden klientiem pārlūkprogrammā, datorā un tālrunī. README precizē, ka projekts nav saistīts ar Bitwarden un Bitwarden, Inc., un lūdz par jebkuru problēmu, neatkarīgi no izmantotā klienta, ziņot tieši projektam, nevis oficiālajiem atbalsta kanāliem.

Wiki uzskaita arī to, kā trūkst, salīdzinot ar oficiālo serveri, piemēram, pieteikšanās ar piekļuves atslēgu, pielāgotas lomas un dažas uzņēmumu politikas. Tas precizē, ka funkcijas, kas galvenokārt noder lielām organizācijām, nav projekta prioritāte: izlasiet šo sarakstu, ja tās jums vajadzīgas.

Ko atļauj AGPL-3.0 licence

Vaultwarden tiek izplatīts ar GNU Affero General Public License, 3. versiju. Teksts apliecina neierobežotu atļauju darbināt nemainītu programmu. Tāpēc jūs varat savam uzņēmumam un komandai izmantot projekta publicēto attēlu, nepērkot nekādu licenci.

13. pants pievieno AGPL raksturīgu nosacījumu: ja jūs mainīsiet programmu, jūsu versijai jādod ikvienam, kas to izmanto attālināti, caur tīklu, iespēja bez maksas iegūt tās pirmkodu.

Uzstādīšana ar Docker Compose

README iesaka konteineru attēlus. Serverī, kur uzstādīts Docker, izveidojiet mapi un ievietojiet tajā šo compose.yaml, ņemtu no README un wiki:

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/
    ports:
      - 127.0.0.1:8000:80
Terminālis
docker compose up -d

Jūsu domēna vārds norāda uz serveri ar A un AAAA ierakstiem, un apmeklētāji nonāk uz portiem 80 un 443. Kamēr reversais starpniekserveris nav ieslēgts, tīmekļa seifs nav izmantojams: pārejiet tieši uz nākamo sadaļu.

Projekts nenosauc ne atmiņas, ne procesora apjomu; tas tikai pasniedz sevi kā risinājumu gadījumiem, kad resursietilpīgais oficiālais pakalpojums nav piemērots. Izmērs ir atkarīgs no kontu skaita un pielikumu apjoma. Ar Managed VPS aprakstiet mums savu lietojumu, un mēs jums iesakām piemērotu izmēru.

HTTPS un WebSocket: reversais starpniekserveris

Tīmekļa seifs balstās uz Web Crypto API, ko pārlūkprogrammas atļauj tikai drošos kontekstos: README norāda, ka tas darbojas tikai pēc HTTPS ieslēgšanas, un wiki uzskata HTTPS par «pretty much required», proti, gandrīz obligātu. Projekts iesaka reverso starpniekserveri pirms Vaultwarden un neiesaka tā Rocket ietvarā integrēto TLS.

Izmantojiet atpazīstamu sertifikātu, piemēram, Let's Encrypt, ko iesaka wiki: ar paša parakstītu sertifikātu dažas platformas atsaka savienojumu. Sertifikātam jāietver pilna ķēde, citādi Android ierīces nespēj pieslēgties.

WebSocket paziņojumi, kas pēc noklusējuma ir ieslēgti, informē pārlūkprogrammu, darbvirsmas lietotni un paplašinājumu, ka ieraksts ir mainījies. Tie iet caur galveno HTTP portu, un starpniekserverim jānodod galvenes Upgrade un Connection. Mobilās lietotnes izmanto savas sistēmas dzimtos paziņojumus, kurus konfigurē atsevišķi.

Ar Caddy

Wiki iesaka vispirms apskatīt Caddy, ja nav citu vēlmju: tas pats ieslēdz HTTPS, iegūst Let's Encrypt sertifikātu un apstrādā WebSocket. Wiki iestatījums nodod Vaultwarden arī apmeklētāja īsto adresi tā žurnāliem:

Caddyfile
vault.example.com {
  reverse_proxy 127.0.0.1:8000 {
    header_up X-Real-IP {remote_host}
  }
}

Ar Nginx un Certbot

Šis bloks pārņem wiki Nginx piemēru, saīsinātu līdz portam 80, lai Certbot varētu ieslēgt HTTPS:

Nginx bloks
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;
    }
}

Pēc tam Certbot uzstāda sertifikātu un parūpējas par tā atjaunošanu:

Terminālis
sudo certbot --nginx

WebSocket pārbaude

Atveriet pārlūkprogrammas izstrādātāju rīkus, tīkla cilni, filtru WS, un pēc tam atkal pieslēdzieties seifam: atbilde 101 uz /notifications/hub apstiprina savienojumu. Vēl viena wiki pārbaude: atveriet seifu divās pārlūkprogrammās, pārsauciet ierakstu vienā, un izmaiņa uzreiz parādās otrā.

Reģistrāciju slēgšana

Pēc noklusējuma ikviens, kas sasniedz jūsu instanci, var tajā izveidot kontu. Tas noder jūsu pirmajam kontam, un wiki iesaka pēc tam reģistrāciju aizvērt, lai uzbrucējs nevarētu izveidot savu.

  1. Atveriet savu HTTPS adresi un izveidojiet savu kontu, pēc tam pieslēdziet savas lietotnes šai adresei.
  2. Failā compose.yaml pārslēdziet SIGNUPS_ALLOWED uz "false".
  3. Restartējiet ar docker compose up -d: vides mainīgais ir piesaistīts konteineram, kas jāizveido no jauna, lai to ņemtu vērā.
compose.yaml, sadaļā environment
SIGNUPS_ALLOWED: "false"

Tiklīdz saglabājat konfigurāciju no administrēšanas lapas, datu mapē rodas fails config.json, kas ir svarīgāks par vides mainīgajiem. Attiecīgos iestatījumus tad maina no šīs lapas: ar compose.yaml labošanu vairs nepietiek.

Administrēšanas lapa un tās marķieris

Lapa /admin kalpo Vaultwarden konfigurēšanai, kontu un organizāciju skatīšanai un dzēšanai, lietotāja divfaktoru autentifikācijas noņemšanai, ielūgšanai un diagnostikas lasīšanai. Bez ADMIN_TOKEN tā paliek atslēgta: ja tā jums nav vajadzīga, atstājiet to tā.

Wiki stingri iesaka pirms šīs lapas ieslēgt HTTPS. Marķieris kalpo kā parole, un to var glabāt jaucējkodā, argon2id formā, nevis skaidrā tekstā konfigurācijā. Vaultwarden nodrošina komandu: tā divreiz pieprasa paroli un pēc tam atdod PHC virkni.

Terminālis
docker run --rm -it vaultwarden/server /vaultwarden hash

Ievietojiet šo virkni failā .env, blakus compose.yaml, apostrofos, un pēc tam izsauciet to no pakalpojuma:

.env
VAULTWARDEN_ADMIN_TOKEN='$argon2id$...'
compose.yaml, sadaļā environment
ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN}

Pārbaudiet rezultātu, restartējiet, pēc tam pieslēdzieties lapā /admin ar savu paroli, nevis ar PHC virkni:

Terminālis
docker compose config
docker compose up -d

Kas aizsargā seifu

Pirmā aizsardzība ir galvenā parole. Seifa dati ir šifrēti ar personīgām vai organizācijas atslēgām: kas iegūst datubāzes kopiju vai uzspiež sesiju, tam joprojām jāuzlauž šī parole, lai tos izlasītu. Tāpēc tās stiprums ir svarīgākais. Pati administrēšanas sesija ļauj dzēst kontu vai noņemt divfaktoru autentifikāciju, nedodot piekļuvi seifa datiem.

AizsardzībaKo tā dodKur to iestata
Galvenā paroleUztur datus šifrētus, pat ja apgrozībā nonāk datubāzes kopijaKatrs lietotājs to izvēlas garu un tikai šim seifam
Divfaktoru autentifikācijaBez tās wiki atgādina, ka paroles uzminēšana ar brute force teorētiski paliek iespējamaKatrā kontā; organizācijas politika var to prasīt
HTTPSŠifrē ceļu starp klientu un serveriReversais starpniekserveris
Slēgtas reģistrācijasNeļauj svešiniekam izveidot kontuSIGNUPS_ALLOWED
Paroles norādesParādītas lapā, tās palīdzētu uzminēt paroli; versija 1.37.5 tās pēc noklusējuma slēpjAtstājiet SHOW_PASSWORD_HINT uz false; PASSWORD_HINTS_ALLOWED tās noņem pavisam
Mēģinājumu ierobežojumsBremzē mēģinājumus no vienas adreses, pieteikšanos un /adminLOGIN_RATELIMIT_SECONDS un ADMIN_RATELIMIT_SECONDS
Fail2banBloķē adreses pēc pārāk daudz neveiksmēm, ko wiki uzskata par īpaši svarīgu publiskai instanceiServerī, no žurnāla LOG_FILE

Sagatavojieties galvenās paroles aizmiršanai, pirms tā notiek: ieslēdziet sava konta avārijas piekļuvi un organizācijā konta atgūšanu, kam vajadzīgs konfigurēts e-pasts.

Vēl trīs iestatījumi no nostiprināšanas ceļveža

SQLite, MariaDB vai PostgreSQL

Viens un tas pats attēls atbalsta visas trīs datubāzes. Wiki raksturo SQLite kā visvairāk izmantoto un visvairāk pārbaudīto un iesaka to vairumam lietojumu, ja vien nav precīzas vajadzības pēc citas.

DatubāzeIeviešanaRezerves kopija
SQLiteNav vajadzīga: viens fails, vw-data/db.sqlite3Komanda /vaultwarden backup vai mapes kopija, pakalpojumam apturētam
MariaDB vai MySQLJūsu datubāzes serveris un DATABASE_URL formā mysql://Datubāzes eksports papildus mapei vw-data
PostgreSQLJūsu datubāzes serveris un DATABASE_URL formā postgresql://Datubāzes eksports papildus mapei vw-data
compose.yaml, sadaļā environment (PostgreSQL)
DATABASE_URL: "postgresql://user_name:user_password@db_host:5432/vaultwarden"

Izveidojiet tukšu datubāzi un tās lietotāju: palaišanas brīdī Vaultwarden tajā pats izveido savu shēmu. Parole ar speciālajām rakstzīmēm šajā adresē jāraksta procentu kodējumā.

Izdariet šo izvēli, pirms piepildāt seifu. Wiki apraksta pāreju no SQLite uz PostgreSQL ar pgloader, precizējot, ka projekts šo ceļu neatbalsta, ka tas notiek uz jūsu atbildību un ka tas sākas ar rezerves kopiju.

E-pasti: SMTP konfigurācija

Vaultwarden startē bez e-pasta, taču vairākas funkcijas no tā ir atkarīgas: ielūgumi, adrešu pārbaude, paroles norāžu nosūtīšana, divfaktoru autentifikācija ar e-pastu un konta atgūšana.

Simafri VPS serverī sūtīšana notiek caur autentificētu SMTP releju, izmantojot portu 587: ar jau esoša pasta konta adresi vai Simafri Suite. Parole tiek ievietota failā .env, tāpat kā administrēšanas marķieris:

compose.yaml, sadaļā environment
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}

Ja nekas netiek nosūtīts, wiki iesaka no servera pārbaudīt savienojumu ar releju. Komanda atdod 0, kad relejs atbild:

Terminālis
timeout 5 bash -c 'cat < /dev/null > /dev/tcp/smtp.example.com/587'; echo $?

Rezerves kopijas

README atgādina, ka projekts nevar tikt saukts pie atbildības par datu zudumu, un stingri iesaka regulāras rezerves kopijas. Wiki iesaka tās automatizēt, vismaz vienu kopiju glabājot citur. Lūk, ko datu mape satur ar SQLite:

ElementsKo tas glabāVai kopēt
db.sqlite3Gandrīz visus datus: kontus, organizācijas, seifusObligāti
attachments/Pielikumus, glabātus ārpus datubāzesObligāti
config.jsonAdministrēšanas lapas konfigurāciju, ieskaitot sensitīvus datus skaidrā tekstāIeteicams, šifrētu
rsa_key*Atslēgas, kas paraksta sesijas; to zaudēšana izraksta lietotājusIeteicams, šifrētas
sends/Ar Send nosūtītie faili, pēc dabas īslaicīgiNeobligāti
icon_cache/Vietņu ikonas, vajadzības gadījumā lejupielādētas no jaunaNeobligāti

Datubāze, pakalpojumam darbojoties

Kopš versijas 1.32.1 Vaultwarden pats prot veidot savas SQLite datubāzes rezerves kopiju, pakalpojuma neapturot:

Terminālis
docker exec -it vaultwarden /vaultwarden backup

Komanda ieraksta failu db_AAAAMMDD_HHMMSS.sqlite3 blakus datubāzei, mapē vw-data. Attēlā nav ne sqlite3, ne cron: wiki iesaka uzdevumu ieplānot serverī, vismaz reizi dienā. Tad noņemiet -it, jo ieplānotam uzdevumam nav termināļa, un izkārtojiet šos failus, kas uzkrājas.

Visa mape, pakalpojumam apturētam

Kad datubāze netiek izmantota, pietiek ar visu tās failu vienkāršu kopiju. Šo metodi ar apturētu pakalpojumu wiki dod kā piemēru Docker videi, un tā paņem līdzi arī pielikumus:

Terminālis, compose.yaml mapē
docker compose down
tar -czf vaultwarden-$(date +%F).tar.gz vw-data
docker compose up -d

Wiki uzskata šifrēšanas slāni par noderīgu, īpaši tad, kad rezerves kopijā ir administrēšanas marķieris un SMTP piekļuves dati, un min rclone, restic un rustic kopiju nosūtīšanai tālāk. Ar MariaDB vai PostgreSQL pievienojiet mapei vw-data datubāzes eksportu.

Wiki lūdz nepaļauties tikai uz diska momentuzņēmumiem, kurus ir sarežģītāk atjaunot. Tāpēc glabājiet šīs lietojumprogrammai raksturīgās kopijas: novietotas servera diskā, tās nonāk arī tā nakts rezerves kopijās.

Atjaunošana

  1. Apturiet Vaultwarden.
  2. Aizvietojiet katru failu vai mapi vw-data ar tā saglabāto versiju.
  3. Ja datubāze nāk no /vaultwarden backup, nosauciet to par db.sqlite3 un vispirms izdzēsiet jebkuru esošo failu db.sqlite3-wal: neatbilstošs žurnāls var sabojāt datubāzi. Ja tā nāk no tiešas kopijas, atjaunojiet kopā db.sqlite3 un tā db.sqlite3-wal.
  4. Restartējiet, pēc tam pārbaudiet, vai varat atvērt seifu.

Wiki iesaka laiku pa laikam atkārtot šo vingrinājumu, saglabājot esošo datu kopiju: tā jūs pārbaudāt, vai rezerves kopija darbojas.

Atjauninājumi

Wiki dod divas komandas, kas jāpalaiž no mapes ar compose.yaml. Datu mape paliek vietā:

Terminālis
docker compose pull
docker compose up -d

Šie atjauninājumi ir svarīgāki nekā citur. Mobilās lietotnes un pārlūkprogrammu paplašinājumi atjauninās paši, un wiki brīdina, ka versiju atšķirība ar serveri var izraisīt pēkšņas kļūmes. Tīmekļa seifs, kas ir iekļauts attēlā, vienmēr paliek saskaņots ar savu serveri.

Projektam nav versiju kalendāra: sekojiet tā laidiena piezīmēm un tieši pirms katra atjauninājuma veidojiet rezerves kopiju. Dažos ir drošības labojumi, piemēram, 1.37.5 versijā no 2026. gada 1. novembra, kuras piezīmes iesaka atjaunināt pēc iespējas ātrāk. Šīs piezīmes arī brīdina, ka kopš versijas 1.37.5 nederīga konfigurācijas vērtība neļauj Vaultwarden startēt: pirms atjaunināšanas vēlreiz pārskatiet savu vides failu. Diagnostikas lapa sadaļā /admin norāda, vai pastāv jaunāka versija.

Kurš ko dara Managed VPS serverī

Mitināšana savā serverī prasa uzturēt serveri papildus lietojumprogrammai. Ar Managed VPS mūsu komandas uzņemas serveri un proaktīvi seko jūsu instancei; Vaultwarden paliek jūsu programmatūra ar saviem iestatījumiem un datiem.

TematsMūsu komandasJūs
ServerisSistēmas un drošības atjauninājumi, ieskaitot iejaukšanos serverīBrīdis, kas der jūsu darbam
UzraudzībaServeris tiek uzraudzīts 24/7, iejaucoties, negaidot jūsu zvanuJūsu instances žurnālu lasīšana
VaultwardenProaktīva sekošana: kļūdas, palēninājumi un diska vieta tiek pamanīti, labojums tiek ieteiktsTā uzstādīšana, atjauninājumi un iestatījumi, ko ieviešat jūs vai jūsu MI asistents
Konti un seifsServeris, kas tos nes, uzraudzīts un ar rezerves kopijāmLietotāji, ielūgumi, galvenās paroles un divfaktoru autentifikācija
Rezerves kopijasKatru nakti, šifrētas un glabātas ārpus mašīnas; atjaunošana iekļautaVaultwarden raksturīgās kopijas un atjaunošanas pieprasījums, kad tas vajadzīgs
MigrācijaJūsu pašreizējā servera migrācija, bez maksasPārslēgšanās brīdis

Ja vēlaties, lai mūsu komandas iejaucas pašā lietojumprogrammā, šis pakalpojums tiek rēķināts par stundu vai par fiksētu summu, ar novērtējumu, kas paziņots pirms iejaukšanās.

Vaultwarden serverī, ko uzturam jūsu vietā

Ar Simafri Managed VPS mūsu komandas uztur jūsu Vaultwarden instances serveri atjauninātu, uzrauga to dienu un nakti un iejaucas, negaidot jūsu zvanu; tās arī proaktīvi seko jūsu instancei un iesaka noderīgus labojumus, ko ieviešat jūs paši vai jūsu MI asistents. Rezerves kopijas katru nakti tiek šifrētas un glabātas ārpus mašīnas, to atjaunošana ir iekļauta, un jūsu pašreizējā servera migrācija ir bez maksas.

Skatīt Managed VPS

Biežāk uzdotie jautājumi

Vai Vaultwarden uzņēmumam ir bez maksas?

Jā. Vaultwarden ir ar AGPL-3.0 licenci: varat to darbināt uzņēmumā, nepērkot nekādu licenci. Ja to mainīsiet, jūsu versijai jāpiedāvā pirmkods tiem, kas to izmanto caur tīklu. Paliek tikai servera izmaksas, uz kura tas darbojas.

Vai Vaultwarden darbojas ar Bitwarden lietotnēm?

Jā. README norāda, ka Vaultwarden ir saderīgs ar oficiālajiem Bitwarden klientiem, vienlaikus precizējot, ka projekts nav saistīts ar Bitwarden un Bitwarden, Inc. Tāpēc problēma jāziņo Vaultwarden projektam, neatkarīgi no izmantotā klienta.

Kā uzstādīt Vaultwarden ar Docker Compose?

Izveidojiet compose.yaml ar attēlu vaultwarden/server, datu mapi un portu, publicētu uz 127.0.0.1, un palaidiet docker compose up -d. Pēc tam pirms tā novietojiet reverso starpniekserveri ar HTTPS: bez HTTPS tīmekļa seifs nedarbojas. Norādiet savu adresi arī mainīgajā DOMAIN.

Kā atslēgt reģistrācijas Vaultwarden?

Kad konts ir izveidots, failā compose.yaml pārslēdziet SIGNUPS_ALLOWED uz false un restartējiet ar docker compose up -d. Organizācijas joprojām var ielūgt: INVITATIONS_ALLOWED uz false šo iespēju noņem. Ja administrēšanas lapa jau ir saglabājusi savu konfigurāciju, šo iestatījumu veiciet no tās.

Kā konfigurēt Vaultwarden administrēšanas marķieri?

Palaidiet komandu vaultwarden hash, kas atdod argon2id virkni, un ievietojiet to mainīgajā ADMIN_TOKEN, ar Docker Compose no faila .env. Pēc tam pieslēdzieties lapā /admin ar savu paroli. Bez ADMIN_TOKEN lapa paliek atslēgta.

Kas aizsargā Vaultwarden seifu?

Vispirms galvenā parole: dati ir šifrēti, un datubāzes kopiju var izlasīt, tikai uzlaužot to. Klāt nāk divfaktoru autentifikācija, HTTPS, slēgtas reģistrācijas, jaucējkodā glabāts administrēšanas marķieris un šifrētas rezerves kopijas.

Kā veidot Vaultwarden rezerves kopiju?

Ar SQLite katru dienu konteinerā palaidiet komandu /vaultwarden backup un kopējiet arī mapi attachments, config.json un failus rsa_key. Ar MariaDB vai PostgreSQL pievienojiet datubāzes eksportu. Regulāri pārbaudiet atjaunošanu.

Vai Managed VPS aptver Vaultwarden?

Managed VPS aptver serveri: sistēmu, drošību, uzraudzību un rezerves kopijas. Mūsu komandas proaktīvi seko arī jūsu instancei un iesaka noderīgus labojumus, ko ieviešat jūs. Iejaukšanās lietojumprogrammā tiek rēķināta par stundu vai par fiksētu summu.

Avoti un oficiālā dokumentācija

Sazinieties ar mums