marinasundstrom / YourBrand

Prototype enterprise system for e-commerce and consulting services
97 stars 14 forks source link

Incorrect commands in Getting Started #6

Closed Conbag93 closed 7 months ago

Conbag93 commented 7 months ago

In getting-started.md - you are instructed to run the command:

docker compose -f docker-compose.deps.yml up -d

I believe it should be:

docker-compose -f docker-compose.deps.yml up -d

Moreover, when I ran that command, I got this error:

ERROR: The Compose file './docker-compose.deps.yml' is invalid because: 'name' does not match any of the regexes: '^x-'

To get past this, I had to remove the "name" attribute from the yaml file:

version: '3.4'
name: yourbrand #remove this line
marinasundstrom commented 7 months ago

@Conbag93 This is not related to the project itself. It works for me.

If you install the latest version of Docker Desktop, then the command is "docker compose" without the dash.

It seem like you don't have the latest version of Docker and Docker Compose installed. Docker Compose is included in Docker Deskrop.

I believe there is a difference in the versions.

Conbag93 commented 7 months ago

@marinasundstrom Thanks for this.

I do not use Docker Desktop because it requires a license. I am on Linux and I use docker-cli - and looking online, there does seem to be some general confusion about the availability of "docker compose" as a command because docker-compose is typically installed as its own binary.

On my machine, I get this:

docker: 'compose' is not a docker command. See 'docker --help'

Whereas docker-compose works without issue. Happy to accept that its "my issue" - but I suspect others may also run into it.

marinasundstrom commented 7 months ago

@Conbag93 What version of Compose are you running? V2? Depending on how you install it you might perhaps have got the older V1. That happened to me via the terminal on Mac.

Version V2 is available here

They also show how to make docker compose work - adding it as a plugin to the CLI.

Mine is: Docker Compose version v2.24.6-desktop.1

Conbag93 commented 7 months ago

@marinasundstrom Thank you, you are correct. I was using V1, and installing the plugin allows me to use docker compose. Sorry for the trouble!

marinasundstrom commented 7 months ago

@Conbag93 No problem. I'm glad that it helped you 🙂

Once the services are running:

You seed the database for each service using "dotnet run -- --seed" for each service.

A tip:

If you open the folder in VS Code, and you have the "Restore terminals" extension installed, then the terminals for each service will be restored. Meaning that you can start them from there.

Some of the services, like Sales, require you to sync the users and organizations. There is a terminal for that as well. But the services have to be running for that to work. You can re-run this command each time you re-seed a database for a service that requires the user data.

Under the hood IdentityManagement publishes events that are handled by subscribing services that then creates users and organizations locally.

marinasundstrom commented 7 months ago

I close this issue because it has been solved.