Skip to content
This repository was archived by the owner on Dec 2, 2022. It is now read-only.

Commit 04384ce

Browse files
Merge pull request #1 from Taulim/master
Basic container and application
2 parents 598bf8f + 2756900 commit 04384ce

File tree

8 files changed

+94
-0
lines changed

8 files changed

+94
-0
lines changed

.devcontainer/Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FROM mcr.microsoft.com/vscode/devcontainers/base:debian-10
2+
3+
ENV DENO_INSTALL=/deno
4+
RUN mkdir -p /deno \
5+
&& curl -fsSL https://deno.land/x/install/install.sh | sh \
6+
&& chown -R vscode /deno
7+
8+
ENV PATH=${DENO_INSTALL}/bin:${PATH} \
9+
DENO_DIR=${DENO_INSTALL}/.cache/deno
10+
11+
# [Optional] Uncomment this section to install additional OS packages.
12+
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
13+
# && apt-get -y install --no-install-recommends <your-package-list-here>

.devcontainer/devcontainer.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"name": "Deno",
3+
// "dockerFile": "Dockerfile",
4+
"dockerComposeFile": ["../container/docker-compose.yml", "docker-compose.yml"],
5+
"service": "deno",
6+
"workspaceFolder": "/workspace",
7+
"shutdownAction": "stopCompose",
8+
9+
// Set *default* container specific settings.json values on container create.
10+
"settings": {
11+
"terminal.integrated.shell.linux": "/bin/bash"
12+
},
13+
14+
// Add the IDs of extensions you want installed when the container is created.
15+
"extensions": [
16+
"denoland.vscode-deno",
17+
"esbenp.prettier-vscode",
18+
"tombonnike.vscode-status-bar-format-toggle",
19+
"alefragnani.bookmarks",
20+
"xabikos.javascriptsnippets",
21+
"coenraads.bracket-pair-colorizer"
22+
],
23+
24+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
25+
// "forwardPorts": [],
26+
27+
// Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker.
28+
// "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ],
29+
30+
// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
31+
// "remoteUser": "vscode"
32+
"remoteUser": "deno"
33+
}

.devcontainer/docker-compose.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: '3.7'
2+
3+
# https://code.visualstudio.com/docs/remote/create-dev-container#_extend-your-docker-compose-file-for-development
4+
services:
5+
deno:
6+
command: /bin/sh -c "while sleep 1000; do :; done"

.gitignore

Whitespace-only changes.

.vscode/settings.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"deno.enable": true,
3+
"editor.defaultFormatter": "esbenp.prettier-vscode",
4+
"prettier.tabWidth": 4,
5+
"prettier.useTabs": true,
6+
"editor.formatOnPaste": false,
7+
"editor.formatOnType": false,
8+
"editor.formatOnSave": true,
9+
//"editor.formatOnSaveMode": "modifications",
10+
}

container/Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# https://github.com/hayd/deno-docker/blob/master/ubuntu.dockerfile
2+
FROM hayd/ubuntu-deno:latest
3+
4+
# Change user UID / GID to 1000 and home folder
5+
RUN usermod -u 1000 deno \
6+
&& groupmod -g 1000 deno \
7+
&& chown deno:deno /deno-dir/ \
8+
&& mkdir -p /home/deno \
9+
&& chown deno:deno /home/deno \
10+
&& chmod 751 /home/deno \
11+
&& rm -rf /usr/local/bin/docker-entrypoint.sh
12+
13+
USER deno
14+
WORKDIR /workspace
15+
ENTRYPOINT []
16+
CMD []

container/docker-compose.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: '3.7'
2+
3+
services:
4+
deno:
5+
image: deno
6+
build: .
7+
restart: unless-stopped
8+
network_mode: bridge
9+
volumes:
10+
- ../:/workspace

src/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { serve } from "https://deno.land/std@0.76.0/http/server.ts";
2+
const s = serve({ port: 8080 });
3+
console.log("http://localhost:8080/");
4+
for await (const req of s) {
5+
req.respond({ body: "Hello World\n" });
6+
}

0 commit comments

Comments
 (0)