Skip to content
Snippets Groups Projects
docker-compose.yml 1.61 KiB
Newer Older
version: "3.7"

services:
  webserver:
    build:
      context: .
      dockerfile: Dockerfile
      target: base
    volumes:
      - ./src:/app/src
      - ./templates:/app/templates
      - ./public:/app/public
      - ./nodemon.json:/app/nodemon.json
    ports:
      - "8080:8080"
    environment:
      - PORT=8080
      - DATABASE_URL=postgres://db_user:db_pass@database/db_name
      - APP_VERSION=development
      - DASHBOARD_USERNAME=admin
      - DASHBOARD_PASSWORD=admin
    command: npm run serve
  cli:
    # docker-compose -f docker-compose.dev.yml run cli
    stdin_open: true # docker run -i
    tty: true        # docker run -t
    build:
      context: .
      dockerfile: Dockerfile
      target: base
    volumes:
      - ./src:/app/src
      - ./templates:/app/templates
      - ./public:/app/public
      - ./seeds:/app/seeds
      - ./migrations:/app/migrations
    environment:
      - DATABASE_URL=postgres://db_user:db_pass@database/db_name
    command: /bin/sh
  database:
    image: postgres:14-alpine
    restart: always
    environment:
      - POSTGRES_DB=db_name
      - POSTGRES_USER=db_user
      - POSTGRES_PASSWORD=db_pass
      - PGDATA=/var/lib/postgresql/data/pgdata
    expose:
      - "5432"
    ports:
      - "5432:5432"
    volumes:
      # - postgres_data:/var/lib/postgresql/data
     - ./postgres-data:/var/lib/postgresql/data
  minio:
    image: minio/minio:latest
    restart: always
    expose:
      - 9000
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - minio_data:/data
    entrypoint: minio server /data --console-address ":9001"

volumes:
  postgres_data:
  minio_data: