mirror of
https://github.com/nextcloud/docker.git
synced 2025-03-15 02:45:09 +01:00
This PR introduce POC of Nextcloud based on Nginx web server with php-fpm in separated container. Basic installation with SQLite and few operations in web gui were tested. Nginx dockerfile is generated from Dockerfile-nginx.template - FROM string has hardcoded variant - apache - There is no upstream PHP image with Nginx, due this generate-stackbrew-library is not able to identify parent correctly New files were introduced in image: - Dockerfile-nginx.template - nginx-foreground + simulates behavior of apache2-foreground cmd - 16.0/nginx/Dockerfile + generated from template Dockerfile-nginx.template - nextcloud.confx + Nginx vhost configuration - start_net.sh (temporary) + Helper script to create user-defined network for Docker + '--link' option for docker create is obsolete and we need communication between fpm and nginx container - start_container.sh (temporary) + Helper script to handle containers - Dockerfile + /Dockerfile for verification purposes Updated files: - set -x added to all shell scripts for easier troubleshooting (temporary) - update.sh + New variant introduced + Number of builded variant is limited for simplified CI. - .travis.yml (temporary) + Image push to registry for testing purposes - docker-entrypoint.sh + Recognizes new argument for entrypoint - nginx-foreground Be careful during review, github recognizes removed files for 15.0 release as renamed to 16.0/nginx variant Motivation/Usecase: - I have openvz based VPS where only old Docker 1.10 is supported. - Apache(in nextcloud container) in combination Nginx as a reverse proxy for multiple vhosts doesn't work correctly Image pull link: docker pull 1john2ci/nextcloud:apache-20190509 docker pull 1john2ci/nextcloud:fpm-20190509 Travis CI test: https://travis-ci.org/1john2/docker/builds/530329740 Deployment notes: - Clone source code - Create user-defined network for Docker - Start fpm container - Start nginx container Signed-off-by: Malanik Jan <malanik.jan@gmail.com>
72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
language: bash
|
|
services: docker
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
install:
|
|
- git clone https://github.com/docker-library/official-images.git ~/official-images
|
|
|
|
before_script:
|
|
- env | sort
|
|
- wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash
|
|
- image="nextcloud:${VERSION}${VARIANT:+-$VARIANT}"
|
|
- if [[ "$ARCH" == 'i386' ]]; then sed -i -e 's/FROM php/FROM i386\/php/g' "${VERSION}/${VARIANT}/Dockerfile"; fi
|
|
|
|
script:
|
|
- |
|
|
(
|
|
set -Eeuo pipefail
|
|
set -x
|
|
docker build -t "$image" "${VERSION}/${VARIANT}"
|
|
~/official-images/test/run.sh "$image"
|
|
.travis/test-example-dockerfiles.sh "$image"
|
|
)
|
|
|
|
after_script:
|
|
- docker images
|
|
|
|
# ##
|
|
# For testing purposes only
|
|
# ##
|
|
- echo "1john2_password" | docker login -u "1john2ci" --password-stdin
|
|
|
|
- docker tag nextcloud:16.0-apache 1john2ci/nextcloud:apache-ncd-20190510
|
|
- docker push 1john2ci/nextcloud:apache-ncd-20190510
|
|
|
|
- docker tag nextcloud:16.0-nginx 1john2ci/nextcloud:nginx-ncd-20190510
|
|
- docker push 1john2ci/nextcloud:nginx-ncd-20190510
|
|
|
|
- docker tag nextcloud:16.0-fpm-full 1john2ci/nextcloud:fpm-ncd-20190510
|
|
- docker push 1john2ci/nextcloud:fpm-ncd-20190510
|
|
|
|
jobs:
|
|
include:
|
|
- &test-scripts
|
|
stage: test scripts
|
|
env: SCRIPT=update.sh
|
|
services: []
|
|
install: skip
|
|
before_script: skip
|
|
script:
|
|
- hash_before=$(git write-tree)
|
|
- ./update.sh
|
|
- bash -c "[[ $hash_before = $(git add -A && git write-tree) ]]"
|
|
after_script: skip
|
|
|
|
- <<: *test-scripts
|
|
env: SCRIPT=generate-stackbrew-library.sh
|
|
install:
|
|
- wget -O "$HOME/bin/bashbrew" https://doi-janky.infosiftr.net/job/bashbrew/lastSuccessfulBuild/artifact/bin/bashbrew-amd64
|
|
- chmod +x "$HOME/bin/bashbrew"
|
|
script:
|
|
- ./generate-stackbrew-library.sh
|
|
|
|
- stage: test images
|
|
env: VERSION=16.0 VARIANT=nginx ARCH=amd64
|
|
- env: VERSION=16.0 VARIANT=nginx ARCH=i386
|
|
- env: VERSION=16.0 VARIANT=fpm ARCH=amd64
|
|
- env: VERSION=16.0 VARIANT=fpm ARCH=i386
|
|
- env: VERSION=16.0 VARIANT=apache ARCH=amd64
|
|
- env: VERSION=16.0 VARIANT=apache ARCH=i386
|