Skip to content

Commit

Permalink
CleanUp Prepare for Offical Images
Browse files Browse the repository at this point in the history
  • Loading branch information
frank-dspeed committed Mar 26, 2020
1 parent c963f0b commit 364f74b
Show file tree
Hide file tree
Showing 34 changed files with 651 additions and 29 deletions.
25 changes: 25 additions & 0 deletions -.travis.yml
@@ -0,0 +1,25 @@
sudo: required
before_install:
- sudo apt-get update
services:
- docker
script:
- set -e
- echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
- bash ./version.sh
- bash ./version.sh > version.txt && cat version.txt
- docker-compose build --build-arg DENO_VERSION=$(cat version.txt) jessie
- docker-compose build --build-arg DENO_VERSION=$(cat version.txt) slim
- docker-compose push jessie
- docker tag dockerimages/deno:jessie dockerimages/deno:jessie-$(cat version.txt)
- docker push dockerimages/deno:jessie-$(cat version.txt)
- docker tag dockerimages/deno:jessie dockerimages/deno:latest
- docker push dockerimages/deno:latest
- docker-compose push slim
- docker tag dockerimages/deno:slim dockerimages/deno:slim-$(cat version.txt)
- docker push dockerimages/deno:slim-$(cat version.txt)
env:
global:
- secure: aBkNQEwevRNEX2Y0ax+HiV8dOglvi7h0U0lU0MzQhv73MAgYKVtGx39+oSDaTjlGdLg2a9DHGYdya5ae6gTlSfsLdkPncPSQ5fd/xAhKJ6w7em/VdKk2Fxy3sc52xn2EQWcbJIETOjpMV7HS8Suq8FsDi96AjqCI0jPwphg3yH41FJ64YkjRQilvoIGxx5tcFaH1VK9S6Z2TTUwW4G2Cavit3EQ7DqnFRMDrxCjfGOdaCl9NO1mWTcc1CBbXMNZX8Hzfnwz/lDlTIrFpqRx3EJZ/EOw1ZRL/JZyTpYs6iJuvIAF2R1iv6WtZdu3jet3+J1SW37L78C+/uDnYDL24AdrIYSVvMcnJW0sweUgPeiWj6Y5jC0E27G4YjBqRQLHjK7wJJsicmt470jmBIENfdTpPJNA8/R7tDsXdBs6i9EKAc/PUJiGTqGBSmdpDFcbkGBF0lYtvGIaTQnZWJb3FA/n4xGOu7BvwbaOkHZ5xee2A2Wd9njz212vjFrxqNsmirA/c3b/aSVnizitsVBotmBze89KLRSGmp3e6Jua1/Vxj569o2CjqdHxeLLx9wMEDnqxY5nKUq1a1C88VErLsor5UptwmvoJje3vApgpVPwiKdt1qqc4W125gHQeCBHBDLWPT0dV3uiBKb019tmcgHqTtlg+x0mrj2GPNggwhH7A=
- secure: ilc/bzlxkawkZLtBDPURrsS+M9vpGtI3dXaOtpEAAbOINuEdVvmFtZOOjM90tRPvOOLhd9MOEMfGrK3oS/cbMfO7MNeKUzinNfmHJj7WlA+I7S4yKhmPKqPuW/q8qm/FbZT+7ZDNTMqtmuZ7AN04mu+aEhs9XWoLmO5+zPJX63wLiJomk8KX5V7tprZO6vRAhU3pNTMycMrtb9rNAdoVkgZHoDswqlMEZZEWVWVwsQmz9Os5/jo/hQ6GWMl9uiCxHSzZ9N5MNa5WmLRSXhhkWcr7v/ztWlDfk295K7g47zuGIDAfA5ruMLTj3BBmZVPLQbJ2NrhqqUZjwS7yyvBG0vKKbfw1Adpivyywt1NruoCeQQCkWDJ6G1hSJ+R1LIe9PbjMXHnis1ePreAVkNMyOq/UjeT+ign0qLgStghWE+IX4PVqfPadNPnsAcPL7l2QqhHT099VeL5KDQmzne3ijykGR3anpFp3lpsZZ21APOX9QOea4IS2zCGL6p44DJ6DosgYnC5IGWqQXegxkoIJbh/OZg4k6DfsKERF1pWoMlFjezmiiqlr/SRyt9aw9R/LWdt3yAzzASKzkCKBCwl4mN9XdOPofnUn7hL6+Px55SGXEvPCdR6ylQA4vBdilyC+AFM6/d1BRlLthSRmCIS+cYW40xekFkltLDUSqYEhMSM=
- secure: DFxwmPgxqSmqynIvgLxYVgp1cD8zlUjqYGKnRt+IEQdg7ws1aywXIBMJwvJWJqEkLqpFw58iH/Ko6p8XCMFINvxm4TlfQziN0fLvQUIGZkePmf7rMtdLLHZ6/Qdk4CETxt1bPQ6vcVoRNW1eOJBP00AwQK43qXGmlT7CAWWebzwCI2bVXvB6Ww53EWa95aqCeSycGXhMb9OkFzolV3f+hunVjkS6+eqOj3GaS4ju5yPmqUG5qfC2MjOc5uSXIIVl4mFWGP72gNKpMsluuhB45cqDan5VTwlp+4owN3mKENBZx3Zexj0B5clhiUKTxMN+gKhY18FgB3fnQxlsFcGP3lrom/nY9svAb3v1O6SH29Nte6AcASdxbhu7iEtAhH/8Hex/uMASfG0YXeYuBiIlaqoiZdN6cVtmtEe49YhSdrLGl9LngRGF+zOEC62x+fACiCZlgZPV+9TpGYCL77PjyCalVtSxIhdESONDMictD8vzHFhJpuU25/HoDsStTTXztA2vcEuRYCvH5w8zxzOedmqQbFAlYswdYNEV9CuRKFzsyX0yKqxUtRGLBEqVHdUIgiDxwybR6t80jHu+46N0GN6kMaQ84dYinjXcpRd6qZLpIZsHqBpX7MMVmvoB6OssjzvMRq0pdEmyfYv+mBGJ7wZKbSNjSGRqrkzs0nl8cto=
1 change: 1 addition & 0 deletions .dockerignore
@@ -0,0 +1 @@
.git
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions 0/architectures
@@ -0,0 +1,2 @@
bashbrew-arch variants
amd64 stretch, ubuntu
File renamed without changes.
15 changes: 15 additions & 0 deletions 0/jessi-slim.dockerfile
@@ -0,0 +1,15 @@
FROM debian:jessie-slim

ARG DENO_VERSION

RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* \
&& curl -fsSLO --compressed "https://github.com/denoland/deno/releases/download/$DENO_VERSION/deno_linux_x64.gz" \
&& gunzip -c deno_linux_x64.gz > /usr/local/bin/deno \
&& chmod u+x /usr/bin/deno \
&& rm deno_linux_x64.gz

CMD [ "deno" ]
15 changes: 15 additions & 0 deletions 0/jessie.dockerfile
@@ -0,0 +1,15 @@
FROM debian:jessie

ARG DENO_VERSION

RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* \
&& curl -fsSLO --compressed "https://github.com/denoland/deno/releases/download/$DENO_VERSION/deno_linux_x64.gz" \
&& gunzip -c deno_linux_x64.gz > /usr/local/bin/deno \
&& chmod u+x /usr/bin/deno \
&& rm deno_linux_x64.gz

CMD [ "deno" ]
13 changes: 6 additions & 7 deletions debian.dockerfile → 0/stretch/Dockerfile
@@ -1,11 +1,9 @@
FROM debian:stable-20191014-slim
FROM buildpack-deps:stretch-curl

ENV DENO_VERSION=0.37.0
ARG DENO_VERSION=0.37.1
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends curl ca-certificates \
&& curl -fsSL https://github.com/denoland/deno/releases/download/v${DENO_VERSION}/deno_linux_x64.gz \
RUN curl -fsSL https://github.com/denoland/deno/releases/download/v${DENO_VERSION}/deno_linux_x64.gz \
--output deno.gz \
&& gunzip deno.gz \
&& chmod 777 deno \
Expand All @@ -19,6 +17,7 @@ RUN useradd --uid 1993 --user-group deno \

