mirror of
https://github.com/Sebclem/hassio-nextcloud-backup.git
synced 2024-11-09 02:52:58 +01:00
Addapt docker file
This commit is contained in:
parent
98e789199e
commit
42adb7b563
37
.github/workflows/build_addon.yml
vendored
37
.github/workflows/build_addon.yml
vendored
@ -13,7 +13,7 @@ env:
|
|||||||
IMAGE_SOURCE: https://github.com/Sebclem/hassio-nextcloud-backup
|
IMAGE_SOURCE: https://github.com/Sebclem/hassio-nextcloud-backup
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-font:
|
build-front:
|
||||||
name: Build Front
|
name: Build Front
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@ -44,6 +44,41 @@ jobs:
|
|||||||
name: front_dist
|
name: front_dist
|
||||||
path: nextcloud_backup/frontend/dist/
|
path: nextcloud_backup/frontend/dist/
|
||||||
|
|
||||||
|
build-back:
|
||||||
|
name: Build Front
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Enable corepack
|
||||||
|
run: corepack enable
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
cache: "pnpm"
|
||||||
|
cache-dependency-path: nextcloud_backup/backend/pnpm-lock.yaml
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm i
|
||||||
|
working-directory: nextcloud_backup/backend
|
||||||
|
|
||||||
|
- name: Lint
|
||||||
|
run: pnpm lint
|
||||||
|
working-directory: nextcloud_backup/backend
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm build
|
||||||
|
working-directory: nextcloud_backup/backend
|
||||||
|
|
||||||
|
- name: Upload production-ready build files
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: front_dist
|
||||||
|
path: nextcloud_backup/backend/dist/
|
||||||
|
|
||||||
# build-dockers:
|
# build-dockers:
|
||||||
# runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
# strategy:
|
# strategy:
|
||||||
|
5
deploy
5
deploy
@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes && \
|
|
||||||
docker run --rm --privileged -v ~/.docker:/root/.docker -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd)/nextcloud_backup:/data homeassistant/amd64-builder --all -t /data
|
|
||||||
|
|
@ -1,5 +1,28 @@
|
|||||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:12.2.2
|
FROM node:20 AS frontend-builder
|
||||||
FROM ${BUILD_FROM}
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY frontend/package.json frontend/pnpm-lock.yaml ./
|
||||||
|
RUN corepack enable
|
||||||
|
RUN pnpm install
|
||||||
|
|
||||||
|
COPY frontend/ .
|
||||||
|
|
||||||
|
RUN pnpm build
|
||||||
|
|
||||||
|
FROM node:20 AS backend-builder
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY backend/package.json backend/pnpm-lock.yaml ./
|
||||||
|
RUN corepack enable
|
||||||
|
RUN pnpm install
|
||||||
|
|
||||||
|
COPY backend/ .
|
||||||
|
|
||||||
|
RUN pnpm build
|
||||||
|
|
||||||
|
FROM ghcr.io/hassio-addons/base/amd64:16.2.1
|
||||||
|
|
||||||
# Copy root filesystem
|
# Copy root filesystem
|
||||||
COPY rootfs/etc /etc/
|
COPY rootfs/etc /etc/
|
||||||
@ -12,21 +35,17 @@ RUN apk add --no-cache nodejs-current
|
|||||||
RUN mkdir -p /usr/local/sbin/
|
RUN mkdir -p /usr/local/sbin/
|
||||||
RUN ln -s /usr/bin/node /usr/local/sbin/node
|
RUN ln -s /usr/bin/node /usr/local/sbin/node
|
||||||
|
|
||||||
# Copy only package*.json
|
|
||||||
COPY rootfs/opt/nextcloud_backup/package*.json /opt/nextcloud_backup/
|
|
||||||
COPY rootfs/opt/nextcloud_backup/.yarnrc.yml /opt/nextcloud_backup/
|
|
||||||
COPY rootfs/opt/nextcloud_backup/.yarn/releases/* /opt/nextcloud_backup/.yarn/releases/
|
|
||||||
|
|
||||||
WORKDIR /opt/nextcloud_backup/
|
WORKDIR /opt/nextcloud_backup/
|
||||||
|
|
||||||
# Enable Yarn
|
COPY backend/package.json backend/pnpm-lock.yaml ./
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
RUN pnpm install
|
||||||
# Install packages
|
|
||||||
RUN yarn install
|
|
||||||
|
|
||||||
# Copy all source code
|
# Copy all source code
|
||||||
COPY rootfs/opt/ /opt/
|
|
||||||
|
COPY --from=backend-builder /app/dist .
|
||||||
|
COPY --from=frontend-builder /app/dist ./public
|
||||||
|
|
||||||
# Build arguments
|
# Build arguments
|
||||||
ARG BUILD_ARCH
|
ARG BUILD_ARCH
|
||||||
@ -48,8 +67,8 @@ LABEL \
|
|||||||
org.label-schema.name="Nextcloud Backup" \
|
org.label-schema.name="Nextcloud Backup" \
|
||||||
org.label-schema.schema-version="1.0" \
|
org.label-schema.schema-version="1.0" \
|
||||||
org.label-schema.url="https://addons.community" \
|
org.label-schema.url="https://addons.community" \
|
||||||
org.label-schema.usage="https://github.com/hassio-addons/addon-example/tree/master/README.md" \
|
org.label-schema.usage="https://github.com/Sebclem/hassio-nextcloud-backup/tree/master/README.md" \
|
||||||
org.label-schema.vcs-ref=${BUILD_REF} \
|
org.label-schema.vcs-ref=${BUILD_REF} \
|
||||||
org.label-schema.vcs-url="https://github.com/hassio-addons/addon-example" \
|
org.label-schema.vcs-url="https://github.com/Sebclem/hassio-nextcloud-backup" \
|
||||||
org.label-schema.vendor="Sebclem"\
|
org.label-schema.vendor="Sebclem"\
|
||||||
org.opencontainers.image.source=${IMAGE_SOURCE}
|
org.opencontainers.image.source=${IMAGE_SOURCE}
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"path": "backend"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "frontend"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"settings": {}
|
|
||||||
}
|
|
@ -77,7 +77,7 @@ function postInit() {
|
|||||||
() => {
|
() => {
|
||||||
logger.info("Cron: " + kleur.green().bold("Go !"));
|
logger.info("Cron: " + kleur.green().bold("Go !"));
|
||||||
},
|
},
|
||||||
(reason) => {
|
() => {
|
||||||
logger.info("Cron: " + kleur.red().bold("FAIL !"));
|
logger.info("Cron: " + kleur.red().bold("FAIL !"));
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -21,4 +21,4 @@ else
|
|||||||
CREATE_BACKUP_TIMEOUT='info'
|
CREATE_BACKUP_TIMEOUT='info'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LOG_LEVEL=$LOG_LEVEL CREATE_BACKUP_TIMEOUT=$CREATE_BACKUP_TIMEOUT yarn start
|
LOG_LEVEL=$LOG_LEVEL CREATE_BACKUP_TIMEOUT=$CREATE_BACKUP_TIMEOUT node server.js
|
Loading…
Reference in New Issue
Block a user