services: godash: profiles: [build] image: ${CURRENT_IMAGE} build: context: . dockerfile: Dockerfile args: - V_GOLANG=${V_GOLANG} - V_NODE=${V_NODE} - V_ALPINE=${V_ALPINE} - APP_VERSION=${CI_COMMIT_TAG} logto: depends_on: logto-db: condition: service_healthy image: svhd/logto:latest entrypoint: ['sh', '-c', 'npm run cli db seed -- --swe && npm start'] ports: - 3001:3001 - 3002:3002 environment: - TRUST_PROXY_HEADER=1 - DB_URL=postgres://postgres:p0stgr3s@logto-db:5432/logto logto-db: image: postgres:14-alpine user: postgres environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: p0stgr3s healthcheck: test: ['CMD-SHELL', 'pg_isready'] interval: 10s timeout: 5s retries: 5 backend: build: context: . dockerfile_inline: | ARG V_GOLANG FROM golang:${V_GOLANG}-alpine RUN apk update && \ apk upgrade && \ apk add tzdata RUN go install github.com/cosmtrek/air@latest COPY .air.toml . WORKDIR /app COPY go.mod . COPY go.sum . RUN go mod download args: - V_GOLANG=${V_GOLANG} command: air -c .air.toml env_file: .env volumes: - .:/app/ ports: - 4000:4000 - 2345:2345 templ: build: context: . dockerfile_inline: | ARG V_GOLANG FROM golang:${V_GOLANG}-alpine RUN go install github.com/a-h/templ/cmd/templ@latest args: - V_GOLANG=${V_GOLANG} working_dir: /app command: templ generate --watch volumes: - .:/app/ tailwind: image: node:${V_NODE}-alpine working_dir: /app command: yarn tw:dev tty: true volumes: - .:/app/ golang: profiles: [install] image: golang:${V_GOLANG}-alpine working_dir: /app volumes: - .:/app/ node: profiles: [install] image: node:${V_NODE}-alpine working_dir: /app volumes: - .:/app/