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

Commit 72eaab63 authored by Florent VINCENT's avatar Florent VINCENT 👾
Browse files

updates for repo to handle /e/ specific production setup AND public use

parent 4f13a97f
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -7,10 +7,8 @@ SEARX_SECRET=":@)%NN0+OqNdy:{prWQlZ{p9|oO9p-UyJq@%V!~G:arrSx6fXz.{jd%=XF44ncj"
SEARX_MORTY_KEY="taKB1WGTa63LEI6RdjWWKshS4oYSHQWGu9Eyjr1OlpQ="
SEARX_REDIS_HOST=redis
SEARX_UI_DEFAULT_THEME=eelo
SEARX_PROXY_HTTP=http://proxy01.ecloud.global:1099
SEARX_PROXY_HTTPS=http://proxy01.ecloud.global:1099
WIREGUARD_IP=127.0.0.1 
REPO_BASE=/mnt/repo-base/PATH
SEARX_PROXY_HTTP=socks5h://tor-socks-proxy:9150
SEARX_PROXY_HTTPS=socks5h://tor-socks-proxy:9150
REPO_BASE=/PATH/TO/SPOT/FOLDER
FILTRON_PORT=8088
MORTY_PORT=8089
 No newline at end of file
INTERNAL_NETWORK_NAME=default
 No newline at end of file

.env.e

0 → 100644
+16 −0
Original line number Diff line number Diff line
SPOT_HOSTNAME=spot.ecloud.global
SPOT_MORTY_HOSTNAME=proxy.spot.ecloud.global
SPOT_DOCKER_TAG=latest
SPOT_NGINX_DOCKER_TAG=latest
SEARX_MORTY_URL=https://localhost:8089
SEARX_SECRET=":@)%NN0+OqNdy:{prWQlZ{p9|oO9p-UyJq@%V!~G:arrSx6fXz.{jd%=XF44ncj"
SEARX_MORTY_KEY="taKB1WGTa63LEI6RdjWWKshS4oYSHQWGu9Eyjr1OlpQ="
SEARX_REDIS_HOST=redis
SEARX_UI_DEFAULT_THEME=eelo
SEARX_PROXY_HTTP=http://proxy01.ecloud.global:1099
SEARX_PROXY_HTTPS=http://proxy01.ecloud.global:1099
WIREGUARD_IP=127.0.0.1 
REPO_BASE=/mnt/repo-base/PATH
FILTRON_PORT=8088
MORTY_PORT=8089
INTERNAL_NETWORK_NAME=default
 No newline at end of file
+4 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ deploy:spot.eeo.one.backend1:
    MORTY_PORT: 8089
  script:
    - echo "Deploying to $CI_ENVIRONMENT_NAME ($SSH_USER@$BACKEND1_HOST - $BACKEND1_WG_IP - $WIREGUARD_IP)" 
    - ssh $SSH_USER@$BACKEND1_HOST "cd $REPO_BASE && git stash && git pull && rm .env && mv .env.e .env && rm docker-compose.yml && mv docker-compose.e.yml docker-compose.yml"
    - docker-compose up -d --build
    - docker-compose restart filtron
    - ssh $SSH_USER@$BACKEND1_HOST "cd $REPO_BASE 
@@ -141,6 +142,7 @@ deploy:spot.eeo.one.backend2:
    MORTY_PORT: 8089
  script:
    - echo "Deploying to $CI_ENVIRONMENT_NAME ($SSH_USER@$BACKEND2_HOST - $BACKEND2_WG_IP - $WIREGUARD_IP)" 
    - ssh $SSH_USER@$BACKEND2_HOST "cd $REPO_BASE && git stash && git pull && rm .env && mv .env.e .env && rm docker-compose.yml && mv docker-compose.e.yml docker-compose.yml"
    - docker-compose up -d --build
    - docker-compose restart filtron
    - ssh $SSH_USER@$BACKEND2_HOST "cd $REPO_BASE 
@@ -181,6 +183,7 @@ deploy:spot.ecloud.global.backend1:
    MORTY_PORT: 8099
  script:
    - echo "Deploying to $CI_ENVIRONMENT_NAME ($SSH_USER@$BACKEND1_HOST - $BACKEND1_WG_IP - $WIREGUARD_IP)" 
    - ssh $SSH_USER@$BACKEND1_HOST "cd $REPO_BASE && git stash && git pull && rm .env && mv .env.e .env && rm docker-compose.yml && mv docker-compose.e.yml docker-compose.yml"
    - docker-compose pull
    - docker-compose up -d
    - docker-compose restart filtron
