|
|
|
FROM clojure:tools-deps AS build |
|
|
|
|
|
RUN git clone https://github.com/migalmoreno/tubo /app |
|
|
|
WORKDIR /app |
|
|
|
|
|
RUN apt-get update && apt-get install -y curl \ |
|
&& curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \ |
|
&& apt-get install -y nodejs |
|
|
|
|
|
ENV MAVEN_REPO=/app/.m2/repository |
|
RUN mkdir -p $MAVEN_REPO && chmod -R 777 $MAVEN_REPO |
|
ENV MAVEN_OPTS="-Dmaven.repo.local=$MAVEN_REPO" |
|
|
|
|
|
ENV CLOJURE_HOME=/app/.clojure |
|
RUN mkdir -p $CLOJURE_HOME && chmod -R 777 $CLOJURE_HOME |
|
ENV XDG_CACHE_HOME=$CLOJURE_HOME/cache |
|
ENV XDG_CONFIG_HOME=$CLOJURE_HOME/config |
|
|
|
|
|
RUN rm -rf $MAVEN_REPO/metosin/reitit-middleware/ |
|
|
|
|
|
RUN sed -i 's/"metosin\/reitit-middleware" *{:mvn\/version ".*"}/"metosin\/reitit-middleware" {:mvn\/version "0.7.2"}/' deps.edn |
|
|
|
|
|
RUN clojure -P |
|
|
|
|
|
RUN npm install |
|
|
|
|
|
RUN clojure -M:frontend release tubo |
|
|
|
|
|
FROM clojure:tools-deps |
|
|
|
WORKDIR /app |
|
|
|
|
|
RUN apt-get update && apt-get install -y curl \ |
|
&& curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \ |
|
&& apt-get install -y nodejs |
|
|
|
|
|
ENV MAVEN_REPO=/app/.m2/repository |
|
RUN mkdir -p $MAVEN_REPO && chmod -R 777 $MAVEN_REPO |
|
ENV MAVEN_OPTS="-Dmaven.repo.local=$MAVEN_REPO" |
|
|
|
|
|
ENV CLOJURE_HOME=/app/.clojure |
|
RUN mkdir -p $CLOJURE_HOME && chmod -R 777 $CLOJURE_HOME |
|
ENV XDG_CACHE_HOME=$CLOJURE_HOME/cache |
|
ENV XDG_CONFIG_HOME=$CLOJURE_HOME/config |
|
|
|
|
|
COPY --from=build /app /app |
|
|
|
|
|
|
|
|
|
|
|
RUN clojure -P |
|
|
|
|
|
RUN clojure -M -e "(compile 'tubo.downloader-impl)" |
|
|
|
|
|
EXPOSE 3000 |
|
|
|
|
|
CMD ["clojure", "-M:run"] |
|
|