networks: net: external: false proxy: external: false services: logto: depends_on: logto-db: condition: service_healthy image: svhd/logto:${V_LOGTO} 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 - ENDPOINT=http://0.0.0.0:3001 networks: - net - proxy logto-db: image: postgres:${V_POSTGRES}-alpine user: postgres environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: p0stgr3s healthcheck: test: ['CMD-SHELL', 'pg_isready'] interval: 10s timeout: 5s retries: 5 networks: - net 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 environment: - TZ=Europe/Berlin - PUBLIC_URL=http://localhost:4000 - LOG_LEVEL=debug - TITLE=DEV - APP_VERSION=v0.0.1-DEV - WEATHER_KEY=${WEATHER_KEY} - LOGTO_APP_ID=${LOGTO_APP_ID} - LOGTO_APP_SECRET=${LOGTO_APP_SECRET} - SESSION_KEY=super-secure volumes: - .:/app/ ports: - 4000:4000 networks: - proxy templ: profiles: [dev] 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: profiles: [dev] image: node:${V_NODE}-alpine working_dir: /app command: yarn tw:dev tty: true volumes: - .:/app/ 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} 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/