This repository contains scripts that makes it easy to start working on random projects without installing a bunch of dependencies on the host computer.
# generate .env
./ctrl.sh genEnv
# generate .env.extra
cp conf_sample.sh conf.sh
./ctrl.sh genEnvExtradocker compose build
# to update base image - to overcome `pull_policy: never`
docker compose build --pull devboxbash -c '. .env; docker network ls --format "{{.Name}}" | grep -Fxq "${NETWORK_NAME}" || docker network create "${NETWORK_NAME}"'docker compose up -dBy default password is equal to username. You can change it, or remove it and use ssh key.
docker compose cp ~/.ssh/authorized_keys devbox:/home/$USER/.ssh/authorized_keys./ctrl.sh sshSet this entry in ENV_VARS in conf.sh:
[DEVBOX_CONFIG]=devbox-hostRegenerate .env, rebuild, and connect:
./ctrl.sh genEnv
docker compose up -d --build
./ctrl.sh sshp_hdvddarias/docker-hoster will insert container name in /etc/hosts so you can ssh <containername> which is handy, just run docker ps -a to get container name first.
aacebedo/dnsdock provides DNS resolution.
Start the following
docker run --restart=unless-stopped -d -v /var/run/docker.sock:/var/run/docker.sock --name dnsdock -p 127.0.1.53:53:53/udp aacebedo/dnsdock:v1.17.0-amd64 -v --domain=dockerAdd the following to /etc/dnsmasq.conf
server=/docker/127.0.1.53
Then you can add to ssh config (example):
Host devbox_test-devbox-1
Hostname devbox_devbox_test.docker
Then ssh:
ssh devbox_test-devbox-1You can uncomment ports section and ~/.Xauthority section in docker-compose.yml and do the following
ssh -Y -p 2022 $USER@<hostmachine>