Go to file
2024-04-22 20:25:20 +02:00
MycroForge.CLI Clean up 2024-04-22 20:25:20 +02:00
MycroForge.Parsing Renamed MicroForge to MycroForge 2024-04-22 09:56:39 +02:00
.dockerignore Renamed MicroForge to MycroForge 2024-04-22 09:56:39 +02:00
.gitignore Initial commit 2024-04-21 23:56:27 +02:00
Dockerfile Renamed MicroForge to MycroForge 2024-04-22 09:56:39 +02:00
MycroForge.sln Renamed MicroForge to MycroForge 2024-04-22 09:56:39 +02:00
README.Docker.md Renamed MicroForge to MycroForge 2024-04-22 09:56:39 +02:00

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 docs for more detail on building and pushing.

References

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.