Ghost/.devcontainer/.docker/development.compose.yml
Chris Raible af0f26c75f
Added Dev Container setup (#21279)
no issue

- Dev Containers let you work on Ghost in a consistent, isolated
environment with all the necessary development dependencies
pre-installed. VSCode (or Cursor) can effectively run _inside_ the
container, providing a local quality development environment while
working in a well-defined, isolated environment.
- For now the default setup only works with "Clone repository in
Container Volume" or "Clone PR in Container Volume" — this allows for a
super quick and simple setup. We can also introduce another
configuration to allow opening an existing local checkout in a Dev
Container, but that's not quite ready yet.
- This PR also added the `yarn clean:hard` command which: deletes all
node_modules, cleans the yarn cache, and cleans the NX cache. This will
be necessary for opening a local checkout in a Dev Container.
- To learn more about Dev Containers, read this guide from VSCode:
https://code.visualstudio.com/docs/devcontainers/containers#_personalizing-with-dotfile-repositories

---------

Co-authored-by: Joe Grigg <joe@ghost.org>
Co-authored-by: Steve Larson <9larsons@gmail.com>
2024-10-24 11:15:08 -07:00

38 lines
935 B
YAML

# Development container with Ghost code and dependencies pre-installed
## Watches your local filesystem and syncs changes to the container
## Intended for use with raw docker compose commands
name: ghost-development
services:
ghost:
image: ghost-development
build:
target: development
command: ["yarn", "dev"]
volumes:
- ../../.yarncache:/workspaces/ghost/.yarncache
develop:
watch:
- path: ../../
action: sync
target: /workspaces/ghost
ignore:
- node_modules/
- .yarncache/
- path: yarn.lock
action: rebuild
ports:
- 2368:2368
- 4200:4200
- 4173:4173
- 41730:41730
- 4175:4175
- 4176:4176
- 4177:4177
- 4178:4178
- 6174:6174
- 7173:7173
- 7174:7174
- 9174:9174
environment:
- DEBUG=${DEBUG:-}
- APP_FLAGS=${APP_FLAGS:-}