Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95826f2e authored by Nicolas Gelot's avatar Nicolas Gelot
Browse files

Add morty service to proxy image content

Close: #44
parent 93b07ede
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
SPOT_HOSTNAME=localhost
SPOT_HOSTNAME=localhost
SPOT_MORTY_HOSTNAME=proxy.localhost
SPOT_MORTY_URL=http://morty.docker
SPOT_DOCKER_IMG=registry.gitlab.e.foundation:5000/e/cloud/my-spot
SPOT_DOCKER_IMG=registry.gitlab.e.foundation:5000/e/cloud/my-spot
SPOT_DOCKER_TAG=latest
SPOT_DOCKER_TAG=latest
SPOT_NGINX_DOCKER_IMG=registry.gitlab.e.foundation:5000/e/cloud/my-spot/nginx
SPOT_NGINX_DOCKER_IMG=registry.gitlab.e.foundation:5000/e/cloud/my-spot/nginx
SPOT_NGINX_DOCKER_TAG=latest
SPOT_NGINX_DOCKER_TAG=latest
SPOT_FILTRON_DOCKER_IMG=registry.gitlab.e.foundation:5000/e/cloud/my-spot/filtron
SPOT_FILTRON_DOCKER_IMG=registry.gitlab.e.foundation:5000/e/cloud/my-spot/filtron
SPOT_FILTRON_DOCKER_TAG=latest
SPOT_FILTRON_DOCKER_TAG=latest
SPOT_MORTY_DOCKER_IMG=registry.gitlab.e.foundation:5000/e/cloud/my-spot/morty
SPOT_MORTY_DOCKER_TAG=latest
+9 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,9 @@ build:web:
    - docker push $CI_REGISTRY_IMAGE/nginx
    - docker push $CI_REGISTRY_IMAGE/nginx
    - docker build -t $CI_REGISTRY_IMAGE/filtron -f filtron.Dockerfile .
    - docker build -t $CI_REGISTRY_IMAGE/filtron -f filtron.Dockerfile .
    - docker push $CI_REGISTRY_IMAGE/filtron
    - docker push $CI_REGISTRY_IMAGE/filtron
    - docker build -t $CI_REGISTRY_IMAGE/morty -f morty.Dockerfile .
    - docker push $CI_REGISTRY_IMAGE/morty



build:docker:master:
build:docker:master:
  extends: .build:docker
  extends: .build:docker
@@ -52,6 +55,8 @@ build:docker:tags:
    - docker push $CI_REGISTRY_IMAGE/nginx:$CI_COMMIT_REF_SLUG
    - docker push $CI_REGISTRY_IMAGE/nginx:$CI_COMMIT_REF_SLUG
    - docker build -t $CI_REGISTRY_IMAGE/filtron:$CI_COMMIT_REF_SLUG -f filtron.Dockerfile .
    - docker build -t $CI_REGISTRY_IMAGE/filtron:$CI_COMMIT_REF_SLUG -f filtron.Dockerfile .
    - docker push $CI_REGISTRY_IMAGE/filtron:$CI_COMMIT_REF_SLUG
    - docker push $CI_REGISTRY_IMAGE/filtron:$CI_COMMIT_REF_SLUG
    - docker build -t $CI_REGISTRY_IMAGE/morty:$CI_COMMIT_REF_SLUG -f morty.Dockerfile .
    - docker push $CI_REGISTRY_IMAGE/morty:$CI_COMMIT_REF_SLUG
  only:
  only:
    - tags
    - tags


@@ -86,6 +91,8 @@ deploy:spot.test.cloud.global:
  variables:
  variables:
    DOCKER_HOST: ssh://root@spot.test.ecloud.global
    DOCKER_HOST: ssh://root@spot.test.ecloud.global
    SPOT_HOSTNAME: spot.test.ecloud.global
    SPOT_HOSTNAME: spot.test.ecloud.global
    SPOT_MORTY_HOSTNAME: proxy.spot.test.ecloud.global
    SPOT_MORTY_URL: https://proxy.spot.test.ecloud.global
    COMPOSE_PROJECT_NAME: my-spot
    COMPOSE_PROJECT_NAME: my-spot
    COMPOSE_FILE: docker-compose.yml:docker-compose-build.yml
    COMPOSE_FILE: docker-compose.yml:docker-compose-build.yml
    SSH_PRIVATE_KEY: ${SSH_PRIVATE_KEY_TEST}
    SSH_PRIVATE_KEY: ${SSH_PRIVATE_KEY_TEST}