ENV DENO_DIR /deno-dir/

COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]

ENTRYPOINT ["deno"]
CMD ["https://deno.land/std/examples/welcome.ts"]
CMD ["deno","https://deno.land/std/examples/welcome.ts"]
8 changes: 8 additions & 0 deletions 0/stretch/docker-entrypoint.sh
@@ -0,0 +1,8 @@
#!/bin/sh
set -e

if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ]; then
set -- deno "$@"
fi

exec "$@"
9 changes: 5 additions & 4 deletions ubuntu.dockerfile → 0/ubuntu/Dockerfile
@@ -1,6 +1,6 @@
FROM ubuntu:bionic-20200219
FROM buildpack-deps:focal-curl

ENV DENO_VERSION=0.37.0
ARG DENO_VERSION=0.37.1

RUN apt-get -qq update \
&& apt-get upgrade -y -o Dpkg::Options::="--force-confold" \
Expand All @@ -20,6 +20,7 @@ RUN useradd --uid 1993 --user-group deno \

ENV DENO_DIR /deno-dir/

COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]

ENTRYPOINT ["deno"]
CMD ["https://deno.land/std/examples/welcome.ts"]
CMD ["deno","https://deno.land/std/examples/welcome.ts"]
8 changes: 8 additions & 0 deletions 0/ubuntu/docker-entrypoint.sh
@@ -0,0 +1,8 @@
#!/bin/sh
set -e

if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ]; then
set -- deno "$@"
fi

exec "$@"
4 changes: 2 additions & 2 deletions LICENSE
@@ -1,6 +1,6 @@
MIT License
Apache-2.0 License

Copyright (c) 2019- Andy Hayden
Copyright (c) 2020 Frank Lemanschik

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
35 changes: 27 additions & 8 deletions README.md
@@ -1,15 +1,34 @@
# Deno Docker
https://hub.docker.com/r/dockerimages/deno

0.37.1-stretch 0.37.1 0 latest

Tags:
dockerimages/deno:${DENO_VERSION}
dockerimages/deno:latest
dockerimages/deno:${DENO_VERSION}-stretch
dockerimages/deno:0.37
dockerimages/deno:0.37-strecht
dockerimages/deno:0
dockerimages/deno:0-stretch

