Instalasi Docker

Prasyarat
  • Sudah menginstal Docker dan Docker Compose
  • Pastikan layanan Docker sedang berjalan

1. Buat docker-compose.yml Baru

# Buat folder bernama my-project (bisa nama lain) untuk menyimpan file sistem yang dibuat NocoBase
mkdir my-project && cd my-project

# Buat file docker-compose.yml kosong
vi docker-compose.yml

2. Konfigurasi docker-compose.yml

Pilih versi NocoBase (Perbandingan Versi) dan tipe database, salin konfigurasi yang sesuai ke docker-compose.yml.

Penjelasan Konfigurasi
  • Pemilihan Image: latest latest-full beta beta-full alpha alpha-full 1.7.14 1.7.14-full
    • Untuk lingkungan produksi disarankan menggunakan versi numerik tetap untuk menghindari upgrade otomatis yang tidak disengaja. Lihat semua versi
    • Image Aliyun: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
    • Image Docker Hub: nocobase/nocobase:latest-full
    • Image full mencakup PostgreSQL 16/17 client, MySQL 8.0 client, Oracle 19.25 client yang dibutuhkan Plugin manajemen backup dan migrasi, serta LibreOffice yang dibutuhkan untuk template printing (PDF)
    • Jika ingin membangun image sendiri, dapat merujuk ke Dockerfile (versi ringan) dan Dockerfile-full (versi lengkap) resmi
  • Modifikasi APP_KEY: Ganti your-secret-key dengan string acak, digunakan untuk mengenkripsi Token pengguna dan informasi sensitif lainnya
  • Menggunakan Database yang Sudah Ada: Jika sudah memiliki layanan database, modifikasi DB_HOST ke alamat server database, dan hapus atau komentari konfigurasi layanan database (seperti layanan postgres, mysql, mariadb)
  • Pemetaan Port: Default memetakan port 80 container ke port 13000 host, dapat dimodifikasi sesuai kebutuhan
Versi Latest
Versi Beta
Versi Alpha
PostgreSQL
MySQL
MariaDB
networks:
  nocobase:
    driver: bridge

services:
  app:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
    restart: always
    networks:
      - nocobase
    depends_on:
      - postgres
    environment:
      # Kunci aplikasi, digunakan untuk menghasilkan Token pengguna, dll.
      # Jika APP_KEY dimodifikasi, Token lama akan menjadi tidak valid
      # Bisa berupa string acak apa saja, dan pastikan tidak bocor ke pihak luar
      - APP_KEY=your-secret-key
      # Tipe database, mendukung postgres, mysql, mariadb
      - DB_DIALECT=postgres
      # Host database, dapat diganti dengan IP server database yang sudah ada
      - DB_HOST=postgres
      # Database port
      - DB_PORT=5432
      # Nama database
      - DB_DATABASE=nocobase
      # Pengguna database
      - DB_USER=nocobase
      # Password database
      - DB_PASSWORD=nocobase
      # Zona waktu
      - TZ=Asia/Shanghai

    volumes:
      - ./storage:/app/nocobase/storage
    ports:
      - '13000:80'
    # init: true

  # Jika menggunakan layanan database yang sudah ada, postgres tidak perlu dijalankan
  postgres:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/postgres:16
    restart: always
    command: postgres -c wal_level=logical
    environment:
      POSTGRES_USER: nocobase
      POSTGRES_DB: nocobase
      POSTGRES_PASSWORD: nocobase
    volumes:
      - ./storage/db/postgres:/var/lib/postgresql/data
    networks:
      - nocobase

3. Instal dan Jalankan NocoBase

# Tarik image terbaru
docker compose pull

# Jalankan di background (saat pertama kali dijalankan, instalasi akan dilakukan otomatis)
docker compose up -d

# Lihat log instalasi dan runtime
docker compose logs -f app

app-postgres-app-1  | nginx started
app-postgres-app-1  | yarn run v1.22.15
app-postgres-app-1  | $ cross-env DOTENV_CONFIG_PATH=.env node -r dotenv/config packages/app/server/lib/index.js install -s
app-postgres-app-1  | Done in 2.72s.
app-postgres-app-1  | yarn run v1.22.15
app-postgres-app-1  | $ pm2-runtime start --node-args="-r dotenv/config" packages/app/server/lib/index.js -- start
app-postgres-app-1  | 2022-04-28T15:45:38: PM2 log: Launching in no daemon mode
app-postgres-app-1  | 2022-04-28T15:45:38: PM2 log: App [index:0] starting in -fork mode-
app-postgres-app-1  | 2022-04-28T15:45:38: PM2 log: App [index:0] online
app-postgres-app-1  | 🚀 NocoBase server running at: http://localhost:13000/

4. Login ke NocoBase

Buka http://localhost:13000 di browser, akun dan password awal adalah admin@nocobase.com dan admin123.

Tips Keamanan Akun

Setelah login pertama kali, segera ubah password default untuk memastikan keamanan sistem.