Skip to content

Refactor development container configuration and local development environment - #5048

Open
clark-lawson wants to merge 5 commits into
VATSIM-UK:mainfrom
clark-lawson:dev-container-rework
Open

Refactor development container configuration and local development environment#5048
clark-lawson wants to merge 5 commits into
VATSIM-UK:mainfrom
clark-lawson:dev-container-rework

Conversation

@clark-lawson

Copy link
Copy Markdown

Summary

This PR reworks the project's development container configuration to provide a more consistent and maintainable local development experience.

The goal is to simplify onboarding, improve developer productivity, and make the development environment more reliable across machines and environments.

Changes

  • Reorganise the development container configuration
  • Improve container build and startup process
  • Update development tooling and configuration
  • Clean up obsolete configuration and scripts
  • Improve maintainability of the dev container setup

Benefits

  • Faster and more consistent developer onboarding
  • Reduced environment-specific issues
  • Easier maintenance of the development environment
  • Better alignment with current Dev Container best practices

Testing

  • Development container builds successfully
  • Repository opens correctly inside the container
  • Application dependencies install successfully
  • Development workflow verified within the container

Notes

This change only affects the development environment and does not modify application runtime behaviour or production deployments.

@kristiankunc kristiankunc Jul 31, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please get rid of the comments there - they are very redundant

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not sure what to think about this - sure ps1 is good for windows but I'd rather go for something platform-agnostic like bash (with git bash on windows)

echo "No database tables found. Recreating the database and seeding default data."

php artisan cts:migrate:fresh
php artisan migrate

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Migrations can be safely re-ran and have to be ran every time a new one is added which the condition here does not know. CTS should probably be ran only once

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It may be worth checking https://github.com/devcontainers/features/tree/main/src/git
It works pretty well and we use it in our devcontainer setup for ukcp https://github.com/VATSIM-UK/uk-controller-api/blob/main/.devcontainer/devcontainer.json

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove redundant comments pls

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can we possibly leave this present for backwards compatibility at least for now? Can be moved to another file if you wanna use it but I'd defo keep it

@kristiankunc kristiankunc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey, overall I like the idea but there seems to be an insane amount of helper scripts which I feel are not really needed. I'd suggest taking a look at the ukcp-api repo which has a working devcontainer setup and works quite nicely - https://github.com/VATSIM-UK/uk-controller-api

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants