46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
### Building and running your application
|
|
|
|
When you're ready, start your application by running:
|
|
`docker compose up --build`.
|
|
|
|
Your application will be available at http://localhost:8080.
|
|
|
|
### Deploying your application to the cloud
|
|
|
|
First, build your image, e.g.: `docker build -t myapp .`.
|
|
If your cloud uses a different CPU architecture than your development
|
|
machine (e.g., you are on a Mac M1 and your cloud provider is amd64),
|
|
you'll want to build the image for that platform, e.g.:
|
|
`docker build --platform=linux/amd64 -t myapp .`.
|
|
|
|
Then, push it to your registry, e.g. `docker push myregistry.com/myapp`.
|
|
|
|
Consult Docker's [getting started](https://docs.docker.com/go/get-started-sharing/)
|
|
docs for more detail on building and pushing.
|
|
|
|
### References
|
|
* [Docker's .NET guide](https://docs.docker.com/language/dotnet/)
|
|
* The [dotnet-docker](https://github.com/dotnet/dotnet-docker/tree/main/samples)
|
|
repository has many relevant samples and docs.
|
|
|
|
### Dependencies
|
|
|
|
bash (/usr/bin/bash)
|
|
|
|
Python 3.10.2 (/usr/bin/python3)
|
|
- python3-pip
|
|
- python3-venv
|
|
|
|
pkg-config (sudo apt update && sudo apt install pkg-config)
|
|
|
|
### Notes
|
|
|
|
Try Running NuGet restore when ANTLR doesn't generate Lexer or Parser
|
|
|
|
### TODO
|
|
- Make entrypoint, i.e. main.py, customizable or fixed?
|
|
- Figure out why BashException cannot be caught, can it be due to the differences in scoping?
|
|
Because the `Bash` class is static and the services calling `Bash.ExecuteAsync` are in the container.
|
|
Maybe this in combination with the async nature of the whole thing?
|
|
- Make it so that `Bash.ExecuteAsync` can run "directly" in the calling terminal also.
|
|
- This will improve the usability of the "m4g run" command. |