Purpose: testing, show-case. Not realy production ready, you still need to read/edit some files, become familiar with copr components.
- docker
- virtualbox
- vagrant
- [ base builder image ]
- copr-frontend and copr-backend are executed inside docker, referenced as
frontandback backhas ssh access to the host machine where it spawns builder VMs using vagrantbackhas access tofrontthrough docker linking
- select(create) a user on host ($USER) machine which should be able to use docker, vargrant, virtualbox
- execute
add_lo_ip_addrs.shto add local IPs to bind dockerised HTTP servers to. - add content of
etc-hosts-additionto your /etc/hosts for convinience
-
cd docker-copr-frontend -
build docker image using command:
./rebuild.sh -
run
frontusing script./run_frontend.sh -
you should be able to see Copr running in browser at
http://front.test
-
cd docker-copr-backend -
generate ssh keypair, so that builder could ssh to the host, save private key as
./builder_id_rsa -
[ - replace
cloud/ssh_keys/vagrant_insecure_privkeyif it was changed by vagrant or your distribution] -
do
cp cloud/priv_vars.yml{.example,}and replace username with $USER -
edit
cloud/vars.ymlto select vagrant source boxes. To improve performance create your own vagrant box from provisioned instance. If you changed variablebase_img_nameupdate lineconfig.vm.box = "f20_builder"incloud/Vagrantfile -
build docker image using command:
./rebuild.sh -
run
backusing script./run_backend.sh -
backshould be able to process builds
I was forced to disable SELinux on host, it prevented ssh connection from docker to host/builder VM. Troubleshooting tool was unable to generate semodule to allow such connection. If somebody has ideas how to fix it and re-enable SELinux please ping me.