version: '3.3'

services:
  #  pictrs:
  #    build:
  #      context: .
  #      dockerfile: ./Dockerfile
  #      args:
  #        UID: "${USER_ID:-1000}"
  #        GID: "${GROUP_ID:-1000}"
  #    ports:
  #      - "8080:8080"
  #      - "6669:6669"
  #    environment:
  #      - PICTRS__TRACING__CONSOLE__ADDRESS=0.0.0.0:6669
  #      - PICTRS__TRACING__OPENTELEMETRY__URL=http://jaeger:4317
  #      - RUST_BACKTRACE=1
  #    stdin_open: true
  #    tty: true
  #    volumes:
  #      - ./storage/pict-rs:/mnt
  #      - ../../:/opt/app

  # pictrs_proxy:
  #   image: asonix/pictrs-proxy:0.4.0-rc.2
  #   ports:
  #     - "8081:8081"
  #   environment:
  #     - PICTRS_PROXY_UPSTREAM=http://pictrs:8080
  #     - PICTRS_PROXY_OPENTELEMETRY_URL=http://jaeger:4317

  minio:
    image: quay.io/minio/minio
    command: server /mnt --console-address ":9001"
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - ./storage/minio:/mnt

  garage:
    image: dxflrs/garage:v0.8.3
    ports:
      - "3900:3900"
      - "3901:3901"
      - "3902:3902"
      - "3903:3903"
      - "3904:3904"
    environment:
      - RUST_LOG=info
    volumes:
      - ./storage/garage:/mnt
      - ./garage.toml:/etc/garage.toml

  postgres:
    image: postgres:15-alpine
    ports:
      - "5432:5432"
    environment:
      - PGDATA=/var/lib/postgresql/data
      - POSTGRES_DB=pictrs
      - POSTGRES_USER=pictrs
      - POSTGRES_PASSWORD=1234
    volumes:
      - ./storage/postgres:/var/lib/postgresql/data

  jaeger:
    image: jaegertracing/all-in-one:1.48
    ports:
      - "6831:6831/udp"
      - "6832:6832/udp"
      - "5778:5778"
      - "4317:4317"
      - "4138:4138"
      - "14250:14250"
      - "14268:14268"
      - "14269:14269"
      - "9411:9411"
      # To view traces, visit http://localhost:16686
      - "16686:16686"
    restart: always