# Build and start from this directory: # docker compose build # docker compose up -d # # Build context is the psf-memo monorepo root (../../../) so each # image copies its package from the local checkout rather than cloning # separate GitHub repositories. services: memo-db: build: context: ../../.. dockerfile: psf-memo-indexer/production/docker/memo-db/Dockerfile container_name: memo-db logging: driver: json-file options: max-size: 10m max-file: '10' ports: - '5021:5021' volumes: - ../data/leveldb:/home/safeuser/psf-memo-db/leveldb - ./memo-db/start-memo-db.sh:/home/safeuser/psf-memo-db/start-memo-db.sh - ./memo-db/.env:/home/safeuser/psf-memo-db/.env restart: always tx-indexer: build: context: ../../.. dockerfile: psf-memo-indexer/production/docker/tx-indexer/Dockerfile image: memo-tx-indexer container_name: memo-tx-indexer logging: driver: json-file options: max-size: 10m max-file: '10' ports: - '5455:5455' volumes: - ./tx-indexer/start-tx-indexer.sh:/home/safeuser/psf-memo-indexer/start-tx-indexer.sh - ./tx-indexer/.env:/home/safeuser/psf-memo-indexer/.env restart: always block-indexer: build: context: ../../.. dockerfile: psf-memo-indexer/production/docker/block-indexer/Dockerfile image: memo-block-indexer container_name: memo-block-indexer logging: driver: json-file options: max-size: 10m max-file: '10' volumes: - ./block-indexer/start-block-indexer.sh:/home/safeuser/psf-memo-indexer/start-block-indexer.sh - ./block-indexer/.env:/home/safeuser/psf-memo-indexer/.env restart: always memo-client: build: context: ../../.. dockerfile: psf-memo-indexer/production/docker/memo-client/Dockerfile image: memo-client container_name: memo-client logging: driver: json-file options: max-size: 10m max-file: '10' ports: - '3000:80' restart: always