Skip to content

feat: Development Container#159

Merged
BrianDangDev merged 12 commits intothoth-tech:mainfrom
SteveDala:feat/dev-container
Jan 31, 2026
Merged

feat: Development Container#159
BrianDangDev merged 12 commits intothoth-tech:mainfrom
SteveDala:feat/dev-container

Conversation

@SteveDala
Copy link
Copy Markdown
Collaborator

@SteveDala SteveDala commented Jan 18, 2026

Description

The motivation behind this work is to create a reproducible environment to work on the Thoth Tech documentation. Further to not wanting to install node.js on my Windows machine, I prefer to open a Docker or development container and just go from there. This should also solve any cross-platform dependency problems among team members.

This PR is inspired by thoth-tech/doubtfire-astro #64.

Type of change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

  1. Open the repository folder in VSCode. VSCode should have the "Remote Development Extension Pack" installed.
  2. Using the command palette (Ctrl + Shift + P on Windows), use the command "Reopen in Container".
  3. Wait for the container to build.
  4. When the container is built, astro v4.16.19 will report that the site is ready at http://localhost:4321.

Note well that after the container is up and running, the site still needs to compile before the server is ready to show the output on localhost:4321; the last local run I did with VSCode took 2 minutes to compile after the server was up. This is because the site is quite bloated and requires cleanup that is outside of the scope of this new feature addition.

  1. Vite should watch your container's mount of the src/content/docs directory for any changes and rebuild when changes are made.

Testing Checklist

  • [ ] Have run npm run format - This would make the diff for this change impossible to read. This needs its own PR.
  • Have run npm run build
  • Have run npm run dev and/or npm run preview, using:
    • Chrome/Edge
    • Safari
    • Firefox - Note: you may need to use the IPv6 http://[::1]:4321

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have requested a review from the Documentation Team on the Pull Request

This is a very similar setup to the development container that
was recently pushed to `doubtfire-astro`, since this is a very
similar project also being an Astro/Starlight repository.
@netlify
Copy link
Copy Markdown

netlify bot commented Jan 18, 2026

Deploy Preview for thoth-tech ready!

Name Link
🔨 Latest commit 18f78fd
🔍 Latest deploy log https://app.netlify.com/projects/thoth-tech/deploys/697df5c08c20a60008296125
😎 Deploy Preview https://deploy-preview-159--thoth-tech.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@SteveDala SteveDala marked this pull request as ready for review January 25, 2026 07:24
@SteveDala SteveDala changed the title Feat/dev container feat: Development Container Jan 25, 2026
Copy link
Copy Markdown

@ishika021 ishika021 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just went through the devcontainer config added in this pull request and it all looks really well thought out and it should ultimately make local development easier and more consistent for contributors.

The good stuff:

  • A new .devcontainer/devcontainer.json file has been created as part of this PR which uses Docker Compose as well as forwarding port 4321, which is also a standard and clear way of doing things.
  • There is also a .devcontainer/docker-compose.yml file containing proper bind mounts and a named node_modules volume which is a good pattern for a devcontainer and will help reduce problems with local environments.
  • The removal of .devcontainer/Dockerfile also makes sense as the devcontainer now uses the Dockerfile from the root, making it easier to maintain a single build config.

Things to note/suggest:

  • Along with the devcontainer changes, there were a few other changes committed in the PR (e.g. the regeneration of a package-lock and an upstream merge) which if possible, could have been better split into another PR, helping to keep the scope of the change focused.
  • The devcontainer currently forwards port 4321, so to confirm that this is indeed the correct development port, it would be good to make sure that all the configuration files/ documentation are consistent, in case the port does change.

I think all of the changes are good, and will help to create a better experience for developers.

@SteveDala
Copy link
Copy Markdown
Collaborator Author

@BrianDangDev an approving review from you when possible would be greatly appreciated.

@BrianDangDev
Copy link
Copy Markdown
Contributor

Hi @SteveDala, can you check the workflow error? It seems those files have extra whitespace at the bottom, which caused the workflow to fail
image

@SteveDala
Copy link
Copy Markdown
Collaborator Author

Thanks for the heads up @BrianDangDev, I believe the issue is that those files had no trailing empty line. This has now been fixed. Could you kick off the workflow again and approve if successful?

@SteveDala
Copy link
Copy Markdown
Collaborator Author

SteveDala commented Jan 31, 2026

@BrianDangDev looks like #164 (prettier lint) may have to be merged first in order to successfully pass the checks.

@BrianDangDev
Copy link
Copy Markdown
Contributor

fewer warning messages this time, almost there👍
image

@SteveDala
Copy link
Copy Markdown
Collaborator Author

@BrianDangDev I have resolved all build and linting issues. An approving review is still required from you to merge this change if appropriate.

@BrianDangDev BrianDangDev merged commit ac77e08 into thoth-tech:main Jan 31, 2026
5 checks passed
@SteveDala SteveDala deleted the feat/dev-container branch April 3, 2026 04:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants