Skip to content
Snippets Groups Projects
Select Git revision
  • 8c168a6b83bc0bdd401cd92885d07cf16e488d84
  • main default protected
  • v7.5.x
  • davkal/loki-test-query-start
  • typescript_upgrade
  • hide-plugins-from-viewers
  • gtk-ci-updates3
  • 17525-user-profile-edit-react
  • v6.3.x
  • 17880-reactify-and-consolidate-azure-creds
  • 18018-team-creation
  • packages/packagejson
  • shellcheck-follow-up
  • jobRace
  • 17880-azure-monitor-minor-ui-updates
  • davkal/18185-fix-time-desc
  • packages/versioning
  • binary-plugins-install
  • series-to-DataFrame-flag
  • saml-idp-metadata-url-docs
  • adeverteuil-patch-3
  • v8.2.5
  • v7.5.5
  • v7.5.0-beta2
  • v6.7.6
  • v7.3.10
  • v7.4.5
  • v7.5.0-beta1
  • v7.4.3
  • v7.4.2
  • v7.4.1
  • v7.4.0
  • v7.4.0-beta1
  • v7.3.7
  • v6.7.5
  • v7.2.3
  • v7.3.6
  • v7.3.5
  • v7.3.4
  • v7.3.3
  • v7.3.2
41 results

Dockerfile

Blame
  • user avatar
    Hassan Farid authored and Leonard Gram committed
    Replaced ubuntu:latest with ubuntu:18.04; specific image version to make grafana build images consistent (#18224)
    
    (cherry picked from commit 711f62c8)
    a5f360e5
    History
    Dockerfile 2.39 KiB
    # Golang build container
    FROM golang:1.12.4
    
    WORKDIR $GOPATH/src/github.com/grafana/grafana
    
    COPY go.mod go.sum ./
    COPY vendor vendor
    
    RUN go mod verify
    
    COPY pkg pkg
    COPY build.go build.go
    COPY package.json package.json
    
    RUN go run build.go build
    
    # Node build container
    FROM node:10.14.2
    
    WORKDIR /usr/src/app/
    
    COPY package.json yarn.lock ./
    COPY packages packages
    
    RUN yarn install --pure-lockfile --no-progress
    
    COPY Gruntfile.js tsconfig.json tslint.json ./
    COPY public public
    COPY scripts scripts
    COPY emails emails
    
    ENV NODE_ENV production
    RUN ./node_modules/.bin/grunt build
    
    # Final container
    FROM ubuntu:18.04
    
    LABEL maintainer="Grafana team <hello@grafana.com>"
    
    ARG GF_UID="472"
    ARG GF_GID="472"
    
    ENV PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
        GF_PATHS_CONFIG="/etc/grafana/grafana.ini" \
        GF_PATHS_DATA="/var/lib/grafana" \
        GF_PATHS_HOME="/usr/share/grafana" \
        GF_PATHS_LOGS="/var/log/grafana" \
        GF_PATHS_PLUGINS="/var/lib/grafana/plugins" \
        GF_PATHS_PROVISIONING="/etc/grafana/provisioning"
    
    WORKDIR $GF_PATHS_HOME
    
    RUN apt-get update && apt-get upgrade -y && \
        apt-get install -qq -y libfontconfig1 ca-certificates && \
        apt-get autoremove -y && \
        rm -rf /var/lib/apt/lists/*
    
    COPY conf ./conf
    
    RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
        groupadd -r -g $GF_GID grafana && \
        useradd -r -u $GF_UID -g grafana grafana && \
        mkdir -p "$GF_PATHS_PROVISIONING/datasources" \
                 "$GF_PATHS_PROVISIONING/dashboards" \
                 "$GF_PATHS_PROVISIONING/notifiers" \
                 "$GF_PATHS_LOGS" \
                 "$GF_PATHS_PLUGINS" \
                 "$GF_PATHS_DATA" && \
        cp "$GF_PATHS_HOME/conf/sample.ini" "$GF_PATHS_CONFIG" && \
        cp "$GF_PATHS_HOME/conf/ldap.toml" /etc/grafana/ldap.toml && \
        chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
        chmod 777 -R "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
    
    COPY --from=0 /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-server /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-cli ./bin/
    COPY --from=1 /usr/src/app/public ./public
    COPY --from=1 /usr/src/app/tools ./tools
    COPY tools/phantomjs/render.js ./tools/phantomjs/render.js
    
    EXPOSE 3000
    
    COPY ./packaging/docker/run.sh /run.sh
    
    USER grafana
    ENTRYPOINT [ "/run.sh" ]