Docker 镜像制作
This commit is contained in:
parent
4e9f58a0e7
commit
f765a4b0ce
|
|
@ -0,0 +1,19 @@
|
|||
[repostats]
|
||||
debug = false
|
||||
admin_port = 9103
|
||||
|
||||
|
||||
[postgres]
|
||||
host = postgresql
|
||||
port = 5432
|
||||
user = postgres
|
||||
password = DePmoG_123
|
||||
database = repostats
|
||||
max_open_conn = 20
|
||||
max_idle_conn = 5
|
||||
|
||||
[grafana]
|
||||
host = grafana
|
||||
port = 3000
|
||||
user = admin
|
||||
password = admin
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
version: '3'
|
||||
services:
|
||||
|
||||
repostats:
|
||||
image: baratsemet/repostats-app:${REPOSTATS_VERSION}
|
||||
container_name: ${REPOSTATS_CONTAINER_NAME}
|
||||
hostname: repostats
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: docker/repostats.Dockerfile
|
||||
volumes:
|
||||
- ../docker/docker_repostats.ini:/app/repostats.ini
|
||||
ports:
|
||||
- ${REPOSTATS_LOCAL_PORT}:9103
|
||||
networks:
|
||||
- network_repostats
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
|
||||
postgres:
|
||||
image: postgres:${PG_VERSION}
|
||||
container_name: ${PG_CONTAINER_NAME}
|
||||
hostname: postgresql
|
||||
environment:
|
||||
- POSTGRES_USER=${PG_SUPER_USER}
|
||||
- POSTGRES_PASSWORD=${PG_SUPER_PWD}
|
||||
- TZ=PRC
|
||||
- PGTZ=PRC
|
||||
volumes:
|
||||
- ../sql/db.sql:/docker-entrypoint-initdb.d/001.sql
|
||||
- ../sql/gitee.sql:/docker-entrypoint-initdb.d/002.sql
|
||||
- ../sql/roles.sql:/docker-entrypoint-initdb.d/003.sql
|
||||
- ../docker/container-data/postgresql:/var/lib/postgresql/data
|
||||
ports:
|
||||
- ${PG_LOCAL_PORT}:5432
|
||||
healthcheck:
|
||||
test: [ "CMD", "psql", "-U","${PG_SUPER_USER}","-d","repostats" ]
|
||||
timeout: 10s
|
||||
interval: 3s
|
||||
retries: 10
|
||||
networks:
|
||||
- network_repostats
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana-oss:${GR_VERSION}
|
||||
container_name: ${GR_CONTAINER_NAME}
|
||||
hostname: grafana
|
||||
volumes:
|
||||
- ../docker/container-data/grafana:/var/lib/grafana
|
||||
ports:
|
||||
- ${GR_LOCAL_PORT}:3000
|
||||
networks:
|
||||
- network_repostats
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
|
||||
networks:
|
||||
network_repostats:
|
||||
driver: bridge
|
||||
name: "network_repostats"
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "true"
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
##
|
||||
## Build
|
||||
##
|
||||
FROM golang:1.16-alpine AS repostats_builder
|
||||
ENV GO111MODULE=on
|
||||
ENV GOPROXY=https://proxy.golang.com.cn,direct
|
||||
ADD . /app
|
||||
WORKDIR /app
|
||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o repostats
|
||||
|
||||
##
|
||||
## Deploy
|
||||
##
|
||||
FROM alpine:latest
|
||||
RUN apk add -U tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && apk del tzdata
|
||||
WORKDIR /app
|
||||
COPY --from=repostats_builder /app/repostats .
|
||||
EXPOSE 9103
|
||||
ENTRYPOINT ["/app/repostats","repostats.ini"]
|
||||
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
docker-compose -p repostats -f local_build.yml --env-file vars.env up -d --build --force-recreate
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
docker-compose -p repostats -f local_build.yml --env-file vars.env down
|
||||
|
|
@ -10,4 +10,9 @@ PG_SUPER_PWD=DePmoG_123
|
|||
# Grafana Vars
|
||||
GR_VERSION=8.5.0
|
||||
GR_CONTAINER_NAME=repostats_gr
|
||||
GR_LOCAL_PORT=13000
|
||||
GR_LOCAL_PORT=13000
|
||||
|
||||
# RepoStats Vars
|
||||
REPOSTATS_VERSION=1.0
|
||||
REPOSTATS_LOCAL_PORT=9103
|
||||
REPOSTATS_CONTAINER_NAME=repostats_app
|
||||
|
|
@ -14,7 +14,6 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"log"
|
||||
"net/http"
|
||||
gitee_model "repostats/model/gitee"
|
||||
"repostats/utils"
|
||||
|
|
@ -254,8 +253,6 @@ func CreateGiteeHomeDashboard(token GrafanaToken, folder GrafanaFolder, datasour
|
|||
return err
|
||||
}
|
||||
|
||||
log.Println(tp.String())
|
||||
|
||||
code, rs, err := HttpPost(token.Key, fmt.Sprintf("http://%s:%s/api/dashboards/db", token.Host, token.Port), nil, tp.String())
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ func main() {
|
|||
initRouter(router)
|
||||
|
||||
log.Println(fmt.Sprintf("[RepoStats v%s build:%s] starts at http://localhost:%d", utils.Version, utils.Build, utils.RepoStatsConfig.AdminPort))
|
||||
router.Run(fmt.Sprintf("localhost:%d", utils.RepoStatsConfig.AdminPort))
|
||||
router.Run(fmt.Sprintf(":%d", utils.RepoStatsConfig.AdminPort))
|
||||
}
|
||||
|
||||
func initRouter(router *gin.Engine) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue