web-service/docker-compose.yml

272 lines
6.2 KiB
YAML

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: