cms.nicwands.com/docker-compose.yml
2026-06-08 11:56:02 -04:00

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