# Deploying with Docker

You can deploy any BCMS-powered project using Docker by creating a simple Dockerfile and passing your environment variables at runtime.

## Example Dockerfile

```TXT
# Use Node.js base image
FROM node:20

# Create app directory
WORKDIR /app

# Copy project files
COPY . .

# Install dependencies
RUN npm install

# Build project (optional for static sites)
RUN npm run build

# Expose port
EXPOSE 3000

# Start app
CMD ["npm", "start"]
```

---

## Environment variables

Make sure to pass your BCMS environment variables:

- BCMS_API_KEY

You can add these using a .env file or directly in your docker run command:

```BASH
docker run -p 3000:3000 \
  -e BCMS_API_KEY=your-api-key \
  your-image-name
```

---

## Notes

- Adjust the port if your framework uses a different one.
- For static sites, consider serving with serve, nginx, or another static file server.
- This works with any frontend framework compatible with BCMS.