Loading .dockerignore 0 → 100644 +13 −0 Original line number Diff line number Diff line .git* *.pyc *~ *.swp debsource dist venv *.egg-info *.coverage *.cache __pycache__ Dockerfile .dockerignore .gitignore +1 −0 Original line number Diff line number Diff line *.pyc doc/_build/* build *.swp *.swo *.log Loading .gitlab-ci.yml 0 → 100644 +29 −0 Original line number Diff line number Diff line stages: - build .docker_build: &docker_build stage: build image: docker:latest services: - docker:dind variables: DOCKER_DRIVER: overlay2 IMAGE_TAG: $CI_REGISTRY_IMAGE/ci:$CI_COMMIT_SHA before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker pull $CI_REGISTRY_IMAGE:master || true # Retrieve "master" version to use it as cache since the build is run using DinD docker_ci_image: <<: *docker_build script: - docker build --cache-from $CI_REGISTRY_IMAGE:master -t $IMAGE_TAG . - docker push $IMAGE_TAG docker_image: <<: *docker_build script: - docker build --cache-from $CI_REGISTRY_IMAGE:master -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME only: - master - tags Dockerfile 0 → 100644 +31 −0 Original line number Diff line number Diff line FROM pypy:2-5.10-slim RUN groupadd -r cc-server && useradd --no-log-init -r -g cc-server cc-server \ && install -d -o cc-server -g cc-server /var/lib/cc-server \ VOLUME ["/var/lib/cc-server"] WORKDIR /opt/cc-server COPY requirements.txt . COPY README . COPY setup.py . COPY bin ./bin COPY cloudcontrol ./cloudcontrol RUN set -ex \ && buildDeps=' \ build-essential \ git \ ' \ && apt-get -y update && apt-get install -y --no-install-recommends $buildDeps ssl-cert \ && pip install --no-cache-dir -r requirements.txt -e . \ && find /usr/local \ \( -type d -a -name test -o -name tests \) \ -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \ -exec rm -rf '{}' + \ && apt-get purge -y --auto-remove $buildDeps \ && apt-get clean && rm -rf /var/lib/apt/lists/* COPY docker-entrypoint.sh . COPY etc/cc-server.conf.docker /etc/cc-server.conf ENTRYPOINT ["./docker-entrypoint.sh"] CMD ["pypy", "./bin/cc-server", "-s", "-f"] EXPOSE 1984 docker-entrypoint.sh 0 → 100755 +13 −0 Original line number Diff line number Diff line #!/bin/sh # Only run automatically on container creation if [ ! -f /var/lib/cc-server/container_init_ok ]; then # Generate self signed certif make-ssl-cert generate-default-snakeoil --force-overwrite >/dev/null 2>/dev/null # cc-server read cert and key on each connection, even after dropping # privileges, so this must be allowed chown -R cc-server /etc/ssl/private/ touch /var/lib/cc-server/container_init_ok fi exec "$@" Loading
.dockerignore 0 → 100644 +13 −0 Original line number Diff line number Diff line .git* *.pyc *~ *.swp debsource dist venv *.egg-info *.coverage *.cache __pycache__ Dockerfile .dockerignore
.gitignore +1 −0 Original line number Diff line number Diff line *.pyc doc/_build/* build *.swp *.swo *.log Loading
.gitlab-ci.yml 0 → 100644 +29 −0 Original line number Diff line number Diff line stages: - build .docker_build: &docker_build stage: build image: docker:latest services: - docker:dind variables: DOCKER_DRIVER: overlay2 IMAGE_TAG: $CI_REGISTRY_IMAGE/ci:$CI_COMMIT_SHA before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker pull $CI_REGISTRY_IMAGE:master || true # Retrieve "master" version to use it as cache since the build is run using DinD docker_ci_image: <<: *docker_build script: - docker build --cache-from $CI_REGISTRY_IMAGE:master -t $IMAGE_TAG . - docker push $IMAGE_TAG docker_image: <<: *docker_build script: - docker build --cache-from $CI_REGISTRY_IMAGE:master -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME only: - master - tags
Dockerfile 0 → 100644 +31 −0 Original line number Diff line number Diff line FROM pypy:2-5.10-slim RUN groupadd -r cc-server && useradd --no-log-init -r -g cc-server cc-server \ && install -d -o cc-server -g cc-server /var/lib/cc-server \ VOLUME ["/var/lib/cc-server"] WORKDIR /opt/cc-server COPY requirements.txt . COPY README . COPY setup.py . COPY bin ./bin COPY cloudcontrol ./cloudcontrol RUN set -ex \ && buildDeps=' \ build-essential \ git \ ' \ && apt-get -y update && apt-get install -y --no-install-recommends $buildDeps ssl-cert \ && pip install --no-cache-dir -r requirements.txt -e . \ && find /usr/local \ \( -type d -a -name test -o -name tests \) \ -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \ -exec rm -rf '{}' + \ && apt-get purge -y --auto-remove $buildDeps \ && apt-get clean && rm -rf /var/lib/apt/lists/* COPY docker-entrypoint.sh . COPY etc/cc-server.conf.docker /etc/cc-server.conf ENTRYPOINT ["./docker-entrypoint.sh"] CMD ["pypy", "./bin/cc-server", "-s", "-f"] EXPOSE 1984
docker-entrypoint.sh 0 → 100755 +13 −0 Original line number Diff line number Diff line #!/bin/sh # Only run automatically on container creation if [ ! -f /var/lib/cc-server/container_init_ok ]; then # Generate self signed certif make-ssl-cert generate-default-snakeoil --force-overwrite >/dev/null 2>/dev/null # cc-server read cert and key on each connection, even after dropping # privileges, so this must be allowed chown -R cc-server /etc/ssl/private/ touch /var/lib/cc-server/container_init_ok fi exec "$@"