add Dockerfile
This commit is contained in:
parent
98864e4d03
commit
4bff6e9405
|
@ -0,0 +1,29 @@
|
|||
FROM golang:alpine AS builder
|
||||
LABEL builder=true
|
||||
WORKDIR /build
|
||||
|
||||
ADD go.mod .
|
||||
|
||||
COPY . .
|
||||
RUN go mod download
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-w -s" -o cmd/recipes/main cmd/recipes/main.go
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-w -s" -o cmd/parser/main cmd/parser/main.go
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-w -s" -o cmd/migrator/main cmd/migrator/main.go
|
||||
|
||||
FROM alpine
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
COPY --from=builder /build/cmd/recipes/main /build/cmd/recipes/main
|
||||
COPY --from=builder /build/cmd/migrator/main /build/cmd/migrator/main
|
||||
COPY --from=builder /build/cmd/parser/main /build/cmd/parser/main
|
||||
COPY --from=builder /build/config/* /build/config/
|
||||
COPY --from=builder /build/migrations/* /build/migrations/
|
||||
|
||||
RUN touch start.sh
|
||||
RUN echo "#!/bin/sh" >> start.sh
|
||||
RUN echo "./cmd/migrator/main --migrations-path migrations" >> start.sh
|
||||
RUN echo "./cmd/recipes/main" >> start.sh
|
||||
RUN chmod +x start.sh
|
||||
|
||||
CMD ["./start.sh"]
|
|
@ -14,28 +14,30 @@ services:
|
|||
# - ./conf/traefik_custom:/custom/:ro
|
||||
# - /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
|
||||
# # rest api
|
||||
# app:
|
||||
# rest api
|
||||
app:
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: Dockerfile
|
||||
# container_name: app
|
||||
# restart: unless-stopped
|
||||
# env_file: .env
|
||||
# environment:
|
||||
# DB_ADDR: app_pg:5432
|
||||
# MINIO_ADDR: minio:9000
|
||||
# depends_on:
|
||||
# - app_pg
|
||||
image: recipes:latest
|
||||
container_name: app
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
environment:
|
||||
CONFIG_PATH: ./config/local.yaml
|
||||
depends_on:
|
||||
- app_pg
|
||||
- redis
|
||||
- minio
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.http.routers.app.entrypoints=websecure"
|
||||
# - "traefik.http.routers.app.tls=true"
|
||||
# - "traefik.http.routers.app.tls.certresolver=production"
|
||||
# - "traefik.http.routers.app.rule=Host(`$API_HOST`) && PathPrefix(`/api/v1/`)"
|
||||
# networks:
|
||||
# microservicesnet:
|
||||
# ipv4_address: 192.168.4.3
|
||||
# - "traefik.http.routers.app.rule=Host(`$API_HOST`)"
|
||||
networks:
|
||||
microservicesnet:
|
||||
ipv4_address: 192.168.4.3
|
||||
|
||||
# postgresql database for app
|
||||
app_pg:
|
||||
|
|
Loading…
Reference in New Issue