Scroll untuk baca artikel
HashiCorp Vault

Install HashiCorp Vault tanpa SSL di Docker Compose

23
×

Install HashiCorp Vault tanpa SSL di Docker Compose

Sebarkan artikel ini

Install HashiCorp Vault tanpa SSL di Docker Compose

vault secrets
vault secrets
59 / 100 Skor SEO

Berikut ini adalah langkah-langkah lengkap dan benar dari awal untuk menjalankan HashiCorp Vault tanpa SSL (non-TLS) di server kamu, dengan Docker Compose:

1. Struktur Folder

Untuk direktory vault sendiri tidak masalah di taruh dimanapun yang penting direktorinya

├── docker-compose.yml       # File konfigurasi Docker Compose
├── vault/
│   ├── config/              # Folder untuk konfigurasi Vault
│   │   └── config.hcl       # File konfigurasi Vault (listener, storage, dll)
│   └── data/                # Folder untuk data Vault (akan diisi oleh Vault)

kalau saya menatuh di vault-server Buat struktur direktori:

mkdir -p ~/vault-server/vault/config

Kemudian

mkdir -p ~/vault-server/vault/data

Masuk ke  direktori folder yang sudah di buat tadi

cd ~/vault-server

2. Buat File config.hcl

Buat file konfigurasi Vault di vault/config/config.hcl:

vi vault/config/config.hcl

Kemudian tambahkan

listener "tcp" {
  address         = "0.0.0.0:8200"
  cluster_address = "0.0.0.0:8201"
  tls_disable     = 1
}

storage "file" {
  path = "/vault/data"
}

ui = true

3. Buat docker-compose.yml

Masih di direktori ~/vault-server, buat file:

version: "3.8"

services:
  vault:
    image: hashicorp/vault:latest
    container_name: vault
    user: 100:1000
    restart: always
    volumes:
      - ./vault/config:/vault/config
      - ./vault/data:/vault/data
    environment:
      VAULT_ADDR: "http://611.82.17.24:8200"
      VAULT_API_ADDR: "http://611.82.17.24:8200"
      VAULT_CLUSTER_ADDR: "http://611.82.17.24:8201"
      HISTFILE: /dev/null
    ports:
      - "8200:8200"
      - "8201:8201"
    ulimits:
      memlock: -1
    cap_add:
      - IPC_LOCK
    healthcheck:
      test: ["CMD", "vault", "status"]
      interval: 30s
      timeout: 10s
      retries: 5
    entrypoint:
      - vault
      - server
      - "-config=/vault/config/config.hcl"

Untuk environment sesuaikan dengan ip server yang kalian gunakan

environment: 
  VAULT_ADDR: "http://611.82.17.24:8200" 
  VAULT_API_ADDR: "http://611.82.17.24:8200" 
  VAULT_CLUSTER_ADDR: "http://611.82.17.24:8201"

 

4. Set Izin Folder data

Agar Vault bisa menulis ke volume /vault/data:

sudo chown -R 100:1000 vault/data sudo chmod -R 700 vault/data

5. Jalankan Vault

docker compose up -d

Cek status:

docker ps docker logs vault

6. Inisialisasi Vault (1x saja)

docker exec -it vault vault operator init

Maka Akan Tampil Seperti ini :

root@srv768929:vault-server# docker exec -it vault vault operator init
Unseal Key 1: 8FT+FWvgJc9MuEQpVM5Xu3meci6MhKoWeeYbQGoAT+ET
Unseal Key 2: sKt3ckcRpjEAJdxvK/rJZLUx90BNaeenlDvN8G+KhKgc
Unseal Key 3: 7kEVeOwoWxSv71oaCU9Xlm2+TUMl41eeQxjIaArcAgyJ
Unseal Key 4: GyqfcpJ7e1zfuY3QogLkpSijbQwSk72nlMCv8aSLZ5f1
Unseal Key 5: Vlajmrt2vRh5q5MQtFsyZfnbIQphv1efhsVSfDOC1Ygv

Initial Root Token: hvs.my5kJ64358TMJWzT6NKL7yFe

Simpan hasil Unseal Keys dan Initial Root Token di tempat aman.

7. Unseal Vault

Gunakan 3 dari 5 Unseal Keys:

docker exec -it vault vault operator unseal <key1>
docker exec -it vault vault operator unseal <key2>
docker exec -it vault vault operator unseal <key3>

Catatan : untuk unseal Vault bisa di lakukan via web juga jadi tidak perlu menggunakan terminal jadi ada 2 opsi

Untuk tampilan via web seperti ini

Unseal Vault
Unseal Vault

8. Login ke Vault

Gunakan Initial Root Token:

docker exec -it vault vault login <your-root-token>

 


9. Akses Web UI

Buka browser ke:

http://611.82.17.24:8200
Sign in to Vault
Sign in to Vault

Karena saya set di composenya environment ke ip tersebut

Login pakai Root Token.

Sekian tutorial kali ini, semoga bermanfaat

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Verified by MonsterInsights