concourse/docker-compose.yml

83 lines
2.2 KiB
YAML

version: '3'
networks:
default:
enable_ipv6: true
ipam:
driver: default
config:
- subnet: fdf1:f4a2:d53::/64
gateway: fdf1:f4a2:d53::ffff
services:
db:
image: postgres:${POSTGRES_TAG:-latest}
shm_size: 1gb
ports: [6543:5432]
environment:
POSTGRES_DB: concourse
POSTGRES_USER: dev
POSTGRES_PASSWORD: dev
web:
build: .
image: concourse/concourse:local
command: web
depends_on: [db]
ports: [8080:8080]
networks:
- default
volumes:
- .:/src
- "./hack/keys:/concourse-keys"
environment:
CONCOURSE_SESSION_SIGNING_KEY: /concourse-keys/session_signing_key
CONCOURSE_TSA_AUTHORIZED_KEYS: /concourse-keys/authorized_worker_keys
CONCOURSE_TSA_HOST_KEY: /concourse-keys/tsa_host_key
CONCOURSE_LOG_LEVEL: debug
CONCOURSE_POSTGRES_HOST: db
CONCOURSE_POSTGRES_USER: dev
CONCOURSE_POSTGRES_PASSWORD: dev
CONCOURSE_POSTGRES_DATABASE: concourse
CONCOURSE_EXTERNAL_URL: http://localhost:8080
CONCOURSE_ADD_LOCAL_USER: test:test,guest:guest
CONCOURSE_MAIN_TEAM_LOCAL_USER: test
CONCOURSE_CLUSTER_NAME: dev
CONCOURSE_ENABLE_PIPELINE_INSTANCES: "true"
CONCOURSE_ENABLE_ACROSS_STEP: "true"
CONCOURSE_ENABLE_CACHE_STREAMED_VOLUMES: "true"
CONCOURSE_ENABLE_RESOURCE_CAUSALITY: "true"
worker:
build: .
image: concourse/concourse:local
command: worker
privileged: true
networks:
- default
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
depends_on: [web]
ports:
- 7777:7777
- 7788:7788
volumes: ["./hack/keys:/concourse-keys"]
stop_signal: SIGUSR2
environment:
CONCOURSE_RUNTIME: containerd
CONCOURSE_TSA_PUBLIC_KEY: /concourse-keys/tsa_host_key.pub
CONCOURSE_TSA_WORKER_PRIVATE_KEY: /concourse-keys/worker_key
CONCOURSE_LOG_LEVEL: debug
CONCOURSE_TSA_HOST: web:2222
CONCOURSE_BIND_IP: 0.0.0.0
CONCOURSE_BAGGAGECLAIM_BIND_IP: 0.0.0.0
# avoid using loopbacks
CONCOURSE_BAGGAGECLAIM_DRIVER: overlay
# work with docker-compose's dns
CONCOURSE_CONTAINERD_DNS_PROXY_ENABLE: "true"