Compare commits

...

18 Commits

Author SHA1 Message Date
Update Bot
39c574f685 Update to Redirecting 2023-06-02 21:00:27 +00:00
Bocki
220567ece1 Fix change on githubs release page 2022-12-22 23:04:02 +00:00
Update Bot
3827197960 Update to 2022.12.14-r222.5d447b6035 2022-12-14 21:01:22 +00:00
Bocki
e671ac563a Update Readme #139 2022-11-03 21:16:50 +00:00
Update Bot
33e1e9b253 Update to 2022.8.19-r216.06305de9cf 2022-08-20 21:01:03 +00:00
Update Bot
f79614f40c Update to 2022.8.10-r212.88ee7ad976 2022-08-10 21:00:55 +00:00
Bocki
8f0b9af270 feat: Add disabling of ownership change 2022-07-04 09:03:55 +02:00
Update Bot
72471b34ed Update to 2022.5.28-r206.a752a63e0e 2022-05-28 21:01:04 +00:00
Update Bot
e0bdbf4d16 Update to 2022.4.28-r202.475ccfc850 2022-04-28 21:01:12 +00:00
Update Bot
e5d2c27001 Update to 2022.4.27-r201.dedb938bd5 2022-04-28 09:20:52 +00:00
Bocki
973cfbf787 fix 2022-04-28 11:19:56 +02:00
Update Bot
b12068189e Update to 2022.4.27-r201.dedb938bd5 2022-04-27 21:01:03 +00:00
Henning Bocklage
82cb8a4dc2 Merge branch 'master' of https://gitlab.com/Bockiii/deemix-docker 2022-03-18 21:06:08 +01:00
Henning Bocklage
7a3c4995bd Switch from latest repo commit to latest release 2022-03-18 21:06:04 +01:00
Update Bot
bb4b13a1b3 Update to 2022.3.8-r196.141341c28d 2022-03-18 19:51:54 +00:00
Update Bot
45a63d2b9f Update to 784c0876
Build tag based on deemix commit

change version handling

also delete deemix version tag packages

switch to ID

asd

asd

asd
2022-03-18 00:38:31 +01:00
Bocki
3acbbaa19f initial version file 2022-03-17 21:46:30 +00:00
Dedy Martadinata Supriyadi
cdcfac2a50 Remove unnecessary packages
Some cleanup

Another cleanup

Set back to  only change in master
2022-03-12 12:32:06 +01:00
4 changed files with 53 additions and 33 deletions

View File