@@ -221,6 +224,7 @@ deploy:spot.ecloud.global.backend2:
    MORTY_PORT: 8099
  script:
    - echo "Deploying to $CI_ENVIRONMENT_NAME ($SSH_USER@$BACKEND2_HOST - $BACKEND2_WG_IP - $WIREGUARD_IP)" 
    - ssh $SSH_USER@$BACKEND2_HOST "cd $REPO_BASE && git stash && git pull && rm .env && mv .env.e .env && rm docker-compose.yml && mv docker-compose.e.yml docker-compose.yml"
    - docker-compose pull
    - docker-compose up -d
    - docker-compose restart filtron
+7 −0
Original line number Diff line number Diff line
@@ -46,6 +46,13 @@ below to run spot for production or local environment.

### Like production


update .env file with the path where spot is cloned : 

```
REPO_BASE=/PATH/TO/SPOT/FOLDER
```

Run the docker-compose to start the project

```

docker-compose.e.yml

0 → 100644
+87 −0
Original line number Diff line number Diff line
version: '3.6'

x-logging:
  &default-logging
  options:
    max-size: '100m'
    max-file: '3'
  driver: json-file

services:
  redis:
    image: redis:5.0.7-alpine
    # container_name: spot-redis
    logging: *default-logging
    restart: unless-stopped
    networks:
      - ${INTERNAL_NETWORK_NAME}
    command: redis-server --maxmemory 8G --maxmemory-policy allkeys-lru

  spot:
    image: registry.gitlab.e.foundation:5000/e/cloud/my-spot:${SPOT_DOCKER_TAG}
    build:
      context: .
      dockerfile: Dockerfile
    logging: *default-logging
    restart: unless-stopped
    networks:
      - ${INTERNAL_NETWORK_NAME}
    environment:
      SEARX_SECRET: "${SEARX_SECRET}"
      SEARX_MORTY_URL: "${SEARX_MORTY_URL}"
      SEARX_MORTY_KEY: "${SEARX_MORTY_KEY}"
      SEARX_PROXY_HTTP: "${SEARX_PROXY_HTTP}"
      SEARX_PROXY_HTTPS: "${SEARX_PROXY_HTTPS}"
      SEARX_REDIS_HOST: "${SEARX_REDIS_HOST}"
      SEARX_UI_DEFAULT_THEME: "${SEARX_UI_DEFAULT_THEME}"
      GUNICORN_LOGGER: 1
      GUNICORN_LEVEL: INFO

  spot-nginx:
    image: registry.gitlab.e.foundation:5000/e/cloud/my-spot/nginx:${SPOT_NGINX_DOCKER_TAG}
    # container_name: spot-nginx
    build:
      context: .
      dockerfile: nginx.Dockerfile
    logging: *default-logging
    restart: unless-stopped
    networks:
      - ${INTERNAL_NETWORK_NAME}
    environment:
      SEARX_MORTY_URL: "${SEARX_MORTY_URL}"

  filtron:
    image: dalf/filtron:latest
    logging: *default-logging
    restart: unless-stopped
    command: -listen :3000 -rules /etc/filtron/rules.json -target spot-nginx
    networks:
      - ${INTERNAL_NETWORK_NAME}
      - spot-wireguarded
    ports:
      - ${WIREGUARD_IP}:${FILTRON_PORT}:3000
    volumes:
      - ${REPO_BASE}/etc/filtron/rules.json:/etc/filtron/rules.json

  morty:
    image: dalf/morty:latest
    logging: *default-logging
    restart: unless-stopped
    networks:
      - ${INTERNAL_NETWORK_NAME}
      - spot-wireguarded
    ports:
      - ${WIREGUARD_IP}:${MORTY_PORT}:3000
    environment:
      DEBUG: "false"
      MORTY_ADDRESS: ":3000"
      MORTY_KEY: "${SEARX_MORTY_KEY}"


networks:
  staging-spot-default:
    external: true
  spot-default:
    external: true
  spot-wireguarded:
    external: true
Loading