From fbe40001d35ea5cf74c92f35d76c642a480a5c9f Mon Sep 17 00:00:00 2001 From: Dalf Date: Sat, 29 Jun 2019 11:59:13 +0200 Subject: Update Docker image See #1561 , use uwsgi and Alpine Linux Volume: /var/log/uwsgi contains error log for 2 days (file uwsgi.log) /etc/searx contains the settings.yml and uwsgi.ini files. The docker image creates them if they don't exist. The two files can be modified after the first run. See below. Environement variables: MORTY_URL : external URL of Morty MORTY_KEY : base64 encoded key BASE_URL : external URL of Searx BIND_ADDRESS : internal HTTP port to listen to Labels : org.label-schema.schema.* Parameters: -h : display this help -d : will update the settings and quit immediately (settings.yml and uwsgi.ini) -f : always update the settings (previous version saved with suffix .old). without this parameter, the new settings are copied with suffix .new When the Docker image contains newer settings: - without -f parameter: the new versions are copied to /etc/searx/settings.yml.new and /etc/searx/uwsgi.ini.new. - with -f parameter: the old versions are renamed with .old suffix. The new version replaces /etc/searx/settings.yml and /etc/searx/uwsgi.ini Build using "./manage.sh docker_build", add "push" as parameter also push the Docker image. The script requires a git repository to work (it makes sure that the last git tag matches searx/version.py) "git describe" is used to create a meaningful version. Example : 0.15.0-90-49c5bcb4-dirty (dirty means that the docker image was made with uncommited changes). Use "docker inspect -f {{.Config.Labels.version}} searx" to get the version of an existing image. .dockerignore based on .gitignore .travis.yml: include docker stage --- .travis.yml | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 08bcfaadd..04654ac23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,14 @@ +language: python sudo: false cache: - pip - npm - directories: - $HOME/.cache/pip + addons: firefox: "latest" -language: python -python: - - "2.7" - - "3.5" - - "3.6" + before_install: - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" @@ -27,6 +25,31 @@ script: after_success: - ./manage.sh py_test_coverage - codecov + +stages: + - test + - name: docker + if: branch = master AND type != pull_request AND env(DOCKER_USERNAME) IS present + +jobs: + include: + - python: "2.7" + - python: "3.5" + - python: "3.6" + - stage: docker + python: "3.6" + git: + depth: false + services: + - docker + addons: [] + before_install: true + install: true + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + - ./manage.sh docker_build push + after_success: true + notifications: irc: channels: -- cgit v1.2.3