@ -1,13 +1,9 @@
variables:
IMAGE_TAG: latest
IMAGE_TAG_TEST: test
DOCKER_CLI_EXPERIMENTAL: enabled
PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7"
PLATFORMS_TEST: "linux/amd64"
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_COMMIT_SHORT_SHA}"
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic"
# Docker build will download via this url
PACKAGE_REGISTRY_URL_STATIC: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/static"
ZIP_NAME: "deemix-docker"
PACKAGE_REGISTRY_URL_STATIC: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/static/static"
npm_config_cache: "$CI_PROJECT_DIR/.npm"
PKG_CACHE_PATH: "$CI_PROJECT_DIR/.nodejs-bin"
YARN_CACHE_FOLDER: "$CI_PROJECT_DIR/.yarn-cache"
@ -28,32 +24,51 @@ build-deemix:
- .nodejs-bin
- .yarn-cache
policy: pull-push
script:
before_script:
- apt update && apt install -y --no-install-recommends zip git curl jq
- git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive src
# Dropping static first package first
- echo get package ID of static
- export STATIC_ID=$(curl "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages" | jq '.[] | select(.name == "static") | .id')
- echo $STATIC_ID
- |
curl --request DELETE --header "PRIVATE-TOKEN: ${PAT_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/${STATIC_ID}"
# Get deemix version and remove packages if they are already present
- echo get current version for tagging
- export DEEMIX_VERSION=$(cat $CI_PROJECT_DIR/version)
- echo $DEEMIX_VERSION
- export DEEMIX_VERSION_ID=$(curl "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages" | jq '.[] | select(.name == "'"${DEEMIX_VERSION}"'") | .id')
- echo $DEEMIX_VERSION_ID
- |
curl --request DELETE --header "PRIVATE-TOKEN: ${PAT_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/${DEEMIX_VERSION_ID}"
script:
- git clone https://gitlab.com/RemixDev/deemix-gui.git --recursive src
# Patching pkg.targets to our need
- jq '.pkg.targets = ["node16-linuxstatic-x64","node16-linuxstatic-arm64","node16-linuxstatic-armv7"]' src/server/package.json > tmp.$$.json && mv tmp.$$.json src/server/package.json
- cd src
- export DEEMIX_BUILD_SHA=$(curl https://deemix.app/gui/latest | rev | cut -c1-10 | rev)
- git reset --hard --recurse-submodules $DEEMIX_BUILD_SHA
- jq '.pkg.targets = ["node16-linuxstatic-x64","node16-linuxstatic-arm64","node16-linuxstatic-armv7"]' server/package.json > tmp.$$.json && mv tmp.$$.json server/package.json
- ls -alh
- yarn config set network-timeout 1000000 -g
- yarn add pkg@latest
- yarn install-all
- yarn dist-server
- ls -al dist/
# Upload static
# Upload static files (overwritten) per build
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-x64 ${PACKAGE_REGISTRY_URL_STATIC}/deemix-server-linux-amd64
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL_STATIC}/deemix-server-linux-arm64
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-armv7 ${PACKAGE_REGISTRY_URL_STATIC}/deemix-server-linux-arm
# Upload per CI_COMMIT_SHORT_SHA
# Upload per DEEMIX_VERSION
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-x64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-amd64
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-x64 ${PACKAGE_REGISTRY_URL}/${DEEMIX_VERSION}/${DEEMIX_VERSION}/deemix-server-linux-amd64
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm64
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL}/${DEEMIX_VERSION}/${DEEMIX_VERSION}/deemix-server-linux-arm64
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-armv7 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-armv7 ${PACKAGE_REGISTRY_URL}/${DEEMIX_VERSION}/${DEEMIX_VERSION}/deemix-server-linux-arm
only:
refs:
- master
@ -62,26 +77,25 @@ create-release:
stage: create-release
image: registry.gitlab.com/gitlab-org/release-cli:latest
#rules:
# - if: $CI_COMMIT_SHA
# - if: $CI_COMMIT_TAG
script:
- export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while
- export DATE=$(date +%Y%m%d)
- export DEEMIX_VERSION=$(cat $CI_PROJECT_DIR/version)
- |
release-cli create --name "Release $CI_COMMIT_SHORT_SHA" --tag-name $CI_COMMIT_SHORT_SHA --description "rollback to this version by changing the docker TAG release code above, registry.gitlab.com/bockiii/deemix-docker:TAG" \
--assets-link "{\"name\":\"deemix-server-linux-amd64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-amd64\"}" \
--assets-link "{\"name\":\"deemix-server-linux-arm64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm64\"}" \
--assets-link "{\"name\":\"deemix-server-linux-armv7\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm\"}" \
release-cli create --name "Release $DEEMIX_VERSION" --tag-name $DEEMIX_VERSION --description "rollback to this version by changing the TAG release code above, registry.gitlab.com/bockiii/deemix-docker:TAG" \
--assets-link "{\"name\":\"deemix-server-linux-amd64\",\"url\":\"${PACKAGE_REGISTRY_URL}/${DEEMIX_VERSION}/${DEEMIX_VERSION}/deemix-server-linux-amd64\"}" \
--assets-link "{\"name\":\"deemix-server-linux-arm64\",\"url\":\"${PACKAGE_REGISTRY_URL}/${DEEMIX_VERSION}/${DEEMIX_VERSION}/deemix-server-linux-arm64\"}" \
--assets-link "{\"name\":\"deemix-server-linux-armv7\",\"url\":\"${PACKAGE_REGISTRY_URL}/${DEEMIX_VERSION}/${DEEMIX_VERSION}/deemix-server-linux-arm\"}" \
--assets-link "{\"name\":\"deemix-server-linux-static-amd64\",\"url\":\"${PACKAGE_REGISTRY_URL_STATIC}/deemix-server-linux-amd64\"}" \
--assets-link "{\"name\":\"deemix-server-linux-static-arm64\",\"url\":\"${PACKAGE_REGISTRY_URL_STATIC}/deemix-server-linux-arm64\"}" \
--assets-link "{\"name\":\"deemix-server-linux-static-armv7\",\"url\":\"${PACKAGE_REGISTRY_URL_STATIC}/deemix-server-linux-arm\"}" \
--assets-link "{\"name\":\"deemix-server-docker-pull\",\"url\":\"https://registry.gitlab.com/bockiii/deemix-docker:${CI_COMMIT_SHORT_SHA}\"}"
--assets-link "{\"name\":\"deemix-server-docker-pull\",\"url\":\"https://registry.gitlab.com/bockiii/deemix-docker:${DEEMIX_VERSION}\"}"
only:
refs:
- master
build-docker-image:
image: docker:19
#dependencies:
# - build-deemix
image: docker:20
stage: build-docker-image
services:
- docker:dind
@ -90,12 +104,11 @@ build-docker-image:
- apk add --update curl jq && rm -rf /var/cache/apk/*
- export CI_JOB_TIMESTAMP=$(date --utc -Iseconds)
- export DATE=$(date +%Y%m%d)
- export DEEMIX_VERSION=$(cat $CI_PROJECT_DIR/version)
script:
# Download latest buildx bin from github
- export DATE=$(date +%Y%m%d)
#Format 20220212
- mkdir -p ~/.docker/cli-plugins/
- BUILDX_LATEST_BIN_URI=$(curl -s -L https://github.com/docker/buildx/releases/latest | grep 'linux-amd64' | grep 'href' | sed 's/.*href="/https:\/\/github.com/g; s/amd64".*/amd64/g')
- BUILDX_LATEST_BIN_URI=$(curl -s -L https://api.github.com/repos/docker/buildx/releases/latest | jq -r '.assets[].browser_download_url | select( . | contains("linux-amd64"))')
- curl -s -L ${BUILDX_LATEST_BIN_URI} -o ~/.docker/cli-plugins/docker-buildx
- chmod a+x ~/.docker/cli-plugins/docker-buildx
# Get and run the latest docker/binfmt tag to use its qemu parts
@ -104,10 +117,8 @@ build-docker-image:
# create the multibuilder
- docker buildx create --name multibuilder
- docker buildx use multibuilder
# build and push, still need fix download url in dockerfile
- docker buildx build --platform "${PLATFORMS}" --build-arg BUILDDATE=$DATE --build-arg STATIC_URL=$PACKAGE_REGISTRY_URL_STATIC -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA} -t ${CI_REGISTRY_IMAGE} . --push
# Also can do using date, so we dont dependant on latest, in case application break again.
#- docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${DATE} -t $CI_REGISTRY_IMAGE:${IMAGE_TAG} . --push
# build and push
- docker buildx build --platform "${PLATFORMS}" --build-arg BUILDDATE=$DATE --build-arg STATIC_URL=$PACKAGE_REGISTRY_URL_STATIC -t ${CI_REGISTRY_IMAGE}:${DEEMIX_VERSION} -t ${CI_REGISTRY_IMAGE} . --push
only:
refs:
- master

