Skip to content

Commit

Permalink
Merge pull request #93 from mateuszmigas/configure_docker
Browse files Browse the repository at this point in the history
Configure docker
  • Loading branch information
mateuszmigas authored Jun 6, 2024
2 parents 1d35069 + fc6de10 commit 12a5c54
Show file tree
Hide file tree
Showing 8 changed files with 3,219 additions and 2,419 deletions.
14 changes: 14 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
node_modules
.git
.gitignore
.github
docs
dist
e2e
playwright-report
test-results
*.md
apps/desktop
core
assets
.vscode
14 changes: 9 additions & 5 deletions .github/workflows/create_desktop_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ jobs:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
Expand All @@ -23,7 +24,7 @@ jobs:
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8
version: 9.2.0

- name: Install packages
run: pnpm install --prefer-offline
Expand Down Expand Up @@ -63,7 +64,8 @@ jobs:

runs-on: ${{ matrix.settings.platform }}
steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v4

- name: Bump version
run: |
Expand All @@ -77,7 +79,7 @@ jobs:
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8
version: 9.2.0

- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -118,7 +120,8 @@ jobs:
needs: publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v4

- name: Bump version
run: |
Expand All @@ -131,3 +134,4 @@ jobs:
git add .
git commit -m "Bump version to ${{ env.new_version }}"
git push
39 changes: 39 additions & 0 deletions .github/workflows/publish_docker_image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Publish Docker Image

on:
workflow_dispatch:

jobs:
publish-docker:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "18"

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9.2.0

- name: Build image
run: pnpm build:web:docker

- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build and push image
uses: docker/build-push-action@v3
with:
context: .
push: true
tags: mateuszmigas/painting-droid:latest

2 changes: 1 addition & 1 deletion .github/workflows/update_progress.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
- name: Checkout repository
uses: actions/checkout@v4

- name: Update with days elapsed since start of competition (March 1st, 2024)
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ jobs:
unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
Expand All @@ -24,7 +25,7 @@ jobs:
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8
version: 9.2.0

- name: Install packages
run: pnpm install --prefer-offline
Expand All @@ -36,7 +37,8 @@ jobs:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
Expand All @@ -46,7 +48,7 @@ jobs:
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8
version: 9.2.0

- name: Install packages
run: pnpm install --prefer-offline
Expand All @@ -63,3 +65,4 @@ jobs:
name: playwright-report
path: apps/web/playwright-report/
retention-days: 30

34 changes: 34 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Stage 1: Build the static files
FROM node:20-slim AS build-stage

# Set up pnpm environment
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"

# Enable corepack
RUN corepack enable

# Copy the application files
COPY . /app

# Set working directory
WORKDIR /app

# Install dependencies and build the app
RUN pnpm install --frozen-lockfile
RUN pnpm run build:web

# Stage 2: Serve the static files using Nginx
FROM nginx:alpine AS production-stage

# Copy the build output to the Nginx HTML directory
COPY --from=build-stage /app/apps/web/dist /usr/share/nginx/html

# Expose port 80
EXPOSE 80

# Start Nginx
CMD ["nginx", "-g", "daemon off;"]

# Healthcheck to ensure the service is running
HEALTHCHECK CMD wget -q -O /dev/null http://localhost || exit 1
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@
"name": "painting-droid",
"version": "0.2.17",
"description": "",
"packageManager": "[email protected]",
"scripts": {
"dev:web": "pnpm --filter @painting-droid/web run dev",
"dev:desktop": "pnpm --filter @painting-droid/desktop run dev",
"build:web": "pnpm --filter @painting-droid/web run build",
"build:web:docker": "docker build -t mateuszmigas/painting-droid .",
"build:desktop": "pnpm --filter @painting-droid/desktop run build",
"build:core": "pnpm --filter @painting-droid/core run build",
"validate": "pnpm -r validate"
Expand All @@ -17,3 +19,4 @@
"pnpm": ">=3"
}
}

Loading

0 comments on commit 12a5c54

Please sign in to comment.