initial commit
This commit is contained in:
155
deploy/docker-compose.yml
Normal file
155
deploy/docker-compose.yml
Normal file
@ -0,0 +1,155 @@
|
||||
version: "2.1"
|
||||
services:
|
||||
tink-server:
|
||||
image: quay.io/tinkerbell/tink:sha-adb49da
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
FACILITY: ${FACILITY:-onprem}
|
||||
PACKET_ENV: ${PACKET_ENV:-testing}
|
||||
PACKET_VERSION: ${PACKET_VERSION:-ignored}
|
||||
ROLLBAR_TOKEN: ${ROLLBAR_TOKEN:-ignored}
|
||||
ROLLBAR_DISABLE: ${ROLLBAR_DISABLE:-1}
|
||||
PGDATABASE: tinkerbell
|
||||
PGHOST: db
|
||||
PGPASSWORD: tinkerbell
|
||||
PGPORT: 5432
|
||||
PGSSLMODE: disable
|
||||
PGUSER: tinkerbell
|
||||
TINKERBELL_GRPC_AUTHORITY: :42113
|
||||
TINKERBELL_HTTP_AUTHORITY: :42114
|
||||
TINK_AUTH_USERNAME: ${TINKERBELL_TINK_USERNAME}
|
||||
TINK_AUTH_PASSWORD: ${TINKERBELL_TINK_PASSWORD}
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- 127.0.0.1:42114/cert"] # port needs to match TINKERBELL_HTTP_AUTHORITY
|
||||
interval: 5s
|
||||
timeout: 2s
|
||||
retries: 30
|
||||
volumes:
|
||||
- ./state/certs:/certs/${FACILITY:-onprem}
|
||||
ports:
|
||||
- 42113:42113/tcp
|
||||
- 42114:42114/tcp
|
||||
|
||||
db:
|
||||
image: postgres:10-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: tinkerbell
|
||||
POSTGRES_PASSWORD: tinkerbell
|
||||
POSTGRES_USER: tinkerbell
|
||||
volumes:
|
||||
- ./db/tinkerbell-init.sql:/docker-entrypoint-initdb.d/tinkerbell-init.sql:ro
|
||||
- postgres_data:/var/lib/postgresql/data:rw
|
||||
ports:
|
||||
- 5432:5432
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U tinkerbell"]
|
||||
interval: 1s
|
||||
timeout: 1s
|
||||
retries: 30
|
||||
|
||||
tink-cli:
|
||||
image: quay.io/tinkerbell/tink-cli:sha-adb49da
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TINKERBELL_GRPC_AUTHORITY: 127.0.0.1:42113
|
||||
TINKERBELL_CERT_URL: http://127.0.0.1:42114/cert
|
||||
depends_on:
|
||||
tink-server:
|
||||
condition: service_healthy
|
||||
db:
|
||||
condition: service_healthy
|
||||
network_mode: host
|
||||
|
||||
registry:
|
||||
build:
|
||||
context: registry
|
||||
args:
|
||||
REGISTRY_USERNAME: $TINKERBELL_REGISTRY_USERNAME
|
||||
REGISTRY_PASSWORD: $TINKERBELL_REGISTRY_PASSWORD
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl --cacert /certs/ca.pem https://127.0.0.1"]
|
||||
interval: 5s
|
||||
timeout: 1s
|
||||
retries: 5
|
||||
environment:
|
||||
REGISTRY_HTTP_ADDR: 0.0.0.0:443
|
||||
REGISTRY_HTTP_TLS_CERTIFICATE: /certs/server.pem
|
||||
REGISTRY_HTTP_TLS_KEY: /certs/server-key.pem
|
||||
REGISTRY_AUTH: htpasswd
|
||||
REGISTRY_AUTH_HTPASSWD_REALM: "Registry Realm"
|
||||
REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
|
||||
volumes:
|
||||
- ./state/certs:/certs
|
||||
- ./state/registry:/var/lib/registry
|
||||
network_mode: host
|
||||
|
||||
boots:
|
||||
image: quay.io/tinkerbell/boots:327-58ab49913b5498908b16e2607d265a61a05f73b6
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
command: -dhcp-addr 0.0.0.0:67 -tftp-addr $TINKERBELL_HOST_IP:69 -http-addr $TINKERBELL_HOST_IP:80 -log-level DEBUG
|
||||
environment:
|
||||
API_AUTH_TOKEN: ${PACKET_API_AUTH_TOKEN:-ignored}
|
||||
API_CONSUMER_TOKEN: ${PACKET_CONSUMER_TOKEN:-ignored}
|
||||
FACILITY_CODE: ${FACILITY:-onprem}
|
||||
PACKET_ENV: ${PACKET_ENV:-testing}
|
||||
PACKET_VERSION: ${PACKET_VERSION:-ignored}
|
||||
ROLLBAR_TOKEN: ${ROLLBAR_TOKEN:-ignored}
|
||||
ROLLBAR_DISABLE: ${ROLLBAR_DISABLE:-1}
|
||||
MIRROR_HOST: ${TINKERBELL_NGINX_IP:-127.0.0.1}
|
||||
DNS_SERVERS: 8.8.8.8
|
||||
PUBLIC_IP: $TINKERBELL_HOST_IP
|
||||
BOOTP_BIND: $TINKERBELL_HOST_IP:67
|
||||
HTTP_BIND: $TINKERBELL_HOST_IP:80
|
||||
SYSLOG_BIND: $TINKERBELL_HOST_IP:514
|
||||
TFTP_BIND: $TINKERBELL_HOST_IP:69
|
||||
DOCKER_REGISTRY: $TINKERBELL_HOST_IP
|
||||
REGISTRY_USERNAME: $TINKERBELL_REGISTRY_USERNAME
|
||||
REGISTRY_PASSWORD: $TINKERBELL_REGISTRY_PASSWORD
|
||||
TINKERBELL_GRPC_AUTHORITY: $TINKERBELL_HOST_IP:42113
|
||||
TINKERBELL_CERT_URL: http://$TINKERBELL_HOST_IP:42114/cert
|
||||
ELASTIC_SEARCH_URL: $TINKERBELL_HOST_IP:9200
|
||||
DATA_MODEL_VERSION: 1
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- $TINKERBELL_HOST_IP:80:80/tcp
|
||||
- 67:67/udp
|
||||
- 69:69/udp
|
||||
|
||||
nginx:
|
||||
image: nginx:alpine
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
ports:
|
||||
- $TINKERBELL_NGINX_IP:80:80/tcp
|
||||
volumes:
|
||||
- ./state/webroot:/usr/share/nginx/html/
|
||||
|
||||
hegel:
|
||||
image: quay.io/tinkerbell/hegel:196-fa897aa020769db8becb9be29adaeb6be92a7fc7
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
environment:
|
||||
ROLLBAR_TOKEN: ${ROLLBAR_TOKEN-ignored}
|
||||
ROLLBAR_DISABLE: 1
|
||||
PACKET_ENV: testing
|
||||
PACKET_VERSION: ${PACKET_VERSION:-ignored}
|
||||
GRPC_PORT: 42115
|
||||
HEGEL_FACILITY: ${FACILITY:-onprem}
|
||||
HEGEL_USE_TLS: 0
|
||||
TINKERBELL_GRPC_AUTHORITY: 127.0.0.1:42113
|
||||
TINKERBELL_CERT_URL: http://127.0.0.1:42114/cert
|
||||
DATA_MODEL_VERSION: 1
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
Reference in New Issue
Block a user