initial commit
This commit is contained in:
79
README.md
Normal file
79
README.md
Normal 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.
|
||||
Reference in New Issue
Block a user