version: '3.8' services: strapi: build: context: ./server dockerfile: Dockerfile container_name: pole-book-strapi-app restart: unless-stopped ports: - "1337:1337" env_file: - .env environment: DATABASE_CLIENT: ${DATABASE_CLIENT} DATABASE_HOST: ${DATABASE_HOST} DATABASE_PORT: ${DATABASE_PORT} DATABASE_NAME: ${DATABASE_NAME} DATABASE_USERNAME: ${DATABASE_USERNAME} DATABASE_PASSWORD: ${DATABASE_PASSWORD} DATABASE_SSL: ${DATABASE_SSL} NODE_ENV: ${NODE_ENV} JWT_SECRET: ${JWT_SECRET} ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET} APP_KEYS: ${APP_KEYS} API_TOKEN_SALT: ${API_TOKEN_SALT} TRANSFER_TOKEN_SALT: ${TRANSFER_TOKEN_SALT} volumes: - ../pole-book-data/public/uploads:/opt/app/public/uploads - ../pole-book-data/.tmp:/opt/app/.tmp depends_on: postgres: condition: service_healthy healthcheck: test: ["CMD", "nc", "-z", "localhost", "1337"] interval: 10s timeout: 5s retries: 5 start_period: 30s networks: - strapi-network postgres: image: postgres:15-alpine container_name: pole-book-strapi-postgres restart: unless-stopped env_file: - docker-compose.env environment: POSTGRES_DB: ${DATABASE_NAME} POSTGRES_USER: ${DATABASE_USERNAME} POSTGRES_PASSWORD: ${DATABASE_PASSWORD} volumes: - ../pole-book-data/postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DATABASE_USERNAME} -d ${DATABASE_NAME}"] interval: 10s timeout: 5s retries: 5 start_period: 10s networks: - strapi-network volumes: postgres_data: networks: strapi-network: driver: bridge