Building event-driven applications the easy way in Go.
docker pull library/golang
docker run -d --name watermill -p 3306:3306 --restart always golang:1.25
podman run -d --name watermill -p 3306:3306 --restart always golang:1.25
skopeo inspect docker://docker.io/library/golang:1.25
oras pull golang:1.25
docker compose up -d
services:
server:
image: golang:1.25
environment:
- PUBSUB_EMULATOR_HOST=googlecloud:8085
depends_on:
- mysql
- googlecloud
restart: unless-stopped
volumes:
- .:/app
- $GOPATH/pkg/mod:/go/pkg/mod
working_dir: /app
command: go run .
mysql:
image: mysql:8.0
restart: unless-stopped
logging:
driver: none
ports:
- 3306:3306
environment:
MYSQL_DATABASE: watermill
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
googlecloud:
image: google/cloud-sdk:414.0.0
logging:
driver: none
entrypoint: gcloud --quiet beta emulators pubsub start --host-port=0.0.0.0:8085 --verbosity=debug --log-http
ports:
- 8085:8085
restart: unless-stopped