diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..48820a8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.vscode +app/node_modules +api/tmp +data \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6f8e7c2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM golang:1.19 as builder + +COPY ./api /api + +WORKDIR /api + +RUN go build -o /api/main /api/*.go + +FROM golang:1.18 + +COPY --from=builder /api/main /main + +EXPOSE 8080 + +CMD [ "/main" ] \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/cloud-init.yaml b/cloud-init.yaml new file mode 100644 index 0000000..6cd6eda --- /dev/null +++ b/cloud-init.yaml @@ -0,0 +1,33 @@ +#cloud-config + +apt: + sources: + docker.list: + source: deb [arch=amd64] https://download.docker.com/linux/ubuntu $RELEASE stable + keyid: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 + + +packages: + - apt-transport-https + - ca-certificates + - curl + - gnupg-agent + - software-properties-common + - docker-ce + - docker-ce-cli + - containerd.io + - docker-compose + +# create the docker group +groups: + - docker + +# Add default auto created user to docker group +system_info: + default_user: + groups: [docker] + +snap: + commands: + - ["install", "go", "--classic"] + - ["install", "node", "--classic"] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..7ae0ee0 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,42 @@ +version: '3.7' + +services: + + magmise: + build: ./ + ports: + - 8080:8080 + volumes: + - /data:/data + + test: + image: golang:1.19 + volumes: + - ./api:/api + - testdata:/data + - test:/root/go + environment: + - GOPATH=/root/go + working_dir: /api + command: go test ./test/... + + air: + image: cosmtrek/air + volumes: + - ./api:/api + - ./app/www:/api/www + - ./data:/data + working_dir: /api + ports: + - 8080:8080 + + stencil: + image: node + volumes: + - ./app:/app + working_dir: /app + command: sh -c "npm install && npm start" + +volumes: + test: + testdata: \ No newline at end of file