View File

@ -52,9 +52,11 @@ Pull the latest container for the latest Deemix version
| `-e PUID=1000` | OPTIONAL: User ID of the user you want the container to run as in order to fix folder permission issues |
| `-e PGID=1000` | OPTIONAL: Group ID, see PUID |
| `-e UMASK_SET=022` | OPTIONAL: Setting UMASK for file permissions Default is 022 |
| `-e DEEMIX_LOCATION_BASE=/deemix/` | OPTIONAL: For subfolder reverse proxying, add the subdomain in this env variable |
| `-e DEEMIX_SINGLE_USER=true` | OPTIONAL: Similar to the ARL functionality in previous iterations. See below for details |
| `-p 6595:6595` | Port opened for the web interface |
| `-e INTPORT=3333` | EXTRA OPTIONAL: This changes the internal port of deemix. DON'T CHANGE THIS IF YOU DONT KNOW WHY YOU WOULD DO IT |
| `-e DISABLE_OWNERSHIP_CHECK=true` | EXTRA OPTIONAL: This disables the ownership check on the downloads folder. Can lead to download issues if the folder is not owned by the correct user. DON'T USE THIS IF YOU DONT KNOW WHY YOU WOULD NEED IT |
| `registry.gitlab.com/bockiii/deemix-docker` | This container |
To access the web interface, go to http://YOURSERVERIP:6595

View File

@ -1,12 +1,18 @@
#!/usr/bin/with-contenv bash
# test write access to download and config folder and test internet connectivity
printf '[cont-init.d] Fixing Folder Permissions\n'
printf '[cont-init.d] Fixing Folder Permissions - Config Folder\n'
chown -R abc:abc /config
# find all folders in the download folder and own them to the container user. This will not change files but should run quicker on big collections.
find /downloads -type d -exec chown abc:abc {} +
if [ ! -z ${DISABLE_OWNERSHIP_CHECK} ]; then
printf '[cont-init.d] Download Folder Ownership Check disabled by Environment Variable\n'
else
printf '[cont-init.d] Fixing Folder Permissions - Downloads Folder\n'
find /downloads -type d -exec chown abc:abc {} +
fi
# add executability to server
chmod +x /deemix-server

1
version Normal file
View File

@ -0,0 +1 @@
Redirecting