2020-05-25 18:11:45 +02:00
# Installing using Docker
If you're already familiar with Docker, you are probably looking for our official Docker images over [Docker Hub ](https://hub.docker.com/r/strapi/strapi ).
[[toc]]
## Step 1: Create a `docker-compose.yaml` file
Create this `docker-compose.yaml` file in an empty folder. < br >
A fresh new Strapi application will be created where the `docker-compose.yaml` file is located.
This docker-compose defines our database and Strapi service and links them.
:::: tabs
::: tab SQLite
```yaml
version: '3'
services:
strapi:
image: strapi/strapi
volumes:
2020-07-29 15:40:26 +08:00
- ./app:/srv/app
2020-05-25 18:11:45 +02:00
ports:
- '1337:1337'
```
:::
2020-05-29 01:42:06 -07:00
::: tab PostgreSQL
2020-05-25 18:11:45 +02:00
```yaml
version: '3'
services:
strapi:
image: strapi/strapi
environment:
DATABASE_CLIENT: postgres
DATABASE_NAME: strapi
DATABASE_HOST: postgres
DATABASE_PORT: 5432
DATABASE_USERNAME: strapi
DATABASE_PASSWORD: strapi
volumes:
- ./app:/srv/app
ports:
- '1337:1337'
2020-07-29 15:40:26 +08:00
depends_on:
- postgres
2020-05-25 18:11:45 +02:00
postgres:
image: postgres
environment:
2020-07-29 15:40:26 +08:00
POSTGRES_DB: strapi
2020-05-25 18:11:45 +02:00
POSTGRES_USER: strapi
POSTGRES_PASSWORD: strapi
volumes:
- ./data:/var/lib/postgresql/data
```
:::
::: tab MongoDB
```yaml
version: '3'
services:
strapi:
image: strapi/strapi
environment:
DATABASE_CLIENT: mongo
DATABASE_NAME: strapi
DATABASE_HOST: mongo
DATABASE_PORT: 27017
DATABASE_USERNAME: strapi
DATABASE_PASSWORD: strapi
volumes:
- ./app:/srv/app
ports:
- '1337:1337'
2020-07-29 15:40:26 +08:00
depends_on:
- mongo
2020-05-25 18:11:45 +02:00
mongo:
image: mongo
environment:
2020-07-29 15:40:26 +08:00
MONGO_INITDB_DATABASE: strapi
2020-05-25 18:11:45 +02:00
MONGO_INITDB_ROOT_USERNAME: strapi
MONGO_INITDB_ROOT_PASSWORD: strapi
volumes:
2020-07-29 15:40:26 +08:00
- ./data:/data/db
2020-05-25 18:11:45 +02:00
```
:::
2020-09-15 03:54:26 -04:00
::: tab MySQL
```yaml
version: '3'
services:
strapi:
image: strapi/strapi
environment:
DATABASE_CLIENT: mysql
DATABASE_HOST: mysql
DATABASE_PORT: 3306
DATABASE_NAME: strapi
DATABASE_USERNAME: strapi
DATABASE_PASSWORD: strapi
2020-09-23 14:25:55 +02:00
DATABASE_SSL: 'false'
2020-09-15 03:54:26 -04:00
volumes:
- ./app:/srv/app
ports:
- '1337:1337'
depends_on:
- mysql
mysql:
2020-09-23 14:25:55 +02:00
image: mysql
command: mysqld --default-authentication-plugin=mysql_native_password
volumes:
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: strapi
MYSQL_DATABASE: strapi
MYSQL_USER: strapi
MYSQL_PASSWORD: strapi
2020-09-15 03:54:26 -04:00
```
:::
::: tab MariaDB
```yaml
version: '3'
services:
strapi:
image: strapi/strapi
environment:
DATABASE_CLIENT: mysql
DATABASE_HOST: mariadb
DATABASE_PORT: 3306
DATABASE_NAME: strapi
DATABASE_USERNAME: strapi
DATABASE_PASSWORD: strapi
2020-09-23 14:25:55 +02:00
DATABASE_SSL: 'false'
2020-09-15 03:54:26 -04:00
volumes:
- ./app:/srv/app
ports:
- '1337:1337'
depends_on:
- mariadb
mariadb:
2020-09-23 14:25:55 +02:00
image: mariadb
volumes:
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: strapi
MYSQL_DATABASE: strapi
MYSQL_USER: strapi
MYSQL_PASSWORD: strapi
2020-09-15 03:54:26 -04:00
```
:::
2020-05-25 18:11:45 +02:00
::::
## Step 2: Pull the latest images
```
docker-compose pull
```
## Step 3: Run the stack
```
docker-compose up -d
```