React template
The DockIY React template deploys a static React application to separate staging and production environments.
Try the deployed demo.
Stack
The production image copies the generated dist directory into an unprivileged Caddy image. It does not contain the source or build tools.
Requirements
Install these tools on your computer:
- Node.js 24+
- pnpm 11+
- Git
- Docker Engine and Docker Compose
- the DockIY CLI for deployment
Develop locally
Create a project with dockiy app init react my-app, or clone the template. Then run:
pnpm install --frozen-lockfile
pnpm devVite runs at localhost:5173. Edit files under src/ and place static assets under public/.
Verify a production build before deploying:
pnpm build
pnpm previewConfigure deployment
The DockIY base stack must already be running. In dockiy.yml at the project root, edit name and the host values under environments.staging and environments.production:
name: my-app
environments:
staging:
host: staging.example.com
compose_file: docker-compose.yml
production:
host: example.com
compose_file: docker-compose.ymlSet the VPS connection in the global DockIY config. For a checkout-specific override, create an uncommitted dockiy.config.yml in the project root. See the configuration reference for the config file locations and precedence.
The template's docker-compose.yml and files under scripts/ are already wired for deployment. Edit them only when changing the container or deployment behavior.
Deploy
Commit the application, then follow Deploying applications for the deployment, status, version, and rollback commands:
git add .
git commit -m "feat: configure application"
dockiy app deploy staging
dockiy app deploy production --version v1.0.0