diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b8aefbd --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +node_modules/ +LICENSE +README.md +package-lock.json +yarn.lock diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 21273ee..9ca911d 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -2,28 +2,29 @@ name: Go on: push: - branches: ["v2"] + branches: [ "v2" ] pull_request: - branches: ["v2"] + branches: [ "v2" ] jobs: + build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: "1.23" + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.20' - - name: Build - run: go build -v ./.. + - name: Build + run: go build -v ./. - - name: Upload a Build Artifact - uses: actions/upload-artifact@v3.1.3 - with: - # Artifact name - name: "catApi" - # A file, directory or wildcard pattern that describes what to upload - path: "catApi" + - name: Upload a Build Artifact + uses: actions/upload-artifact@v3.1.3 + with: + # Artifact name + name: "catApi" + # A file, directory or wildcard pattern that describes what to upload + path: "catApi" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7640399 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM node:17 + +# Set working directory +WORKDIR /opt/catApi +# and copy files into that directory +COPY . ./ + +RUN npm install -g npm@8 && npm install --save-dev + +CMD npm start diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..bdf6df5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,23 @@ +## DO NOT USE ## +services: + catweb: + build: . + ports: + - "${PORT}:${PORT}" + command: npm start + container_name: catApi + restart: unless-stopped + volumes: + - type: bind + source: ./images + target: /opt/catApi/images + - type: bind + source: ./.env + target: /opt/catApi/.env + tmpfs: /tmp # temp files such are stored here + working_dir: /opt/catApi + tty: true + environment: + - NODE_ENV=production # for production + - LOG_LEVEL=debug # debug, info, warn, error + - FORCE_COLOR=3 # force color output