@@ -102,6 +109,8 @@ deploy:spot.cloud.global:
  variables:
  variables:
    DOCKER_HOST: ssh://root@spot.ecloud.global
    DOCKER_HOST: ssh://root@spot.ecloud.global
    SPOT_HOSTNAME: spot.ecloud.global
    SPOT_HOSTNAME: spot.ecloud.global
    SPOT_MORTY_HOSTNAME: proxy.spot.ecloud.global
    SPOT_MORTY_URL: https://proxy.spot.ecloud.global
    COMPOSE_PROJECT_NAME: my-spot
    COMPOSE_PROJECT_NAME: my-spot
    SPOT_DOCKER_TAG: ${CI_COMMIT_REF_SLUG}
    SPOT_DOCKER_TAG: ${CI_COMMIT_REF_SLUG}
    SPOT_NGINX_DOCKER_TAG: ${CI_COMMIT_REF_SLUG}
    SPOT_NGINX_DOCKER_TAG: ${CI_COMMIT_REF_SLUG}
+12 −0
Original line number Original line Diff line number Diff line
@@ -12,6 +12,18 @@ Spot was forked from searx: read [documentation](https://asciimoo.github.io/sear
* docker packaging thinking to be production ready
* docker packaging thinking to be production ready
* better locale support
* better locale support


## Architecture

```mermaid
graph TD
  A(traefik) --> |https://spot.ecloud.global| B(filtron)
  A(traefik) --> |https://proxy.spot.ecloud.global| C(morty)
  C --> |image link| C
  B --> D(nginx)
  D --> |static file| D
  D --> |API| E(spot)
```

## Getting Started
## Getting Started


You can run spot with docker-compose. First of all you have to install
You can run spot with docker-compose. First of all you have to install
+5 −0
Original line number Original line Diff line number Diff line
@@ -13,3 +13,8 @@ services:
    build:
    build:
      context: .
      context: .
      dockerfile: filtron.Dockerfile
      dockerfile: filtron.Dockerfile

  morty:
    build:
      context: .
      dockerfile: morty.Dockerfile
+16 −2
Original line number Original line Diff line number Diff line
@@ -14,6 +14,8 @@ services:
    restart: unless-stopped
    restart: unless-stopped
    environment:
    environment:
      SEARX_SECRET: ":@)%NN0+OqNdy:{prWQlZ{p9|oO9p-UyJq@%V!~G:arrSx6fXz.{jd%=XF44ncj"
      SEARX_SECRET: ":@)%NN0+OqNdy:{prWQlZ{p9|oO9p-UyJq@%V!~G:arrSx6fXz.{jd%=XF44ncj"
      SEARX_MORTY_URL: "${SPOT_MORTY_URL}"
      SEARX_MORTY_KEY: "${SEARX_MORTY_KEY:-KHN0ZGluKT0gNWNmNzQ0Y2JlNjI4MDRjODAwZGUyMGY5ZjZlZTFmZWI1NTg2YTg5OAo=}"
      GUNICORN_LOGGER: 1
      GUNICORN_LOGGER: 1
      GUNICORN_LEVEL: INFO
      GUNICORN_LEVEL: INFO


@@ -21,6 +23,8 @@ services:
    image: ${SPOT_NGINX_DOCKER_IMG}:${SPOT_NGINX_DOCKER_TAG}
    image: ${SPOT_NGINX_DOCKER_IMG}:${SPOT_NGINX_DOCKER_TAG}
    logging: *default-logging
    logging: *default-logging
    restart: unless-stopped
    restart: unless-stopped
    environment:
      SPOT_MORTY_URL: "${SPOT_MORTY_URL}"


  filtron:
  filtron:
    image: ${SPOT_FILTRON_DOCKER_IMG}:${SPOT_FILTRON_DOCKER_TAG}
    image: ${SPOT_FILTRON_DOCKER_IMG}:${SPOT_FILTRON_DOCKER_TAG}
@@ -35,8 +39,18 @@ services:
      - "traefik.http.routers.http-catchall.entrypoints=web"
      - "traefik.http.routers.http-catchall.entrypoints=web"
      - "traefik.http.routers.http-catchall.middlewares=redirect-to-https@docker"
      - "traefik.http.routers.http-catchall.middlewares=redirect-to-https@docker"
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      - "traefik.http.middlewares.spot-ratelimit.ratelimit.average=50"

      - "traefik.http.middlewares.spot-ratelimit.ratelimit.burst=20"
  morty:
    image: ${SPOT_MORTY_DOCKER_IMG}:${SPOT_MORTY_DOCKER_TAG}
    logging: *default-logging
    restart: unless-stopped
    environment:
      SEARX_MORTY_KEY: "${SEARX_MORTY_KEY:-KHN0ZGluKT0gNWNmNzQ0Y2JlNjI4MDRjODAwZGUyMGY5ZjZlZTFmZWI1NTg2YTg5OAo=}"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.spot_proxy.rule=Host(`${SPOT_MORTY_HOSTNAME}`)"
      - "traefik.http.routers.spot_proxy.entrypoints=websecure"
      - "traefik.http.routers.spot_proxy.tls.certresolver=spotchallenge"


  traefik:
  traefik:
    image: "traefik:v2.1.2"
    image: "traefik:v2.1.2"
Loading