doc: add how to run and dockerfile
This commit is contained in:
21
Dockerfile
Normal file
21
Dockerfile
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
FROM docker.io/golang:1.26.1-trixie AS builder
|
||||||
|
|
||||||
|
WORKDIR /build
|
||||||
|
|
||||||
|
COPY go.mod go.sum .
|
||||||
|
|
||||||
|
RUN GOPROXY='https://goproxy.cn,direct' go mod download
|
||||||
|
|
||||||
|
COPY cmd ./cmd
|
||||||
|
COPY internal ./internal
|
||||||
|
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
|
||||||
|
go build -trimpath -ldflags="-s -w" -o /app ./cmd/api
|
||||||
|
|
||||||
|
FROM scratch
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
|
COPY --from=builder /app /app
|
||||||
|
COPY db/ /db
|
||||||
|
|
||||||
|
ENTRYPOINT ["/app"]
|
||||||
30
README.md
30
README.md
@@ -6,6 +6,32 @@ The backend of a bigdata market.
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
env:
|
### env
|
||||||
- DATABASE_URL example:"postgres://datamarket:datamarket@localhost:5432/datamarket?sslmode=disable"
|
- DATABASE_URL example:"postgres://datamarket:datamarket@localhost:5432/datamarket?sslmode=disable"
|
||||||
- SERVER_ADDR default :8080
|
- SERVER_ADDR default :8080
|
||||||
|
|
||||||
|
### run
|
||||||
|
|
||||||
|
#### docker
|
||||||
|
|
||||||
|
use `docker.io/starryskymeow/datamarket-backend:latest`
|
||||||
|
|
||||||
|
#### go
|
||||||
|
|
||||||
|
```shell
|
||||||
|
go run cmd/api/main.go
|
||||||
|
```
|
||||||
|
|
||||||
|
### db
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# run a test db, you can use docker instead of podman
|
||||||
|
podman run -d \
|
||||||
|
--name datamarket-db-dev \
|
||||||
|
-p 127.0.0.1:5432:5432 \
|
||||||
|
-e POSTGRES_USER=datamarket \
|
||||||
|
-e POSTGRES_PASSWORD=datamarket \
|
||||||
|
-e POSTGRES_DB=datamarket \
|
||||||
|
-v datamarket-db-dev:/var/lib/postgresql/data \
|
||||||
|
docker.io/library/postgres:17
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user