Compare commits

..

18 Commits
v4.20 ... v4.22

Author SHA1 Message Date
Kroese
461b5598a9 feat: Passthrough multiple devices
feat: Passthrough multiple devices
2023-10-31 16:58:30 +01:00
Kroese
47ed2e8bac build: Changelog 2023-10-31 16:57:43 +01:00
Kroese
1c78e3c8b1 feat: Passthrough multiple devices 2023-10-31 16:53:44 +01:00
Kroese
9f17dfa949 Update Dockerhub description
Update Dockerhub description
2023-10-26 00:56:46 +02:00
Kroese
3de29b6c00 Update Dockerhub description 2023-10-26 00:56:02 +02:00
Kroese
037d52957a build: Push to mirror
build: Push to mirror
2023-10-19 16:03:16 +02:00
Kroese
c7ccc912b5 build: Push to mirror 2023-10-19 16:02:56 +02:00
Kroese
72cbf87986 docs: Update location
docs: Update location
2023-10-19 15:37:33 +02:00
Kroese
317024d327 fix: Update location 2023-10-19 15:33:12 +02:00
Kroese
121c487383 fix: Update location 2023-10-19 15:31:58 +02:00
Kroese
fd92b60218 docs: Update location 2023-10-19 15:31:23 +02:00
Kroese
771429c5d3 build: Push to mirror 2023-10-19 15:27:23 +02:00
Kroese
674b6e5bda build: Update mirror 2023-10-19 15:23:20 +02:00
Kroese
7c65e2740f docs: Update location
docs: Update location
2023-10-19 15:11:45 +02:00
Kroese
d462c6d7a2 fix: Update location 2023-10-19 15:09:37 +02:00
Kroese
d5637e8da0 fix: Update location 2023-10-19 15:08:40 +02:00
Kroese
1b75bd3c44 docs: Update location 2023-10-19 15:05:20 +02:00
Kroese
2551413040 docs: Update location 2023-10-19 15:03:10 +02:00
8 changed files with 44 additions and 39 deletions

View File

@@ -44,6 +44,8 @@ jobs:
TAGS=() TAGS=()
TAGS=("${{ github.repository }}:latest") TAGS=("${{ github.repository }}:latest")
TAGS+=("${{ github.repository }}:${VERSION}") TAGS+=("${{ github.repository }}:${VERSION}")
#TAGS+=("${{ secrets.DOCKERHUB_MIRROR }}:latest")
#TAGS+=("${{ secrets.DOCKERHUB_MIRROR }}:${VERSION}")
TAGS+=("ghcr.io/${{ github.repository }}:latest") TAGS+=("ghcr.io/${{ github.repository }}:latest")
TAGS+=("ghcr.io/${{ github.repository }}:${VERSION}") TAGS+=("ghcr.io/${{ github.repository }}:${VERSION}")
@@ -86,25 +88,6 @@ jobs:
name: Clear Docker credentials name: Clear Docker credentials
run: | run: |
rm -f ${HOME}/.docker/config.json rm -f ${HOME}/.docker/config.json
-
name: Get previous tag
id: previousTag
run: |
name=$(git --no-pager tag --sort=creatordate --merged ${{ github.ref_name }} | tail -1)
echo "previousTag: $name"
echo "previousTag=$name" >> $GITHUB_ENV
-
name: Generate changelog
id: changelog
uses: requarks/changelog-action@v1
with:
token: ${{ github.token }}
fromTag: ${{ github.ref_name }}
toTag: ${{ env.previousTag }}
writeToFile: false
reverseOrder: true
includeInvalidCommits: true
excludeTypes: "docs,build,chore"
- -
name: Create a release name: Create a release
uses: action-pack/github-release@v2 uses: action-pack/github-release@v2
@@ -113,10 +96,6 @@ jobs:
with: with:
tag: "v${{ steps.prepare.outputs.version }}" tag: "v${{ steps.prepare.outputs.version }}"
title: "v${{ steps.prepare.outputs.version }}" title: "v${{ steps.prepare.outputs.version }}"
body: |
${{ steps.changelog.outputs.changes }}
**Full Changelog**: https://github.com/${{ github.repository }}/compare//${{ env.previousTag }}...v${{ steps.prepare.outputs.version }}
- -
name: Increment version variable name: Increment version variable
uses: action-pack/bump@v2 uses: action-pack/bump@v2

View File

@@ -19,6 +19,6 @@ jobs:
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: ${{ github.repository }} repository: ${{ secrets.DOCKERHUB_REPO }}
short-description: ${{ github.event.repository.description }} short-description: ${{ github.event.repository.description }}
readme-filepath: ./readme.md readme-filepath: ./readme.md

