Sign inSign up

mhenning/synclias

By mhenning

Updated 10 months ago

Best effort per site routing for OPNsense with VPN

Image
Networking
0

1.1K

mhenning/synclias repository overview

Synclias

Best Effort per Site VPN Routing for OPNsense routers

  • Still a work in progress!
  • Don't try the ASN Downloads

Full docs

Synclias docs

Sample .env File

Note: ENCRYPTION KEY MUST BE 32 characters, URL safe (upper, lower, numbers)

Replace anything in {}, (including the {})

MARIADB_USER=synclias
MARIADB_PASSWORD={long database password}
MARIADB_DATABASE=synclias
SECRET_KEY={long secret password}
ENCRYPTION_KEY={EXACTLY 32 chars, URL Safe (upper, lower, num)}
CONFIG_TYPE=ProductionConfig
## Deliberately commented out lines:
#FLASK_DEBUG=False
#CLEAR_ADMIN=False
docker-compose.yaml:
services:
  redis:
    env_file:
      - .env
    image: redis:latest
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 256M
    restart: ${DOCKER_RESTART_POLICY:-unless-stopped}
    stop_grace_period: ${DOCKER_STOP_GRACE_PERIOD:-3s}
    volumes:
      - redis:/data
  web:
    image: mhenning/synclias:latest
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 512M
    depends_on:
      - redis
      - db
    env_file:
      - .env
    ports:
      - 8000:8000
    restart: ${DOCKER_RESTART_POLICY:-unless-stopped}
    stop_grace_period: ${DOCKER_STOP_GRACE_PERIOD:-3s}
    healthcheck:
      test:
        - CMD
        - curl
        - -f
        - http://localhost:8000/
      interval: 30s
      timeout: 10s
      retries: 3
    links:
      - db
      - redis
      - worker
      - celery_beat
    volumes:
      - app_shared:/app/shared
  worker:
    image: mhenning/synclias:latest
    command: /app/start-celeryworker.sh
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 1024M
    depends_on:
      - redis
      - db
    env_file:
      - .env
    links:
      - redis
      - db
    volumes:
      - app_shared:/app/shared
    restart: ${DOCKER_RESTART_POLICY:-unless-stopped}
    stop_grace_period: ${DOCKER_STOP_GRACE_PERIOD:-3s}
  celery_beat:
    image: mhenning/synclias:latest
    command: /app/start-celerybeat.sh
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 512M
    depends_on:
      - redis
      - db
    env_file:
      - .env
    links:
      - db
      - redis
    restart: ${DOCKER_RESTART_POLICY:-unless-stopped}
    stop_grace_period: ${DOCKER_STOP_GRACE_PERIOD:-3s}
    volumes:
      - app_shared:/app/shared
  db:
    image: mariadb:lts-ubi9
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    deploy:
      resources:
        limits:
          cpus: "2"
          memory: 1024M
    restart: always
    healthcheck:
      test:
        - CMD
        - healthcheck.sh
        - --connect
        - --innodb_initialized
      start_period: 10s
      interval: 10s
      timeout: 5s
      retries: 3
    volumes:
      - db_data:/var/lib/mysql
    environment:
      - MARIADB_USER=${MARIADB_USER}
      - MARIADB_DATABASE=${MARIADB_DATABASE}
      - MARIADB_RANDOM_ROOT_PASSWORD=1
      - MARIADB_PASSWORD=${MARIADB_PASSWORD}
    expose:
      - 3306
volumes:
  redis: {}
  db_data: null
  app_shared: null
networks:
  redis_net: null
  db_net: null

Tag summary

Content type

Image

Digest

sha256:2aa4f1a48

Size

239.6 MB

Last updated

10 months ago

docker pull mhenning/synclias