version: '3.8' services: nats: container_name: fblx-nats image: nats ports: - 4222:4222 - 6222:6222 - 8222:8222 networks: - fblx postgres: container_name: fblx-postgres image: postgres:15-alpine environment: - POSTGRES_MULTIPLE_DATABASES=auth,catalog,game,player,server,session,bank,assets - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 volumes: - ./database:/var/lib/postgresql/data - ./docker/postgres:/docker-entrypoint-initdb.d networks: - fblx redis: container_name: fblx-redis image: redis:7-alpine volumes: - fblx-redis:/data networks: - fblx auth: container_name: fblx-auth build: context: . dockerfile: Dockerfile.dev args: - SERVICE=auth depends_on: - nats - postgres - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 - POSTGRES_HOST=postgres - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 - PRIVATE_KEY_FILE=private/jwt.private.pem - PUBLIC_KEY_FILE=private/jwt.public.pem - SECRET_KEY=mkt9Hngcmhbd9wX4EzGbGysDWzCo793XvvswOS+wolTVM83I1K2b/j41WwsCfsv1iS901N2rTHu2hZHbsYO3RQ== volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs - ./private:/usr/src/app/private catalog: container_name: fblx-catalog build: context: . dockerfile: Dockerfile.dev args: - SERVICE=catalog depends_on: - nats - postgres - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 - POSTGRES_HOST=postgres - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs game: container_name: fblx-game build: context: . dockerfile: Dockerfile.dev args: - SERVICE=game depends_on: - nats - postgres - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 - POSTGRES_HOST=postgres - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs player: container_name: fblx-player build: context: . dockerfile: Dockerfile.dev args: - SERVICE=player depends_on: - nats - postgres - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 - POSTGRES_HOST=postgres - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs server: container_name: fblx-server build: context: . dockerfile: Dockerfile.dev args: - SERVICE=server depends_on: - nats - postgres - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 - POSTGRES_HOST=postgres - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs session: container_name: fblx-session build: context: . dockerfile: Dockerfile.dev args: - SERVICE=session depends_on: - nats - postgres - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 - POSTGRES_HOST=postgres - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs bank: container_name: fblx-bank build: context: . dockerfile: Dockerfile.dev args: - SERVICE=bank depends_on: - nats - postgres - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 - POSTGRES_HOST=postgres - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs assets: container_name: fblx-assets build: context: . dockerfile: Dockerfile.dev args: - SERVICE=assets depends_on: - nats - postgres - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 - POSTGRES_HOST=postgres - POSTGRES_USER=freeblox - POSTGRES_PASSWORD=FREEBLOXDataBaseDEV@123 - S3_ENDPOINT=http://minio:9000 - S3_BUCKET=freeblox-assets - S3_REGION=eu-central-1 - AWS_ACCESS_KEY_ID=freeblox@freeblox.gg - AWS_SECRET_ACCESS_KEY=password volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs render: container_name: fblx-render build: context: . dockerfile: Dockerfile.render.dev depends_on: - nats - redis networks: - fblx environment: - NATS_ENTRYPOINT=nats://nats:4222 volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs web-service: container_name: fblx-web-service build: context: . dockerfile: Dockerfile.dev args: - SERVICE=freeblox-web-service depends_on: - nats networks: - fblx ports: - 4555:3000 environment: - NATS_ENTRYPOINT=nats://nats:4222 volumes: - ./apps:/usr/src/app/apps - ./libs:/usr/src/app/libs pgadmin: container_name: fblx-pgadmin image: dpage/pgadmin4 ports: - 4556:80 networks: - fblx volumes: - fblx-pgadmin:/var/lib/pgadmin environment: - PGADMIN_DEFAULT_EMAIL=freeblox@freeblox.gg - PGADMIN_DEFAULT_PASSWORD=password minio: container_name: fblx-minio image: minio/minio ports: - '9000:9000' - '9001:9001' networks: - fblx environment: - MINIO_ROOT_USER=freeblox@freeblox.gg - MINIO_ROOT_PASSWORD=password volumes: - ./storage:/data command: server --console-address ":9001" /data networks: fblx: volumes: fblx-pgadmin: fblx-redis: