# Docker (πŸ‘ Recommended) ## 0. Prerequisites ⚑⚑ Please make sure you have installed [Docker](https://docs.docker.com/get-docker/) ## 1. Download NocoBase Download with Git (or Download Zip,and extract it to the nocobase directory) ```bash git clone https://github.com/nocobase/nocobase.git nocobase ``` ## 2. Select database (choose one) Change the directory to the folder downloaded in the first step. ```bash # MacOS, Linux... cd /your/path/nocobase # Windows cd C:\your\path\nocobase ``` The docker configuration of different databases is slightly different, please choose to switch to the corresponding directory. ### SQLite ```bash cd docker/app-sqlite ``` ### MySQL ```bash cd docker/app-mysql ``` ### PostgreSQL ```bash cd docker/app-postgres ``` ## 3. Configure docker-compose.yml (optional) Non-developers skip this step. If you know development, you can also learn more about how to configure `docker-compose.yml`. Directory structure (related to docker) ```bash β”œβ”€β”€ nocobase β”œβ”€β”€ docker β”œβ”€β”€ app-sqlite β”œβ”€β”€ storage β”œβ”€β”€ docker-compose.yml β”œβ”€β”€ app-mysql β”œβ”€β”€ storage β”œβ”€β”€ docker-compose.yml β”œβ”€β”€ app-postgres β”œβ”€β”€ storage β”œβ”€β”€ docker-compose.yml ``` Configuration notes for `docker-compose.yml`: SQLite only has app service, PostgreSQL and MySQL will have corresponding postgres or mysql service, you can use the example database service or configure it yourself. ```yml services: app: postgres: mysql: ``` App port, the URL is `http://your-ip:13000/` ```yml services: app: ports: - "13000:80" ``` NocoBase version ([click here for the latest version](https://hub.docker.com/r/nocobase/nocobase/tags)). When upgrading, you need to change to the latest version. ```yml services: app: image: nocobase/nocobase:main ``` Environment variables ```yml services: app: image: nocobase/nocobase:main environment: - DB_DIALECT=postgres - DB_HOST=postgres - DB_DATABASE=nocobase - DB_USER=nocobase - DB_PASSWORD=nocobase - LOCAL_STORAGE_BASE_URL=/storage/uploads ``` - `DB_*` is the database related, if it is not the default database service of the example, please change it according to the actual situation. - `LOCAL_STORAGE_BASE_URL` is the base URL for local storage, if it is not a local installation, you need to change it to the corresponding ip or domain name. ## 4. Install and start NocoBase It may take a few minutes ```bash # pull service images $ docker-compose pull # run in the background $ docker-compose up -d # view app logs $ docker-compose logs app app-sqlite-app-1 | nginx started app-sqlite-app-1 | yarn run v1.22.15 app-sqlite-app-1 | $ cross-env DOTENV_CONFIG_PATH=.env node -r dotenv/config packages/app/server/lib/index.js install -s app-sqlite-app-1 | Done in 2.72s. app-sqlite-app-1 | yarn run v1.22.15 app-sqlite-app-1 | $ pm2-runtime start --node-args="-r dotenv/config" packages/app/server/lib/index.js -- start app-sqlite-app-1 | 2022-04-28T15:45:38: PM2 log: Launching in no daemon mode app-sqlite-app-1 | 2022-04-28T15:45:38: PM2 log: App [index:0] starting in -fork mode- app-sqlite-app-1 | 2022-04-28T15:45:38: PM2 log: App [index:0] online app-sqlite-app-1 | πŸš€ NocoBase server running at: http://localhost:13000/ ``` ## 4. Log in to NocoBase Open [http://localhost:13000](http://localhost:13000) in a web browser. The initial account and password are `admin@nocobase.com` and `admin123`.