mirror of
https://github.com/tarampampam/error-pages.git
synced 2024-08-30 18:22:40 +00:00
54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
# Docker-compose file is used only for local development. This is not production-ready example.
|
|
|
|
version: '3.8'
|
|
|
|
volumes:
|
|
tmp-data: {}
|
|
golint-go: {}
|
|
golint-cache: {}
|
|
|
|
services:
|
|
app: &app-service
|
|
image: golang:1.20-buster # Image page: <https://hub.docker.com/_/golang>
|
|
working_dir: /src
|
|
environment:
|
|
HOME: /tmp
|
|
GOPATH: /tmp
|
|
volumes:
|
|
- /etc/passwd:/etc/passwd:ro
|
|
- /etc/group:/etc/group:ro
|
|
- .:/src:rw
|
|
- tmp-data:/tmp:rw
|
|
security_opt: [no-new-privileges:true]
|
|
|
|
web:
|
|
<<: *app-service
|
|
ports:
|
|
- "8080:8080/tcp" # Open <http://127.0.0.1:8080>
|
|
command: sh -c "go build -buildvcs=false -o /tmp/app ./cmd/error-pages && /tmp/app serve --show-details --proxy-headers=X-Foo,Bar,Baz_blah"
|
|
healthcheck:
|
|
test: ['CMD', '/tmp/app', '--log-json', 'healthcheck']
|
|
interval: 4s
|
|
start_period: 5s
|
|
retries: 5
|
|
|
|
golint:
|
|
image: golangci/golangci-lint:v1.51-alpine # Image page: <https://hub.docker.com/r/golangci/golangci-lint>
|
|
environment:
|
|
GOLANGCI_LINT_CACHE: /tmp/golint # <https://github.com/golangci/golangci-lint/blob/v1.42.0/internal/cache/default.go#L68>
|
|
volumes:
|
|
- golint-go:/go:rw # go dependencies will be downloaded on each run without this
|
|
- golint-cache:/tmp/golint:rw
|
|
- .:/src:ro
|
|
working_dir: /src
|
|
security_opt: [no-new-privileges:true]
|
|
|
|
hurl:
|
|
image: orangeopensource/hurl:1.8.0
|
|
volumes:
|
|
- .:/src:ro
|
|
working_dir: /src
|
|
depends_on:
|
|
web: {condition: service_healthy}
|
|
security_opt: [no-new-privileges:true]
|