77 lines
1.7 KiB
Markdown
77 lines
1.7 KiB
Markdown
# 🐳 kiro-server Dev Container with Docker-in-Docker
|
||
|
||
A developer container powered by [kiro-server](https://github.com/kiro/kiro-server), with full Docker CLI support via Docker-in-Docker (DinD). Authentication and user setup is driven by environment variables via `.env` – ideal for ephemeral, configurable environments.
|
||
|
||
## Features
|
||
|
||
- 💻 kiro-server (VS Code in the browser)
|
||
- 🐳 Docker-in-Docker (DinD)
|
||
- 🔐 Password or hashed password auth via `.env`
|
||
- 👤 Dynamic user configuration (UID, GID, password)
|
||
- ⚙️ Preinstalled: Docker, AWS CLI v2, kubectl, eksctl, Node.js, Python, Java, etc.
|
||
|
||
## Build
|
||
|
||
```bash
|
||
docker build -t kiro-server-dind .
|
||
```
|
||
|
||
## Environment Configuration (`.env`)
|
||
|
||
Create a `.env` file to define user credentials and setup:
|
||
|
||
```env
|
||
DOCKER_USER=coder
|
||
UID=1000
|
||
GID=1000
|
||
PASSWORD=yourpassword
|
||
```
|
||
|
||
> **Note:** Set only one of `PASSWORD` or `HASHED_PASSWORD`. Use `PASSWORD=none` to disable authentication.
|
||
|
||
## Run
|
||
|
||
```bash
|
||
docker run --rm -it \
|
||
--privileged \
|
||
-v kiro-server-home:/home/coder \
|
||
--env-file .env \
|
||
-p 8080:80 \
|
||
kiro-server-dind
|
||
```
|
||
|
||
## Volume
|
||
|
||
All work is persisted in `/home/coder`, mounted via Docker volume `kiro-server-home`.
|
||
|
||
## Authentication Modes
|
||
|
||
- `PASSWORD=yourpass`: sets a plain password.
|
||
|
||
## Access
|
||
|
||
Once running, visit: [http://localhost:8080](http://localhost:8080)
|
||
Login using the credentials defined in `.env`.
|
||
|
||
## Tooling Included
|
||
|
||
- Docker CLI
|
||
- AWS CLI v2
|
||
- kubectl (`v1.33.0`)
|
||
- eksctl
|
||
- Node.js + npm
|
||
- Python 3 + venv + pipx
|
||
- Java Runtime (default-jre)
|
||
- siege, jq, git, etc.
|
||
|
||
## Clean Up
|
||
|
||
```bash
|
||
docker volume rm kiro-server-home
|
||
```
|
||
|
||
## License
|
||
|
||
This document is distributed under the terms of the GNU General Public License v3 or later.
|
||
See the [LICENSE](LICENSE) file for more details.
|