- `stretch` *[(0/stretch/Dockerfile)](https://github.com/dockerimages/docker-deno/blob/master/0/stretch/Dockerfile)*
- `ubuntu` *[(0/ubuntu/Dockerfile)](https://github.com/dockerimages/docker-deno/blob/master/0/ubuntu/Dockerfile)*

## Contributing

Issues and pull requests are welcome.

Docker files for [deno](https://github.com/denoland/deno) published on Dockerhub:

- Alpine Linux: [hayd/alpine-deno](https://hub.docker.com/r/hayd/alpine-deno/) (\~23Mb)
- Centos: [hayd/centos-deno](https://hub.docker.com/r/hayd/centos-deno/) (\~87Mb)
- Debian: [hayd/debian-deno](https://hub.docker.com/r/hayd/debian-deno/) (\~47Mb)
- Ubuntu: [hayd/ubuntu-deno](https://hub.docker.com/r/hayd/ubuntu-deno/) (\~48Mb)
- Alpine Linux: (\~23Mb)
- Centos: (\~87Mb)
- Debian: (\~47Mb)
- Ubuntu: (\~48Mb)

![ci status](https://github.com/hayd/deno-docker/workflows/Test/badge.svg?branch=master)
![ci status](https://github.com/dockerimages/docker-deno/workflows/Test/badge.svg?branch=master)

_The amazonlinux1 build is used to run [deno on AWS Lambda](https://github.com/hayd/deno-lambda/)._
_The amazonlinux1 build is used to run [deno on AWS Lambda](https://github.com/dockerimages/deno-lambda/)._

---

Expand All @@ -18,7 +37,7 @@ _The amazonlinux1 build is used to run [deno on AWS Lambda](https://github.com/h
To run `main.ts` from your working directory:

```sh
$ docker run -it --init -p 1993:1993 -v $PWD:/app hayd/alpine-deno:0.37.0 --allow-net /app/main.ts
$ docker run -it --init -p 1993:1993 -v $PWD:/app dockerimages/deno:0.37.1 --allow-net /app/main.ts
```

Here, `-p 1993:1993` maps port 1993 on the container to 1993 on the host,
Expand All @@ -28,7 +47,7 @@ Here, `-p 1993:1993` maps port 1993 on the container to 1993 on the host,
## As a Dockerfile

```Dockerfile
FROM hayd/alpine-deno:0.37.0
FROM dockerimages/deno:0.37.1

EXPOSE 1993 # The port that your application listens to.

Expand Down
File renamed without changes.
Expand Up @@ -7,7 +7,7 @@ jobs:
build:
strategy:
matrix:
kind: ['alpine', 'amazonlinux1', 'centos', 'debian', 'ubuntu']
kind: ['stetch']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
Expand All @@ -17,7 +17,7 @@ jobs:
- name: Publish Docker
uses: elgohr/Publish-Docker-Github-Action@2.7
with:
name: "hayd/${{ matrix.kind }}-deno:${{ steps.get_version.outputs.VERSION }}"
name: "dockerimages/${{ matrix.kind }}-deno:${{ steps.get_version.outputs.VERSION }}"
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
dockerfile: ${{ matrix.kind }}.dockerfile
Expand All @@ -27,7 +27,7 @@ jobs:
if: matrix.kind != 'amazonlinux1'
uses: elgohr/Publish-Docker-Github-Action@2.7
with:
name: "hayd/deno:${{ matrix.kind }}-${{ steps.get_version.outputs.VERSION }}"
name: "dockerimages/deno:${{ steps.get_version.outputs.VERSION }}-${{ matrix.kind }}"
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
dockerfile: ${{ matrix.kind }}.dockerfile
Expand Down
3 changes: 0 additions & 3 deletions aws-lambda/README.md

This file was deleted.

10 changes: 10 additions & 0 deletions docker-compose.yml
@@ -0,0 +1,10 @@
version: '3.2'

services:
latests:
build:
context: ./0/stretch/
dockerfile: Dockerfile
args:
DENO_VERSION: 0.37.1
image: dockerimages/deno:latest
3 changes: 3 additions & 0 deletions docs/aws-lambda/README.md
@@ -0,0 +1,3 @@
# deno and AWS Lambda

This has been moved to its own project: https://github.com/dockerimages/deno-lambda/
2 changes: 1 addition & 1 deletion example/Dockerfile
@@ -1,4 +1,4 @@
FROM hayd/alpine-deno:0.37.0
FROM dockerimages/deno:0.37.1

EXPOSE 1993

Expand Down
2 changes: 1 addition & 1 deletion example/README.md
@@ -1,7 +1,7 @@
The CMD line in the Dockerfile determines parameters passed to Deno.

```
CMD ["run", "--allow-net", "main.ts"]
CMD ["deno","run", "--allow-net", "main.ts"]
```

Note: That the listen port (1993), must match with the EXPOSED port in the Dockerfile.
Expand Down
5 changes: 5 additions & 0 deletions example/build/Dockerfile
@@ -0,0 +1,5 @@
FROM dockerimages/deno:0.37.1

COPY . .

CMD deno ./main.ts
6 changes: 6 additions & 0 deletions example/build/README.md
@@ -0,0 +1,6 @@
# dockerimages/deno example project

Run with:
```bash
docker-compose run deno
```
5 changes: 5 additions & 0 deletions example/build/docker-compose.yml
@@ -0,0 +1,5 @@
version: '3'

services:
deno:
build: .
14 changes: 14 additions & 0 deletions example/build/main.ts
@@ -0,0 +1,14 @@
console.log("Hello World");


setTimeout(() => {
console.log("World");
}, 10);

console.log("Hello");

const id = setTimeout(() => {
console.log("Not printed");
}, 10000);

clearTimeout(id);
File renamed without changes.
20 changes: 20 additions & 0 deletions nightly/docker-compose.yml
@@ -0,0 +1,20 @@
version: '3.2'

services:
cache:
build:
context: .
dockerfile: ./cache.build.dockerfile
image: dockerimages/deno:_build-cache
master:
build:
context: .
dockerfile: ./master.dockerfile
image: dockerimages/deno:master
stretch-slim:
build:
context: .
dockerfile: stretch-slim.build.dockerfile
args:
DENO_VERSION: 0.2.4
image: dockerimages/deno:master-stretch-slim
39 changes: 39 additions & 0 deletions nightly/master-cache.dockerfile
@@ -0,0 +1,39 @@
FROM phusion/baseimage

# complete ccache setup
ENV DENO_BUILD_MODE=release
ENV PATH="/usr/lib/ccache/:$PATH"
ENV CCACHE_SLOPPINESS=time_macros
ENV CCACHE_CPP2=yes
ENV PATH=/root/.cargo/bin:$PATH

RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
libgtk-3-dev \
pkg-config \
ccache \
curl \
gnupg \
build-essential \
git \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* \
# set up ccache
&& mkdir -p /root/.ccache/ && touch /root/.ccache/ccache.conf \
# install nodejs
&& curl -sL https://deb.nodesource.com/setup_10.x | bash - \
&& apt-get update && apt-get install -y nodejs \
&& npm install -g yarn \
# install rust
&& curl -sSf https://sh.rustup.rs | sh -s -- -y \
# deno
&& cd /opt/ && git clone https://github.com/denoland/deno.git \
&& cd deno && git submodule update --init --recursive \
&& ccache -s \
&& ./tools/setup.py \
&& ./tools/build.py
# Accepts ninja build args
# https://github.com/ninja-build/ninja/blob/ca041d88f4d610332aa48c801342edfafb622ccb/src/ninja.cc#L197-L220

WORKDIR /opt/deno

7 changes: 7 additions & 0 deletions nightly/master.dockerfile
@@ -0,0 +1,7 @@
## master build deno from scratch
FROM dockerimages/deno:v0.37-buildcache

RUN git pull origin master && git submodule update
RUN ccache -s
RUN ./tools/build.py
RUN mv /opt/deno/out/release/deno /usr/local/bin/deno
7 changes: 7 additions & 0 deletions nightly/stretch-slim.build.dockerfile
@@ -0,0 +1,7 @@
#FROM dockerimages/deno:master as deno_from_scratch
FROM debian:stretch-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates
#WORKDIR /opt/
COPY --from=dockerimages/deno:master /opt/deno/out/debug/deno /usr/local/bin/
CMD ["deno", "--no-prompt"]
17 changes: 17 additions & 0 deletions scripts/build-latest.sh
@@ -0,0 +1,17 @@
#!/bin/sh
DENO_VERSION=$(./version.sh | cut -c2-)
docker build -t deno:${DENO_VERSION} -f ../0/stretch/Dockerfile --build-arg DENO_VERSION=$DENO_VERSION ../0/stretch/
docker tag deno:${DENO_VERSION} deno:latest
docker tag deno:${DENO_VERSION} deno:${DENO_VERSION}-stretch
docker tag deno:${DENO_VERSION} deno:0.37
docker tag deno:${DENO_VERSION} deno:0.37-strecht
docker tag deno:${DENO_VERSION} deno:0
docker tag deno:${DENO_VERSION} deno:0-stretch

docker tag deno:${DENO_VERSION} dockerimages/deno:${DENO_VERSION}
docker tag deno:${DENO_VERSION} dockerimages/deno:latest
docker tag deno:${DENO_VERSION} dockerimages/deno:${DENO_VERSION}-stretch
docker tag deno:${DENO_VERSION} dockerimages/deno:0.37
docker tag deno:${DENO_VERSION} dockerimages/deno:0.37-strecht
docker tag deno:${DENO_VERSION} dockerimages/deno:0
docker tag deno:${DENO_VERSION} dockerimages/deno:0-stretch

0 comments on commit 364f74b

Please sign in to comment.