$ aoox

DocsStack & database

Template one-click

Katalog aplikasi siap pakai yang dijalankan sebagai stack compose dalam beberapa klik.

Katalog
6 template, dibundel di dalam aoox
Hasil
Stack compose (source: template)
Rahasia
Password/secret di-generate otomatis

Katalog

TemplateVersiUntuk apaHarus diisiService (port)
wordpress6.8CMS/blog + MySQL—wordpress :80
ghost5Platform publishingURL publikghost :2368
n8n1.xAutomasi workflowHost publik; protokol & zona waktu punya defaultn8n :5678
uptime-kuma1Monitoring uptime—uptime-kuma :3001
miniolatestObject storage S3 — bisa jadi tujuan backupRoot user punya defaultConsole :9001 · API S3 :9000
gitea1.24Git hosting ringanURL publikgitea :3000

Katalog ditulis di dalam kode aoox — tidak diambil dari internet saat runtime, jadi tetap jalan offline dan isinya tidak bisa diganti pihak lain. Semua password, secret, dan key di-generate otomatis (alfanumerik) bila dikosongkan.

Men-deploy template

  1. Menu Templates → pilih template

    Atau dari halaman project klik Dari template agar project sudah terpilih. Ada kotak pencarian untuk katalog.

  2. Isi dialog deploy

    BagianKeterangan
    Project & NamaNama jadi slug stack; project compose = aoox-<slug>.
    Hostname per service + HTTPSSatu baris per service yang bisa diekspos (mis. MinIO punya dua: Console dan API). Kosongkan bila tidak ingin domain.
    Port host per serviceAlternatif tanpa domain: stack langsung bisa dibuka lewat <ip-server>:<port>. Bentrokan port ditolak saat menyimpan — lihat Akses stack.
    VariabelField dengan label dan hint dari template. Yang bertanda wajib harus diisi (mis. URL publik untuk Ghost/Gitea, Host publik untuk n8n). Sisanya: kosong = default / di-generate.
    URL publik harus sama dengan domain
    Ghost, Gitea, dan n8n memakai URL/host publik untuk membangun tautan dan webhook-nya sendiri. Isi persis sesuai hostname yang kamu pasang, termasuk skema (https://blog.example.com) — kalau berbeda, halaman admin/tautan akan salah arah.
  3. Deploy

    Kamu diarahkan ke halaman stack compose yang baru. Deploy berjalan di latar (pull image bisa beberapa menit); pantau Log aksi terakhir sampai status running.

  4. Verifikasi

    Buka hostname yang dipasang. Untuk kredensial admin awal (mis. MinIO root password, DB password) lihat env stack di tab Pengaturan — nilai yang di-generate tersimpan di sana.

Contoh: WordPress dengan domain

Dialog deploy
Project     : toko
Nama        : blog
Service     : wordpress → blog.example.com  [HTTPS ✓]
Variabel    : DB_PASSWORD (kosong → di-generate)
              DB_ROOT_PASSWORD (kosong → di-generate)

Setelah running, buka https://blog.example.com dan selesaikan wizard WordPress. Database MySQL ada di dalam stack (bukan managed database) — backup-nya jadi tanggung jawab plugin/skrip kamu, atau pindahkan ke managed database dengan mengedit compose.

Setelah deploy

  • File compose tersimpan di aoox dan bisa diedit di tab Pengaturan stack (textarea), lalu deploy ulang — mis. menambah service, mengubah image tag, atau menunjuk managed database.
  • Env stack berisi nilai variabel (termasuk yang di-generate); ubah lalu deploy ulang bila perlu.
  • Domain per service bisa ditambah/diubah lewat kartu Domain; saran service diambil dari katalog.
  • Stop / Start / Hapus sama seperti stack compose lain — Hapus menghapus volume data.

Jebakan umum

GejalaPenyebab & solusi
400: variabel wajib kosongURL/Host publik belum diisi (Ghost, Gitea, n8n).
Tautan admin mengarah ke localhost / httpURL publik tidak sama dengan domain, atau protokol n8n masih http. Perbaiki env stack, deploy ulang.
Deploy lama di deployingPull image pertama kali. Tunggu; cek Log aksi terakhir untuk progres.
MinIO tidak bisa dipakai sebagai tujuan backupPasang domain/hostname untuk service API S3 (port 9000), atau pakai endpoint internal http://<container>:9000 — stack harus di network aoox.
Belum tersedia
Template dari repo/URL kustom; upgrade versi template yang sudah di-deploy; ikon template saat offline. Batasan stack compose lainnya berlaku — lihat Stack compose.

Langkah berikutnya

Ada yang keliru? Edit halaman ini di GitLab ↗