Brave-sync
		
		
		
		Jump to navigation
		Jump to search
		
Brave naršyklės sinchronizavimo įrankis, kurį gali paleisti kiekvienas. Mėgstamas "self-hosted" bendruomenės parašytas naudojant golang.
Docker swarm
Prieš tai jau turėtų būti paruoštas docker swarm cluster, sudėti node labeliai ir paleistas traefik. Atkreiptikte dėmesį, kad šiame docker composer template yra nurodyta aarch64 architektūros konteinerių atvaizdai, kurie neveiks ant standartinės Intel architektūros. Originalų repozitorių galima rasti čia. Modifikuotas ARM64 (aarch64) randasi čia.
version: '3.4'
services:
  web:
    image: nulldevil/brave-go-sync:aarch64
    depends_on:
      - dynamo-local
      - redis
    networks:
      - sync
      - traefik_public
    command: "./main"
    deploy:
      resources:
        limits:
          cpus: '2.75' # one cpu
          memory: 480M
      placement:
        constraints: [node.labels.name == node0]
      labels:
        # traefik common
        - traefik.enable=true
        - traefik.docker.network=traefik_public
        # traefikv1
        - traefik.frontend.rule=Host:brave.domenas.lt
        - traefik.port=8295
        # traefikv2
        - "traefik.http.routers.brave.rule=Host(`brave.domenas.lt`)"
        - "traefik.http.services.brave.loadbalancer.server.port=8295"
    environment:
      - PPROF_ENABLED=true
      - SENTRY_DSN
      - ENV=local
      - DEBUG=1
      - AWS_ACCESS_KEY_ID=#
      - AWS_SECRET_ACCESS_KEY=#
      - AWS_REGION=us-west-2
      - AWS_ENDPOINT=http://dynamo-local:8000
      - TABLE_NAME=client-entity-dev
      - REDIS_URL=redis:6379
  dynamo-local:
    image: nulldevil/go-sync_dynamo:aarch64
    volumes:
     - ./data/db:/db
    user: root
    deploy:
      resources:
        limits:
          cpus: '2.75' # one cpu
          memory: 480M
      placement:
        constraints: [node.labels.name == node0]
    networks:
      - sync
  redis:
    image: public.ecr.aws/ubuntu/redis:latest
    volumes:
     - ./data/redis:/var/lib/redis
    deploy:
      resources:
        limits:
          cpus: '2.75' # one cpu
          memory: 480M
      placement:
        constraints: [node.labels.name == node0]
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    networks:
      - sync
networks:
  traefik_public:
    external: true
  sync:
    driver: overlay
    ipam:
      config:
        - subnet: 172.16.21.0/24