DRAFT
- Docker
- Docker Compose
On each host:
- Make
/srvdirectory to host compose applications and data on host machine - Create
docker-compose@.service,docker-cleanup.time, anddocker-cleanup.servicefiles so thatsystemctlcan control Concourse services, and keep Docker pruned/healthy. - reload startup config:
systemctl daemon-reload - Make
/srv/directory structure:
On web:
mkdir -p /srv/concourse-web/keys
mkdir -p /srv/concourse-web/postgresql
On worker:
mkdir -p /srv/concourse-worker/keys
- Generate keys
On web:
cd /srv/concourse-web/keys
docker run -v $(pwd):/keys --rm --entrypoint /usr/local/concourse/bin/concourse concourse/concourse:latest -- generate-key -t rsa -f /keys/session_signing_key
docker run -v $(pwd):/keys --rm --entrypoint /usr/local/concourse/bin/concourse concourse/concourse:latest -- generate-key -t ssh -f /keys/tsa_host_key
On worker:
cd /srv/concourse-worker/keys
docker run -v $(pwd):/keys --rm --entrypoint /usr/local/concourse/bin/concourse concourse/concourse:latest -- generate-key -t ssh -f /keys/worker_key
- Copy public keys between web and worker
Copy web:/srv/concourse-web/keys/tsa_host_key.pub to worker:/srv/concourse-worker/keys/
Copy worker:/srv/concourse-worker/keys/worker_key.pub to worker:/srv/concourse-web/keys/authorized_worker_keys
Note:
authorized_worker_keysis a file, not a directory
- Download compose files to hosts
On web download into /srv/concourse-web
On worker download into /srv/concourse-worker
- Start the services
On web: systemctl enable docker-compose@concourse-web and systemctl start docker-compose@concourse-web
On worker: systemctl start docker-compose@concourse-worker and systemctl start docker-compose@concourse-worker