{
  "base_url": "https://mixnz.github.io/mixengine/",
  "locales": [
    "en",
    "vi"
  ],
  "pages": [
    {
      "html": "https://mixnz.github.io/mixengine/en/index/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/index.md",
      "order": 1,
      "sha256": "1746d75fba44141728cffe386739e92668ef9e2ee5eeedd0e86e127b46ffdc21",
      "slug": "index",
      "summary": "Run PHP, Node, Python and Ruby locally on any version, with real domains and HTTPS, without Docker.",
      "title": "MixEngine",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/install/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/install.md",
      "order": 2,
      "sha256": "ef85700dde4ece5cdbaee2de27a2a17cb90f55f29964dae7f6fabd826adcee4f",
      "slug": "install",
      "summary": "The installer for your system, what it touches, what it deliberately does not, and how to check what you downloaded.",
      "title": "Installing MixEngine",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/getting-started/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/getting-started.md",
      "order": 3,
      "sha256": "64e315a8bd96323e454a312ece56e906785168785eb8d9ea043663c14a02b1e6",
      "slug": "getting-started",
      "summary": "From a fresh install to https://blog.test with a green padlock, in about five minutes.",
      "title": "Your first site",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/projects-and-sites/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/projects-and-sites.md",
      "order": 4,
      "sha256": "56b7dd0910fb458a5e7f716e7c777c72a5e8679b65e35543fe2118ea96aaa407",
      "slug": "projects-and-sites",
      "summary": "The two nouns MixEngine is built on, what each one owns, and how a checkout carries its own setup.",
      "title": "Projects and sites",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/runtimes/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/runtimes.md",
      "order": 5,
      "sha256": "81084da73c0bbe86652045b3a7371b86aa806a501ee6810f07687b18c44c9e59",
      "slug": "runtimes",
      "summary": "Install as many versions as you need, and let each directory choose its own — with no shell hook and nothing to remember.",
      "title": "PHP, Node, Python and Ruby versions",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/services/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/services.md",
      "order": 6,
      "sha256": "22766d1ae1cb1fdb29b092d328766dfb72452f6dac8f12faed6eb5f587b161d9",
      "slug": "services",
      "summary": "Caddy or Nginx, MariaDB, MySQL, PostgreSQL, Redis and Memcached — installed on request, configured for you, and never printing a password.",
      "title": "Servers, databases and caches",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/domains-and-https/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/domains-and-https.md",
      "order": 7,
      "sha256": "90c2527c0a658a9455f940d9e78e0b60d4bfdd40405d32b643e72ea210d38eb3",
      "slug": "domains-and-https",
      "summary": "How blog.test reaches your machine, which certificate signed it, and how to find out when the padlock is not green.",
      "title": "Names and the padlock",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/sharing/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/sharing.md",
      "order": 8,
      "sha256": "2d14ee84cd99cb074e66340722c8560f9ea11b1e79e04daffb09ba54e19791c6",
      "slug": "sharing",
      "summary": "Put one site on the local network, scan a QR code, and take it back off again — one site, one port, one rule.",
      "title": "Showing a site to your phone",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/blueprints/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/blueprints.md",
      "order": 9,
      "sha256": "2e55952379978471af5dd9c8e3ca6a4db07648a96bbfe2a520c9c798e5beb661",
      "slug": "blueprints",
      "summary": "Write down what a project is made of, and set the same thing up again somewhere else — or on somebody else's machine.",
      "title": "Blueprints",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/extensions/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/extensions.md",
      "order": 10,
      "sha256": "1832ed973ed067f3cdd49db998aa0cdec4c5688ea742f2eca5dfdda1a83dbb6b",
      "slug": "extensions",
      "summary": "The tools you reach for beside the stack — phpMyAdmin, Mailpit, MinIO — installed from a signed registry, with what each one may do shown before you agree.",
      "title": "Extensions",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/permissions/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/permissions.md",
      "order": 11,
      "sha256": "54d6555f30ab6103bc0e64b0ff5ce087abfda787656fd83ac7fb0747ace568f7",
      "slug": "permissions",
      "summary": "Every administrator prompt MixEngine can raise, what each one literally changes, and why nothing of MixEngine's ever stays running as root.",
      "title": "What MixEngine asks permission for",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/updating/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/updating.md",
      "order": 12,
      "sha256": "41086d8cb9d4d8c76f67151815a7b9b554bb3ec2880e29b672788c7016f57f8c",
      "slug": "updating",
      "summary": "Updates are opt-in, checked against a signature, and rehearsed before anything is replaced — and one binary is deliberately never replaced this way.",
      "title": "Keeping MixEngine current",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/uninstalling/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/uninstalling.md",
      "order": 13,
      "sha256": "4d43c190c8f39b1f40bf0d067e5469e0e78057aa6a3e1ab15b0a6e972bb9c2bc",
      "slug": "uninstalling",
      "summary": "Undo everything MixEngine wrote outside its own directory, see the list before you agree, and keep your databases if you want them.",
      "title": "Removing MixEngine",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/troubleshooting/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/troubleshooting.md",
      "order": 14,
      "sha256": "f884545cb7911fdc318dc26012d1694b601e2e711a57d27cc9418bd80f94d6cc",
      "slug": "troubleshooting",
      "summary": "mix doctor first, then the four commands that answer the questions people actually have — and one file that holds everything a bug report needs.",
      "title": "When something is wrong",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/cli/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/cli.md",
      "order": 15,
      "sha256": "b33ed2f4c4ea92ab2595b9c20a5e3ead6dbdba481770b87da1b0a25ad8185bdf",
      "slug": "cli",
      "summary": "Every mix command and every flag, generated from the binary's own definitions.",
      "title": "Command reference",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/en/for-agents/",
      "locale": "en",
      "markdown": "https://mixnz.github.io/mixengine/en/for-agents.md",
      "order": 16,
      "sha256": "4875420b2b2580104d894441a7b4f61922d55407593cc3c73341572997e390c2",
      "slug": "for-agents",
      "summary": "Every page of this handbook is plain Markdown at a guessable address, with a manifest, a single-file bundle, and the same bytes inside the mix binary.",
      "title": "Reading this as a program",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/index/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/index.md",
      "order": 1,
      "sha256": "c5d76f91d3cbdb3699afd5d33405fe79df80fb1881063398df5fb51ce451c99f",
      "slug": "index",
      "summary": "Chạy PHP, Node, Python và Ruby ngay trên máy với đúng phiên bản bạn cần, có tên miền thật và HTTPS, không cần Docker.",
      "title": "MixEngine",
      "translation_of": "en/index.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/install/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/install.md",
      "order": 2,
      "sha256": "4359497022a5d990c34688d132180ffd9258f680a31a1015701b8b444337f44f",
      "slug": "install",
      "summary": "Bộ cài cho hệ điều hành của bạn, nó đụng vào những gì, cố ý không đụng vào những gì, và cách kiểm tra file vừa tải.",
      "title": "Cài đặt MixEngine",
      "translation_of": "en/install.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/getting-started/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/getting-started.md",
      "order": 3,
      "sha256": "cf01d5946c6eb7b23dd8ab5f3bd30b676e83337d01eaa73cac61e3431ed620ca",
      "slug": "getting-started",
      "summary": "Từ máy vừa cài xong tới https://blog.test với ổ khóa xanh, mất khoảng năm phút.",
      "title": "Site đầu tiên của bạn",
      "translation_of": "en/getting-started.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/projects-and-sites/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/projects-and-sites.md",
      "order": 4,
      "sha256": "32416d51494bc070200bf03d351b9d12855f363effac9d67d07abfcc5a2887ff",
      "slug": "projects-and-sites",
      "summary": "Hai khái niệm cốt lõi của MixEngine, mỗi cái quản những gì, và cách một bản checkout mang theo cấu hình của chính nó.",
      "title": "Dự án và site",
      "translation_of": "en/projects-and-sites.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/runtimes/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/runtimes.md",
      "order": 5,
      "sha256": "7de647c5fa1d5b7984e195a79c765bdab66ca8a21e8dd768c4b06effc3125f03",
      "slug": "runtimes",
      "summary": "Cài bao nhiêu phiên bản tùy bạn, và để mỗi thư mục tự chọn phiên bản của nó. Không hook shell, không phải nhớ gì cả.",
      "title": "Phiên bản PHP, Node, Python và Ruby",
      "translation_of": "en/runtimes.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/services/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/services.md",
      "order": 6,
      "sha256": "da16d52c88d03e82d0dbd1b911b9d1252419e5a5ee021aa9437b3008d4278963",
      "slug": "services",
      "summary": "Caddy hoặc Nginx, MariaDB, MySQL, PostgreSQL, Redis và Memcached. Cài khi bạn yêu cầu, cấu hình sẵn cho bạn, và không bao giờ in mật khẩu ra màn hình.",
      "title": "Máy chủ, cơ sở dữ liệu và bộ nhớ đệm",
      "translation_of": "en/services.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/domains-and-https/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/domains-and-https.md",
      "order": 7,
      "sha256": "2f3dfaef14e15c98f963d2906866d88dd8897932805e72b8619fdabe3a13d644",
      "slug": "domains-and-https",
      "summary": "Vì sao blog.test trỏ về máy bạn, ai ký chứng chỉ cho nó, và cách tìm ra vấn đề khi ổ khóa không xanh.",
      "title": "Tên miền và ổ khóa",
      "translation_of": "en/domains-and-https.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/sharing/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/sharing.md",
      "order": 8,
      "sha256": "6c1aa206a837a5dac1ec2850dc4c25c74da7d3711fc16b0406a7e5dad66ae987",
      "slug": "sharing",
      "summary": "Đưa đúng một site ra mạng nội bộ, quét mã QR, rồi rút nó về. Một site, một cổng, một luật.",
      "title": "Cho điện thoại xem site của bạn",
      "translation_of": "en/sharing.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/blueprints/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/blueprints.md",
      "order": 9,
      "sha256": "95ac1568d7f949a38da8eda5d72cdb86a65f3c45b0d3e8ca2f9d4b9fe0c3c86f",
      "slug": "blueprints",
      "summary": "Ghi lại một dự án gồm những gì, rồi dựng lại y hệt ở nơi khác, hoặc trên máy của người khác.",
      "title": "Blueprint",
      "translation_of": "en/blueprints.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/extensions/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/extensions.md",
      "order": 10,
      "sha256": "88ad200702d19d6d5c20679a1d2617dc09a3951a5ac4d64ff95d905fb80724c4",
      "slug": "extensions",
      "summary": "Những công cụ đi kèm stack như phpMyAdmin, Mailpit, MinIO. Cài từ một registry có chữ ký, và cho bạn xem mỗi cái được phép làm gì trước khi đồng ý.",
      "title": "Extension",
      "translation_of": "en/extensions.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/permissions/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/permissions.md",
      "order": 11,
      "sha256": "58810e4c5953f1ff183a9899ed2728aedd89ecb9cf3b1cd83a473aaaa59ecd4c",
      "slug": "permissions",
      "summary": "Mọi hộp thoại quyền quản trị mà MixEngine có thể hiện lên, mỗi cái thay đổi chính xác điều gì, và vì sao không có gì của MixEngine chạy thường trực với quyền root.",
      "title": "MixEngine xin quyền để làm gì",
      "translation_of": "en/permissions.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/updating/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/updating.md",
      "order": 12,
      "sha256": "5289be8a6960ef49f65d70f0e83e3574baee8a717c68b12b4cd6d62e6a552211",
      "slug": "updating",
      "summary": "Cập nhật do bạn quyết, có kiểm tra chữ ký, và có chạy thử trước khi thay bất cứ thứ gì. Riêng một chương trình cố ý không bao giờ được thay theo đường này.",
      "title": "Giữ MixEngine luôn mới",
      "translation_of": "en/updating.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/uninstalling/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/uninstalling.md",
      "order": 13,
      "sha256": "b5578519c2b18ef6ab37b7b29ee9cc8b21bc8d471e56ca6d57d64efd6d2e08c7",
      "slug": "uninstalling",
      "summary": "Hoàn tác mọi thứ MixEngine đã ghi bên ngoài thư mục của nó, xem danh sách trước khi đồng ý, và giữ lại cơ sở dữ liệu nếu bạn muốn.",
      "title": "Gỡ MixEngine",
      "translation_of": "en/uninstalling.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/troubleshooting/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/troubleshooting.md",
      "order": 14,
      "sha256": "707d1b1d29b5085d046b4e6d386f08533fdad03e08cd8cb16e1f9386e56a4078",
      "slug": "troubleshooting",
      "summary": "Chạy mix doctor trước, rồi bốn lệnh trả lời đúng những câu hỏi người dùng hay gặp, và một file gom đủ mọi thứ một báo cáo lỗi cần.",
      "title": "Khi có gì đó không ổn",
      "translation_of": "en/troubleshooting.md"
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/cli/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/cli.md",
      "order": 15,
      "sha256": "80750d714464e1c605524468582a5f9fb768c88bd11148cec034d080c8165cd9",
      "slug": "cli",
      "summary": "Danh sách đầy đủ mọi lệnh mix, sinh tự động từ chính chương trình. Chỉ có bản tiếng Anh, và đây là lý do.",
      "title": "Tham chiếu lệnh",
      "translation_of": null
    },
    {
      "html": "https://mixnz.github.io/mixengine/vi/for-agents/",
      "locale": "vi",
      "markdown": "https://mixnz.github.io/mixengine/vi/for-agents.md",
      "order": 16,
      "sha256": "d5d27657475daa93ed08743d8b05dd05d7891d543c34decb720411929a0f6539",
      "slug": "for-agents",
      "summary": "Mọi trang của cẩm nang này đều là Markdown thuần tại một địa chỉ dễ đoán, kèm một manifest, một file gộp, và cùng nội dung đó nằm sẵn trong chương trình mix.",
      "title": "Đọc cẩm nang này bằng chương trình",
      "translation_of": "en/for-agents.md"
    }
  ],
  "product": "MixEngine",
  "version": "0.0.2"
}