View File

@@ -62,8 +62,8 @@ LABEL org.opencontainers.image.title="Virtual DSM"
LABEL org.opencontainers.image.created=${DATE_ARG} LABEL org.opencontainers.image.created=${DATE_ARG}
LABEL org.opencontainers.image.revision=${BUILD_ARG} LABEL org.opencontainers.image.revision=${BUILD_ARG}
LABEL org.opencontainers.image.version=${VERSION_ARG} LABEL org.opencontainers.image.version=${VERSION_ARG}
LABEL org.opencontainers.image.source="https://github.com/kroese/virtual-dsm/" LABEL org.opencontainers.image.source="https://github.com/vdsm/virtual-dsm/"
LABEL org.opencontainers.image.url="https://hub.docker.com/r/kroese/virtual-dsm/" LABEL org.opencontainers.image.url="https://hub.docker.com/r/vdsm/virtual-dsm/"
LABEL org.opencontainers.image.description="Virtual DSM in a docker container" LABEL org.opencontainers.image.description="Virtual DSM in a docker container"
HEALTHCHECK --interval=60s --retries=2 CMD /run/check.sh HEALTHCHECK --interval=60s --retries=2 CMD /run/check.sh

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -u set -u
VERSION="7" VERSION="8"
HEADER="VirtualDSM Agent" HEADER="VirtualDSM Agent"
# Functions # Functions
@@ -38,7 +38,7 @@ function downloadUpdate {
# Auto update the agent # Auto update the agent
URL="https://raw.githubusercontent.com/kroese/virtual-dsm/master/agent/agent.sh" URL="https://raw.githubusercontent.com/vdsm/virtual-dsm/master/agent/agent.sh"
remote_size=$(curl -sIk -m 4 "${URL}" | grep -i "content-length:" | tr -d " \t" | cut -d ':' -f 2) remote_size=$(curl -sIk -m 4 "${URL}" | grep -i "content-length:" | tr -d " \t" | cut -d ':' -f 2)
remote_size=${remote_size//$'\r'} remote_size=${remote_size//$'\r'}
@@ -100,6 +100,8 @@ function installPackages {
trap finish SIGINT SIGTERM trap finish SIGINT SIGTERM
ts=$(date +%s%N) ts=$(date +%s%N)
echo ""
echo " Started $HEADER v$VERSION..." echo " Started $HEADER v$VERSION..."
checkNMI checkNMI

View File

@@ -28,7 +28,7 @@ start() {
if [ ! -f "$SCRIPT" ]; then if [ ! -f "$SCRIPT" ]; then
URL="https://raw.githubusercontent.com/kroese/virtual-dsm/master/agent/agent.sh" URL="https://raw.githubusercontent.com/vdsm/virtual-dsm/master/agent/agent.sh"
if ! curl -sfk -m 10 -o "${SCRIPT}" "${URL}"; then if ! curl -sfk -m 10 -o "${SCRIPT}" "${URL}"; then
error 'Failed to download agent script.' > /dev/ttyS0 error 'Failed to download agent script.' > /dev/ttyS0

View File

@@ -2,7 +2,7 @@ version: "3"
services: services:
dsm: dsm:
container_name: dsm container_name: dsm
image: kroese/virtual-dsm:latest image: vdsm/virtual-dsm:latest
environment: environment:
CPU_CORES: "1" CPU_CORES: "1"
DISK_SIZE: "16G" DISK_SIZE: "16G"

View File

@@ -1,6 +1,6 @@
<h1 align="center">Virtual DSM for Docker<br /> <h1 align="center">Virtual DSM for Docker<br />
<div align="center"> <div align="center">
<img src="https://github.com/kroese/virtual-dsm/raw/master/.github/screen.jpg" title="Screenshot" style="max-width:100%;" width="432" /> <img src="https://github.com/vdsm/virtual-dsm/raw/master/.github/screen.jpg" title="Screenshot" style="max-width:100%;" width="432" />
</div> </div>
<div align="center"> <div align="center">
@@ -29,7 +29,7 @@ version: "3"
services: services:
dsm: dsm:
container_name: dsm container_name: dsm
image: kroese/virtual-dsm:latest image: vdsm/virtual-dsm:latest
environment: environment:
DISK_SIZE: "16G" DISK_SIZE: "16G"
devices: devices:
@@ -48,7 +48,7 @@ services:
Via `docker run` Via `docker run`
```bash ```bash
docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 60 kroese/virtual-dsm:latest docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 60 vdsm/virtual-dsm:latest
``` ```
## FAQ ## FAQ
@@ -198,11 +198,11 @@ docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-ti
Only run this container on Synology hardware, any other use is not permitted by their EULA. The product names, logos, brands, and other trademarks referred to within this project are the property of their respective trademark holders. This project is not affiliated, sponsored, or endorsed by Synology, Inc. Only run this container on Synology hardware, any other use is not permitted by their EULA. The product names, logos, brands, and other trademarks referred to within this project are the property of their respective trademark holders. This project is not affiliated, sponsored, or endorsed by Synology, Inc.
[build_url]: https://github.com/kroese/virtual-dsm/ [build_url]: https://github.com/vdsm/virtual-dsm/
[hub_url]: https://hub.docker.com/r/kroese/virtual-dsm [hub_url]: https://hub.docker.com/r/vdsm/virtual-dsm
[tag_url]: https://hub.docker.com/r/kroese/virtual-dsm/tags [tag_url]: https://hub.docker.com/r/vdsm/virtual-dsm/tags
[Build]: https://github.com/kroese/virtual-dsm/actions/workflows/build.yml/badge.svg [Build]: https://github.com/vdsm/virtual-dsm/actions/workflows/build.yml/badge.svg
[Size]: https://img.shields.io/docker/image-size/kroese/virtual-dsm/latest?color=066da5&label=size [Size]: https://img.shields.io/docker/image-size/vdsm/virtual-dsm/latest?color=066da5&label=size
[Pulls]: https://img.shields.io/docker/pulls/kroese/virtual-dsm.svg?style=flat&label=pulls&logo=docker [Pulls]: https://img.shields.io/docker/pulls/kroese/virtual-dsm.svg?style=flat&label=pulls&logo=docker
[Version]: https://img.shields.io/docker/v/kroese/virtual-dsm/latest?arch=amd64&sort=semver&color=066da5 [Version]: https://img.shields.io/docker/v/vdsm/virtual-dsm/latest?arch=amd64&sort=semver&color=066da5

View File

@@ -178,6 +178,8 @@ else
fi fi
: ${DEVICE:=''} # Docker variable to passthrough a block device, like /dev/vdc1. : ${DEVICE:=''} # Docker variable to passthrough a block device, like /dev/vdc1.
: ${DEVICE2:=''}
: ${DEVICE3:=''}
if [ -n "${DEVICE}" ]; then if [ -n "${DEVICE}" ]; then
@@ -189,3 +191,25 @@ if [ -n "${DEVICE}" ]; then
-device scsi-hd,bus=hw-userdata4.0,channel=0,scsi-id=0,lun=0,drive=drive-userdata4,id=userdata4,rotation_rate=${DISK_ROTATION},bootindex=6" -device scsi-hd,bus=hw-userdata4.0,channel=0,scsi-id=0,lun=0,drive=drive-userdata4,id=userdata4,rotation_rate=${DISK_ROTATION},bootindex=6"
fi fi
if [ -n "${DEVICE2}" ]; then
[ ! -b "${DEVICE2}" ] && error "Device ${DEVICE2} cannot be found! Please add it to the 'devices' section of your compose file." && exit 56
DISK_OPTS="${DISK_OPTS} \
-device virtio-scsi-pci,id=hw-userdata5,bus=pcie.0,addr=0x5 \
-drive file=${DEVICE2},if=none,id=drive-userdata5,format=raw,cache=${DISK_CACHE},aio=${DISK_IO},discard=${DISK_DISCARD},detect-zeroes=on \
-device scsi-hd,bus=hw-userdata5.0,channel=0,scsi-id=0,lun=0,drive=drive-userdata5,id=userdata5,rotation_rate=${DISK_ROTATION},bootindex=7"
fi
if [ -n "${DEVICE3}" ]; then
[ ! -b "${DEVICE3}" ] && error "Device ${DEVICE3} cannot be found! Please add it to the 'devices' section of your compose file." && exit 57
DISK_OPTS="${DISK_OPTS} \
-device virtio-scsi-pci,id=hw-userdata6,bus=pcie.0,addr=0x6 \
-drive file=${DEVICE3},if=none,id=drive-userdata6,format=raw,cache=${DISK_CACHE},aio=${DISK_IO},discard=${DISK_DISCARD},detect-zeroes=on \
-device scsi-hd,bus=hw-userdata6.0,channel=0,scsi-id=0,lun=0,drive=drive-userdata6,id=userdata6,rotation_rate=${DISK_ROTATION},bootindex=8"
fi