63 lines
1.8 KiB
YAML
63 lines
1.8 KiB
YAML
services:
|
|
strapi:
|
|
container_name: strapi
|
|
build:
|
|
context: .
|
|
image: strapi-cms:latest
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
user: "${DOCKER_USER:-1000}:${DOCKER_GROUP:-1000}"
|
|
environment:
|
|
DATABASE_CLIENT: ${DATABASE_CLIENT}
|
|
DATABASE_HOST: strapiDB
|
|
DATABASE_NAME: ${DATABASE_NAME}
|
|
DATABASE_USERNAME: ${DATABASE_USERNAME}
|
|
DATABASE_PORT: ${DATABASE_PORT}
|
|
JWT_SECRET: ${JWT_SECRET}
|
|
ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET}
|
|
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
|
|
NODE_ENV: ${NODE_ENV}
|
|
volumes:
|
|
- ./.env:/opt/app/.env
|
|
- ./public/uploads:/opt/app/public/uploads
|
|
depends_on:
|
|
- strapiDB
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- node
|
|
- '-e'
|
|
- "fetch('http://127.0.0.1:1337/admin').then((r) => {if (r.status !== 200) throw new Error(r.status)})"
|
|
timeout: 5s
|
|
interval: 5s
|
|
retries: 3
|
|
|
|
strapiDB:
|
|
container_name: strapiDB
|
|
platform: linux/amd64
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
image: postgres:14.5-alpine
|
|
environment:
|
|
POSTGRES_USER: ${DATABASE_USERNAME}
|
|
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
|
|
POSTGRES_DB: ${DATABASE_NAME}
|
|
volumes:
|
|
- strapi-data:/var/lib/postgresql/data/
|
|
|
|
strapiAdminer:
|
|
container_name: strapiAdminer
|
|
image: adminer
|
|
restart: unless-stopped
|
|
environment:
|
|
- ADMINER_DEFAULT_SERVER=strapiDB
|
|
depends_on:
|
|
- strapiDB
|
|
|
|
volumes:
|
|
strapi-data:
|
|
|
|
networks:
|
|
strapi:
|
|
name: strapi
|
|
driver: bridge
|