# *******************************************************************************
# * Copyright (c) 2019 Contributors to the Eclipse Foundation
# *
# * See the NOTICE file(s) distributed with this work for additional
# * information regarding copyright ownership.
# *
# * This program and the accompanying materials are made available under the
# * terms of the Eclipse Public License v. 2.0 which is available at
# * http://www.eclipse.org/legal/epl-2.0.
# *
# * SPDX-License-Identifier: EPL-2.0
# *******************************************************************************
#
FROM openjdk:8-jre-alpine

ENV JAVA_TOOL_OPTIONS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
ENV HTTP_PROXY http://webproxy3.pta.de:8080
ENV HTTPS_PROXY http://webproxy3.pta.de:8080
ENV TZ Europe/Berlin

# install tzdata to set the right timezone
RUN apk add --no-cache tzdata

COPY /target/grid-failure-information.backend.samo-interface.jar /usr/src/cbd/
WORKDIR usr/src/cbd
CMD ["java", "-jar", "-Dspring.profiles.active=devserver", "grid-failure-information.backend.samo-interface.jar"]