// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-docker-compose
{
	"name": "Tianji Devcontainer",

	// Update the 'dockerComposeFile' list if you have more compose files or use different names.
	// The .devcontainer/docker-compose.yml file contains any overrides you need/want to make.
	"dockerComposeFile": [
		"docker-compose.yml"
	],

	// The 'service' property is the name of the service for the container that VS Code should
	// use. Update this value and .devcontainer/docker-compose.yml to the real service name.
	"service": "devcontainer",

	// The optional 'workspaceFolder' property is the path VS Code should open by default when
	// connected. This is typically a file mount in .devcontainer/docker-compose.yml
	"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
	"containerEnv": {
		"DATABASE_URL": "postgresql://tianji:tianji@postgres:5432/tianji",
		"JWT_SECRET": "tianji-any-string",
		"ALLOW_REGISTER": "false",
		"ALLOW_OPENAPI": "true"
	},

	// Features to add to the dev container. More info: https://containers.dev/features.
	// "features": {},

	// Use 'forwardPorts' to make a list of ports inside the container available locally.
	"forwardPorts": [12345],

	// Uncomment the next line if you want start specific services in your Docker Compose config.
	// "runServices": [],

	// Uncomment the next line if you want to keep your containers running after VS Code shuts down.
	// "shutdownAction": "none",

	// Uncomment the next line to run commands after the container is created.
	"postCreateCommand": "pnpm install && pnpm db:migrate:apply",

	// Configure tool-specific properties.
	"customizations": {
		"vscode": {
			"extensions": [
				"maattdd.gitless",
				"esbenp.prettier-vscode",
				"njzy.stats-bar",
				"bradlc.vscode-tailwindcss",
				"dbaeumer.vscode-eslint"
			]
		}
	},

	// Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root.
	// "remoteUser": "devcontainer"
}