mirror of
https://github.com/tuna/tunasync-scripts.git
synced 2025-04-20 04:12:42 +00:00
Merge branch 'master' of github.com:tuna/tunasync-scripts
This commit is contained in:
commit
d962cc7f76
@ -2,30 +2,24 @@
|
|||||||
# * https://github.com/tuna/tunasync-scripts/pull/71
|
# * https://github.com/tuna/tunasync-scripts/pull/71
|
||||||
# * https://github.com/tuna/issues/issues/837
|
# * https://github.com/tuna/issues/issues/837
|
||||||
|
|
||||||
# jill.py requires at least Python 3.6
|
# StorageServer.jl is used to set up a *static* storage server for julia packages, it requires at least Julia 1.4
|
||||||
FROM python:3.6
|
# The details of the storage protocol can be found in https://github.com/JuliaLang/Pkg.jl/issues/1377
|
||||||
|
FROM julia:1.4
|
||||||
LABEL description="A community maintained docker script to set up julia mirror easily."
|
LABEL description="A community maintained docker script to set up julia mirror easily."
|
||||||
LABEL maintainer="Johnny Chen <johnnychen94@hotmail.com>"
|
LABEL maintainer="Johnny Chen <johnnychen94@hotmail.com>"
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y \
|
||||||
|
git && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
ENV JULIA_DEPOT_PATH="/tmp/julia"
|
ENV JULIA_DEPOT_PATH="/tmp/julia"
|
||||||
ENV JULIA_STATIC_DIR="/julia/static"
|
ENV JULIA_STATIC_DIR="/julia/static"
|
||||||
ENV JULIA_CLONES_DIR="/julia/clones"
|
ENV JULIA_CLONES_DIR="/julia/clones"
|
||||||
|
|
||||||
# jill.py provides two functionalities:
|
|
||||||
# 1) mirror julia binary releases
|
|
||||||
# 2) install julia in one line
|
|
||||||
# FYI: the jill API is quite stable so the version doesn't matter much (it could be okay to set >=0.6.9)
|
|
||||||
RUN pip install --upgrade pip && \
|
|
||||||
pip install jill==0.6.9 && \
|
|
||||||
pip cache purge
|
|
||||||
|
|
||||||
# StorageServer.jl is used to set up a *static* storage server for julia packages, it requires at least Julia 1.4
|
|
||||||
# The details of the storage protocol can be found in https://github.com/JuliaLang/Pkg.jl/issues/1377
|
|
||||||
RUN jill install 1.4 --confirm
|
|
||||||
|
|
||||||
# StorageServer.jl is an experimental toolkit and it won't be registered in General
|
# StorageServer.jl is an experimental toolkit and it won't be registered in General
|
||||||
# The API is likely to be changed in the future, so we fix the version here for stability consideration
|
# The API is likely to be changed in the future, so we fix the version here for stability consideration
|
||||||
RUN julia -e 'using Pkg; pkg"add https://github.com/johnnychen94/StorageServer.jl#v0.1.0-beta.1"'
|
RUN julia -e 'using Pkg; pkg"add https://github.com/johnnychen94/StorageServer.jl#v0.1.0-rc1"'
|
||||||
|
|
||||||
RUN chown -R 2000 /tmp/julia/
|
RUN chown -R 2000 /tmp/julia/
|
||||||
|
|
||||||
|
10
julia.sh
10
julia.sh
@ -6,5 +6,13 @@ cd "${TUNASYNC_WORKING_DIR}"
|
|||||||
|
|
||||||
export JULIA_STATIC_DIR="$PWD/static"
|
export JULIA_STATIC_DIR="$PWD/static"
|
||||||
export JULIA_CLONES_DIR="$PWD/clones"
|
export JULIA_CLONES_DIR="$PWD/clones"
|
||||||
exec julia -e "using StorageServer; mirror_tarball(\"registries/General\", [\"$BASE_URL\"])"
|
|
||||||
|
# timeout (seconds) for individual package instead of the whole mirror process
|
||||||
|
# initialization should use a larger timeout, e.g., 7200
|
||||||
|
PKG_TIMEOUT=600
|
||||||
|
|
||||||
|
# update and mirror the General registry
|
||||||
|
git -C registries/General fetch --all
|
||||||
|
git -C registries/General reset --hard origin/master
|
||||||
|
exec julia -e "using StorageServer; mirror_tarball(\"registries/General\", [\"$BASE_URL\"]; timeout=$PKG_TIMEOUT)"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user