initial commit

This commit is contained in:
2025-09-24 20:01:34 -05:00
commit 228b009c5d
13 changed files with 1334 additions and 0 deletions

79
README.md Normal file
View File

@@ -0,0 +1,79 @@
# 🐳 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=kiro
UID=1000
GID=1000
TZ=Asia/Taipei
PASSWORD=yourpassword
# Or alternatively:
# HASHED_PASSWORD=$argon2id$v=19$m=65536,t=3,p=4$...
```
> **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:8080 \
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.