125 lines
2.6 KiB
YAML
125 lines
2.6 KiB
YAML
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/
|