orbitzs преди 4 години
родител
ревизия
ab314bed1e

+ 1 - 0
VLAN_dockers

@@ -0,0 +1 @@
+Subproject commit 0dabff43c2a3d4c199fd423853ddb600e1b206c8

+ 2 - 0
alpine/.env

@@ -0,0 +1,2 @@
+CONTAINER_NAME=alpine
+

+ 14 - 0
alpine/docker-compose.yml

@@ -0,0 +1,14 @@
+version: "2.1"
+services:
+ 
+ httpd:
+    image: alpine:3.14.2 
+    container_name: ${CONTAINER_NAME} 
+    ports:
+      - 8118:8118
+    restart: "no" 
+    network_mode: none
+
+
+     
+

+ 3 - 0
alpine/run_alpine.sh

@@ -0,0 +1,3 @@
+docker run --name con17 -it --cap-add=NET_ADMIN --net=none --rm my_alpine /bin/sh
+#sudo ovs-docker add-port ovs-br2 eth0 con17 --ipaddress=192.168.7.10/24
+

+ 2 - 0
element/.env

@@ -0,0 +1,2 @@
+DATA_ROOT=/home/tuffy/docker/element
+CONTAINER_NAME=element

+ 13 - 0
element/docker-compose.yml

@@ -0,0 +1,13 @@
+version: '3'
+
+services:
+  web:
+    image: nginx:1.12-alpine
+    container_name: ${CONTAINER_NAME} 
+    restart: "no" 
+    ports:
+      - "8080:80"
+    volumes:
+      - ${DATA_ROOT}/element-web:/usr/share/nginx/html/
+      #- ${DATA_ROOT}/config/config.element.algometic.json:/usr/share/nginx/html/config.element.algometic.json
+      - ${DATA_ROOT}/config/config.json:/usr/share/nginx/html/config.json

+ 2 - 2
gogs/data/gogs/conf/app.ini

@@ -27,8 +27,8 @@ OFFLINE_MODE     = false
 ENABLED = true
 HOST    = smtp.exmail.qq.com:465
 FROM    = sales@algometic.com
-USER    = sales@algometic,com
-PASSWD  = 1234
+USER    = sales@algometic.com
+PASSWD  = q9t6Ek@
 
 [auth]
 REQUIRE_EMAIL_CONFIRMATION  = true

+ 28 - 0
host_network/docker-compose.yml

@@ -0,0 +1,28 @@
+version: "2"
+services:
+  transmission:
+    image: linuxserver/transmission
+    container_name: transmission
+    environment:
+      - PUID=1000
+      - PGID=1000
+      - TZ=Europe/London
+      - TRANSMISSION_WEB_HOME=/combustion-release/ #optional
+    volumes:
+      - ./config:/config
+#      - ./downloads:/downloads
+#      - ./watch:/watch
+      - bt/downloads:/downloads
+      - bt/watch:/watch
+    ports:
+      - 9091:9091
+      - 51327:51413
+      - 51327:51413/udp
+   # restart: unless-stopped
+   # restart: always
+    restart: "no"
+    networks: 
+      webnet:
+       ipv4_address: 221.124.9.210 
+     # - webnet
+

+ 275 - 0
jitsi/docker-compose.yml

@@ -0,0 +1,275 @@
+version: '3'
+
+services:
+    # Frontend
+    web:
+        image: jitsi/web:stable-6173
+        restart: ${RESTART_POLICY}
+        ports:
+            - '${HTTP_PORT}:80'
+            - '${HTTPS_PORT}:443'
+        volumes:
+            - ${CONFIG}/web:/config:Z
+            - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
+        environment:
+            - ENABLE_COLIBRI_WEBSOCKET
+            - ENABLE_FLOC
+            - ENABLE_LETSENCRYPT
+            - ENABLE_HTTP_REDIRECT
+            - ENABLE_HSTS
+            - ENABLE_XMPP_WEBSOCKET
+            - DISABLE_HTTPS
+            - DISABLE_DEEP_LINKING
+            - LETSENCRYPT_DOMAIN
+            - LETSENCRYPT_EMAIL
+            - LETSENCRYPT_USE_STAGING
+            - PUBLIC_URL
+            - TZ
+            - AMPLITUDE_ID
+            - ANALYTICS_SCRIPT_URLS
+            - ANALYTICS_WHITELISTED_EVENTS
+            - CALLSTATS_CUSTOM_SCRIPT_URL
+            - CALLSTATS_ID
+            - CALLSTATS_SECRET
+            - CHROME_EXTENSION_BANNER_JSON
+            - CONFCODE_URL
+            - CONFIG_EXTERNAL_CONNECT
+            - DEFAULT_LANGUAGE
+            - DEPLOYMENTINFO_ENVIRONMENT
+            - DEPLOYMENTINFO_ENVIRONMENT_TYPE
+            - DEPLOYMENTINFO_REGION
+            - DEPLOYMENTINFO_SHARD
+            - DEPLOYMENTINFO_USERREGION
+            - DIALIN_NUMBERS_URL
+            - DIALOUT_AUTH_URL
+            - DIALOUT_CODES_URL
+            - DROPBOX_APPKEY
+            - DROPBOX_REDIRECT_URI
+            - DYNAMIC_BRANDING_URL
+            - ENABLE_AUDIO_PROCESSING
+            - ENABLE_AUTH
+            - ENABLE_CALENDAR
+            - ENABLE_FILE_RECORDING_SERVICE
+            - ENABLE_FILE_RECORDING_SERVICE_SHARING
+            - ENABLE_GUESTS
+            - ENABLE_IPV6
+            - ENABLE_LIPSYNC
+            - ENABLE_NO_AUDIO_DETECTION
+            - ENABLE_P2P
+            - ENABLE_PREJOIN_PAGE
+            - ENABLE_WELCOME_PAGE
+            - ENABLE_CLOSE_PAGE
+            - ENABLE_RECORDING
+            - ENABLE_REMB
+            - ENABLE_REQUIRE_DISPLAY_NAME
+            - ENABLE_SIMULCAST
+            - ENABLE_STATS_ID
+            - ENABLE_STEREO
+            - ENABLE_SUBDOMAINS
+            - ENABLE_TALK_WHILE_MUTED
+            - ENABLE_TCC
+            - ENABLE_TRANSCRIPTIONS
+            - ETHERPAD_PUBLIC_URL
+            - ETHERPAD_URL_BASE
+            - GOOGLE_ANALYTICS_ID
+            - GOOGLE_API_APP_CLIENT_ID
+            - INVITE_SERVICE_URL
+            - JICOFO_AUTH_USER
+            - MATOMO_ENDPOINT
+            - MATOMO_SITE_ID
+            - MICROSOFT_API_APP_CLIENT_ID
+            - NGINX_RESOLVER
+            - NGINX_WORKER_PROCESSES
+            - NGINX_WORKER_CONNECTIONS
+            - PEOPLE_SEARCH_URL
+            - RESOLUTION
+            - RESOLUTION_MIN
+            - RESOLUTION_WIDTH
+            - RESOLUTION_WIDTH_MIN
+            - START_AUDIO_ONLY
+            - START_AUDIO_MUTED
+            - START_WITH_AUDIO_MUTED
+            - START_SILENT
+            - DISABLE_AUDIO_LEVELS
+            - ENABLE_NOISY_MIC_DETECTION
+            - START_BITRATE
+            - DESKTOP_SHARING_FRAMERATE_MIN
+            - DESKTOP_SHARING_FRAMERATE_MAX
+            - START_VIDEO_MUTED
+            - START_WITH_VIDEO_MUTED
+            - TESTING_CAP_SCREENSHARE_BITRATE
+            - TESTING_OCTO_PROBABILITY
+            - XMPP_AUTH_DOMAIN
+            - XMPP_BOSH_URL_BASE
+            - XMPP_DOMAIN
+            - XMPP_GUEST_DOMAIN
+            - XMPP_MUC_DOMAIN
+            - XMPP_RECORDER_DOMAIN
+            - TOKEN_AUTH_URL
+        networks:
+            meet.jitsi:
+
+    # XMPP server
+    prosody:
+        image: jitsi/prosody:stable-6173
+        restart: ${RESTART_POLICY}
+        expose:
+            - '5222'
+            - '5347'
+            - '5280'
+        volumes:
+            - ${CONFIG}/prosody/config:/config:Z
+            - ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
+        environment:
+            - AUTH_TYPE
+            - ENABLE_AUTH
+            - ENABLE_GUESTS
+            - ENABLE_LOBBY
+            - ENABLE_AV_MODERATION
+            - ENABLE_XMPP_WEBSOCKET
+            - GLOBAL_MODULES
+            - GLOBAL_CONFIG
+            - LDAP_URL
+            - LDAP_BASE
+            - LDAP_BINDDN
+            - LDAP_BINDPW
+            - LDAP_FILTER
+            - LDAP_AUTH_METHOD
+            - LDAP_VERSION
+            - LDAP_USE_TLS
+            - LDAP_TLS_CIPHERS
+            - LDAP_TLS_CHECK_PEER
+            - LDAP_TLS_CACERT_FILE
+            - LDAP_TLS_CACERT_DIR
+            - LDAP_START_TLS
+            - XMPP_DOMAIN
+            - XMPP_AUTH_DOMAIN
+            - XMPP_GUEST_DOMAIN
+            - XMPP_MUC_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_MODULES
+            - XMPP_MUC_MODULES
+            - XMPP_INTERNAL_MUC_MODULES
+            - XMPP_RECORDER_DOMAIN
+            - XMPP_CROSS_DOMAIN
+            - JICOFO_COMPONENT_SECRET
+            - JICOFO_AUTH_USER
+            - JICOFO_AUTH_PASSWORD
+            - JVB_AUTH_USER
+            - JVB_AUTH_PASSWORD
+            - JIGASI_XMPP_USER
+            - JIGASI_XMPP_PASSWORD
+            - JIBRI_XMPP_USER
+            - JIBRI_XMPP_PASSWORD
+            - JIBRI_RECORDER_USER
+            - JIBRI_RECORDER_PASSWORD
+            - JWT_APP_ID
+            - JWT_APP_SECRET
+            - JWT_ACCEPTED_ISSUERS
+            - JWT_ACCEPTED_AUDIENCES
+            - JWT_ASAP_KEYSERVER
+            - JWT_ALLOW_EMPTY
+            - JWT_AUTH_TYPE
+            - JWT_TOKEN_AUTH_MODULE
+            - LOG_LEVEL
+            - PUBLIC_URL
+            - TURN_CREDENTIALS
+            - TURN_HOST
+            - TURNS_HOST
+            - TURN_PORT
+            - TURNS_PORT
+            - TZ
+        networks:
+            meet.jitsi:
+                aliases:
+                    - ${XMPP_SERVER}
+
+    # Focus component
+    jicofo:
+        image: jitsi/jicofo:stable-6173
+        restart: ${RESTART_POLICY}
+        volumes:
+            - ${CONFIG}/jicofo:/config:Z
+        environment:
+            - AUTH_TYPE
+            - BRIDGE_AVG_PARTICIPANT_STRESS
+            - BRIDGE_STRESS_THRESHOLD
+            - ENABLE_AUTH
+            - ENABLE_AUTO_OWNER
+            - ENABLE_CODEC_VP8
+            - ENABLE_CODEC_VP9
+            - ENABLE_CODEC_H264
+            - ENABLE_OCTO
+            - ENABLE_RECORDING
+            - ENABLE_SCTP
+            - JICOFO_AUTH_USER
+            - JICOFO_AUTH_PASSWORD
+            - JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
+            - JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT
+            - JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT
+            - JICOFO_ENABLE_HEALTH_CHECKS
+            - JICOFO_SHORT_ID
+            - JICOFO_RESERVATION_ENABLED 
+            - JICOFO_RESERVATION_REST_BASE_URL 
+            - JIBRI_BREWERY_MUC
+            - JIBRI_REQUEST_RETRIES
+            - JIBRI_PENDING_TIMEOUT
+            - JIGASI_BREWERY_MUC
+            - JIGASI_SIP_URI
+            - JVB_BREWERY_MUC
+            - MAX_BRIDGE_PARTICIPANTS
+            - OCTO_BRIDGE_SELECTION_STRATEGY
+            - TZ
+            - XMPP_DOMAIN
+            - XMPP_AUTH_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_MUC_DOMAIN
+            - XMPP_SERVER
+        depends_on:
+            - prosody
+        networks:
+            meet.jitsi:
+
+    # Video bridge
+    jvb:
+        image: jitsi/jvb:stable-6173
+        restart: ${RESTART_POLICY}
+        ports:
+            - '${JVB_PORT}:${JVB_PORT}/udp'
+            - '${JVB_TCP_PORT}:${JVB_TCP_PORT}'
+        volumes:
+            - ${CONFIG}/jvb:/config:Z
+        environment:
+            - ENABLE_COLIBRI_WEBSOCKET
+            - ENABLE_OCTO
+            - DOCKER_HOST_ADDRESS
+            - XMPP_AUTH_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_SERVER
+            - JVB_AUTH_USER
+            - JVB_AUTH_PASSWORD
+            - JVB_BREWERY_MUC
+            - JVB_PORT
+            - JVB_TCP_HARVESTER_DISABLED
+            - JVB_TCP_PORT
+            - JVB_TCP_MAPPED_PORT
+            - JVB_STUN_SERVERS
+            - JVB_ENABLE_APIS
+            - JVB_WS_DOMAIN
+            - JVB_WS_SERVER_ID
+            - PUBLIC_URL
+            - JVB_OCTO_BIND_ADDRESS
+            - JVB_OCTO_PUBLIC_ADDRESS
+            - JVB_OCTO_BIND_PORT
+            - JVB_OCTO_REGION
+            - TZ
+        depends_on:
+            - prosody
+        networks:
+            meet.jitsi:
+                aliases:
+                    - jvb.meet.jitsi
+
+# Custom network so all services can communicate using a FQDN
+networks:
+    meet.jitsi:

+ 270 - 0
jitsi/examples/traefik-v2/docker-compose.yml

@@ -0,0 +1,270 @@
+version: '3'
+
+services:
+    # Frontend
+    web:
+        image: jitsi/web
+        volumes:
+            - ${CONFIG}/web:/config
+            - ${CONFIG}/web/letsencrypt:/etc/letsencrypt
+            - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts
+        environment:
+            - ENABLE_LETSENCRYPT
+            - ENABLE_HTTP_REDIRECT
+            - ENABLE_HSTS
+            - ENABLE_XMPP_WEBSOCKET
+            - DISABLE_HTTPS
+            - LETSENCRYPT_DOMAIN
+            - LETSENCRYPT_EMAIL
+            - LETSENCRYPT_USE_STAGING
+            - PUBLIC_URL
+            - TZ
+            - AMPLITUDE_ID
+            - ANALYTICS_SCRIPT_URLS
+            - ANALYTICS_WHITELISTED_EVENTS
+            - BRIDGE_CHANNEL
+            - CALLSTATS_CUSTOM_SCRIPT_URL
+            - CALLSTATS_ID
+            - CALLSTATS_SECRET
+            - CHROME_EXTENSION_BANNER_JSON
+            - CONFCODE_URL
+            - CONFIG_EXTERNAL_CONNECT
+            - DEPLOYMENTINFO_ENVIRONMENT
+            - DEPLOYMENTINFO_ENVIRONMENT_TYPE
+            - DEPLOYMENTINFO_USERREGION
+            - DIALIN_NUMBERS_URL
+            - DIALOUT_AUTH_URL
+            - DIALOUT_CODES_URL
+            - DROPBOX_APPKEY
+            - DROPBOX_REDIRECT_URI
+            - DYNAMIC_BRANDING_URL
+            - ENABLE_AUDIO_PROCESSING
+            - ENABLE_AUTH
+            - ENABLE_CALENDAR
+            - ENABLE_FILE_RECORDING_SERVICE
+            - ENABLE_FILE_RECORDING_SERVICE_SHARING
+            - ENABLE_GUESTS
+            - ENABLE_IPV6
+            - ENABLE_LIPSYNC
+            - ENABLE_NO_AUDIO_DETECTION
+            - ENABLE_P2P
+            - ENABLE_PREJOIN_PAGE
+            - ENABLE_WELCOME_PAGE
+            - ENABLE_CLOSE_PAGE
+            - ENABLE_RECORDING
+            - ENABLE_REMB
+            - ENABLE_REQUIRE_DISPLAY_NAME
+            - ENABLE_SIMULCAST
+            - ENABLE_STATS_ID
+            - ENABLE_STEREO
+            - ENABLE_SUBDOMAINS
+            - ENABLE_TALK_WHILE_MUTED
+            - ENABLE_TCC
+            - ENABLE_TRANSCRIPTIONS
+            - ETHERPAD_PUBLIC_URL
+            - ETHERPAD_URL_BASE
+            - GOOGLE_ANALYTICS_ID
+            - GOOGLE_API_APP_CLIENT_ID
+            - INVITE_SERVICE_URL
+            - JICOFO_AUTH_USER
+            - MATOMO_ENDPOINT
+            - MATOMO_SITE_ID
+            - MICROSOFT_API_APP_CLIENT_ID
+            - NGINX_RESOLVER
+            - NGINX_WORKER_PROCESSES
+            - NGINX_WORKER_CONNECTIONS
+            - PEOPLE_SEARCH_URL
+            - RESOLUTION
+            - RESOLUTION_MIN
+            - RESOLUTION_WIDTH
+            - RESOLUTION_WIDTH_MIN
+            - START_AUDIO_ONLY
+            - START_AUDIO_MUTED
+            - DISABLE_AUDIO_LEVELS
+            - ENABLE_NOISY_MIC_DETECTION
+            - START_BITRATE
+            - DESKTOP_SHARING_FRAMERATE_MIN
+            - DESKTOP_SHARING_FRAMERATE_MAX
+            - START_VIDEO_MUTED
+            - TESTING_CAP_SCREENSHARE_BITRATE
+            - TESTING_OCTO_PROBABILITY
+            - XMPP_AUTH_DOMAIN
+            - XMPP_BOSH_URL_BASE
+            - XMPP_DOMAIN
+            - XMPP_GUEST_DOMAIN
+            - XMPP_MUC_DOMAIN
+            - XMPP_RECORDER_DOMAIN
+            - TOKEN_AUTH_URL
+        networks:
+            # traefik: change the following line to your external docker network 
+            web:
+            meet.jitsi:
+                aliases:
+                    - ${XMPP_DOMAIN}
+        labels:
+            traefik.http.middlewares.redirect.redirectscheme.scheme: https
+            traefik.http.routers.app-http.entrypoints: web
+            traefik.http.routers.app-http.middlewares: redirect
+            traefik.http.routers.app-http.rule: 'Host(`your.host.name`)'
+            traefik.http.routers.app.entrypoints: websecure
+            traefik.http.routers.app.rule: 'Host(`your.host.name`)'
+            traefik.http.routers.app.tls: 'true'
+            traefik.http.routers.app.tls.certresolver: le
+            traefik.http.services.app.loadbalancer.server.port: 80
+            # traefik: change the following line to your external docker network
+            traefik.docker.network: web
+
+    # XMPP server
+    prosody:
+        image: jitsi/prosody
+        expose:
+            - '5222'
+            - '5347'
+            - '5280'
+        volumes:
+            - ${CONFIG}/prosody:/config
+        environment:
+            - AUTH_TYPE
+            - ENABLE_AUTH
+            - ENABLE_GUESTS
+            - ENABLE_LOBBY
+            - ENABLE_AV_MODERATION
+            - ENABLE_XMPP_WEBSOCKET
+            - GLOBAL_MODULES
+            - GLOBAL_CONFIG
+            - LDAP_URL
+            - LDAP_BASE
+            - LDAP_BINDDN
+            - LDAP_BINDPW
+            - LDAP_FILTER
+            - LDAP_AUTH_METHOD
+            - LDAP_VERSION
+            - LDAP_USE_TLS
+            - LDAP_TLS_CIPHERS
+            - LDAP_TLS_CHECK_PEER
+            - LDAP_TLS_CACERT_FILE
+            - LDAP_TLS_CACERT_DIR
+            - LDAP_START_TLS
+            - XMPP_DOMAIN
+            - XMPP_AUTH_DOMAIN
+            - XMPP_GUEST_DOMAIN
+            - XMPP_MUC_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_MODULES
+            - XMPP_MUC_MODULES
+            - XMPP_INTERNAL_MUC_MODULES
+            - XMPP_RECORDER_DOMAIN
+            - XMPP_CROSS_DOMAIN
+            - JICOFO_COMPONENT_SECRET
+            - JICOFO_AUTH_USER
+            - JICOFO_AUTH_PASSWORD
+            - JVB_AUTH_USER
+            - JVB_AUTH_PASSWORD
+            - JIGASI_XMPP_USER
+            - JIGASI_XMPP_PASSWORD
+            - JIBRI_XMPP_USER
+            - JIBRI_XMPP_PASSWORD
+            - JIBRI_RECORDER_USER
+            - JIBRI_RECORDER_PASSWORD
+            - JWT_APP_ID
+            - JWT_APP_SECRET
+            - JWT_ACCEPTED_ISSUERS
+            - JWT_ACCEPTED_AUDIENCES
+            - JWT_ASAP_KEYSERVER
+            - JWT_ALLOW_EMPTY
+            - JWT_AUTH_TYPE
+            - JWT_TOKEN_AUTH_MODULE
+            - LOG_LEVEL
+            - PUBLIC_URL
+            - TZ
+        networks:
+            meet.jitsi:
+                aliases:
+                    - ${XMPP_SERVER}
+
+    # Focus component
+    jicofo:
+        image: jitsi/jicofo
+        volumes:
+            - ${CONFIG}/jicofo:/config
+        environment:
+            - AUTH_TYPE
+            - BRIDGE_AVG_PARTICIPANT_STRESS
+            - BRIDGE_STRESS_THRESHOLD
+            - ENABLE_AUTH
+            - ENABLE_AUTO_OWNER
+            - ENABLE_CODEC_VP8
+            - ENABLE_CODEC_VP9
+            - ENABLE_CODEC_H264
+            - ENABLE_RECORDING
+            - ENABLE_SCTP
+            - JICOFO_COMPONENT_SECRET
+            - JICOFO_AUTH_USER
+            - JICOFO_AUTH_PASSWORD
+            - JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
+            - JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT
+            - JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT
+            - JICOFO_ENABLE_HEALTH_CHECKS
+            - JICOFO_SHORT_ID
+            - JICOFO_RESERVATION_ENABLED
+            - JICOFO_RESERVATION_REST_BASE_URL
+            - JIBRI_BREWERY_MUC
+            - JIBRI_REQUEST_RETRIES
+            - JIBRI_PENDING_TIMEOUT
+            - JIGASI_BREWERY_MUC
+            - JIGASI_SIP_URI
+            - JVB_BREWERY_MUC
+            - MAX_BRIDGE_PARTICIPANTS
+            - OCTO_BRIDGE_SELECTION_STRATEGY
+            - TZ
+            - XMPP_DOMAIN
+            - XMPP_AUTH_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_MUC_DOMAIN
+            - XMPP_SERVER
+        depends_on:
+            - prosody
+        networks:
+            meet.jitsi:
+
+    # Video bridge
+    jvb:
+        image: jitsi/jvb
+        ports:
+            - '${JVB_PORT}:${JVB_PORT}/udp'
+            - '${JVB_TCP_MAPPED_PORT}:${JVB_TCP_PORT}'
+        volumes:
+            - ${CONFIG}/jvb:/config
+        environment:
+            - DOCKER_HOST_ADDRESS
+            - XMPP_AUTH_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_SERVER
+            - JVB_AUTH_USER
+            - JVB_AUTH_PASSWORD
+            - JVB_BREWERY_MUC
+            - JVB_PORT
+            - JVB_TCP_HARVESTER_DISABLED
+            - JVB_TCP_PORT
+            - JVB_TCP_MAPPED_PORT
+            - JVB_STUN_SERVERS
+            - JVB_ENABLE_APIS
+            - JVB_WS_DOMAIN
+            - JVB_WS_SERVER_ID
+            - PUBLIC_URL
+            - TZ
+        depends_on:
+            - prosody
+        networks:
+            meet.jitsi:
+        labels:
+            traefik.udp.routers.jvb.entrypoints: video
+            traefik.udp.routers.jvb.service: jvb
+            traefik.udp.services.jvb.loadbalancer.server.port: 10000
+
+# Custom network so all services can communicate using a FQDN
+networks:
+    meet.jitsi:
+    # traefik: change the following line to your external docker network 
+    web:
+        external: true

+ 180 - 0
jitsi/examples/traefik/docker-compose.yml

@@ -0,0 +1,180 @@
+version: '3'
+
+services:
+    # Frontend
+    web:
+        image: jitsi/web
+        restart: ${RESTART_POLICY}
+        volumes:
+            - ${CONFIG}/web:/config:Z
+            - ${CONFIG}/web/letsencrypt:/etc/letsencrypt:Z
+            - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
+        environment:
+            - ENABLE_AUTH
+            - ENABLE_GUESTS
+            - ENABLE_LETSENCRYPT
+            - ENABLE_HTTP_REDIRECT
+            - ENABLE_TRANSCRIPTIONS
+            - DISABLE_HTTPS
+            - JICOFO_AUTH_USER
+            - LETSENCRYPT_DOMAIN
+            - LETSENCRYPT_EMAIL
+            - PUBLIC_URL
+            - XMPP_DOMAIN
+            - XMPP_AUTH_DOMAIN
+            - XMPP_BOSH_URL_BASE
+            - XMPP_GUEST_DOMAIN
+            - XMPP_MUC_DOMAIN
+            - XMPP_RECORDER_DOMAIN
+            - ETHERPAD_URL_BASE
+            - ETHERPAD_PUBLIC_URL
+            - TZ
+            - JIBRI_BREWERY_MUC
+            - JIBRI_PENDING_TIMEOUT
+            - JIBRI_XMPP_USER
+            - JIBRI_XMPP_PASSWORD
+            - JIBRI_RECORDER_USER
+            - JIBRI_RECORDER_PASSWORD
+            - ENABLE_RECORDING
+        networks:
+            # traefik: change the following line to your external docker network 
+            web:
+            meet.jitsi:
+                aliases:
+                    - ${XMPP_DOMAIN}
+        labels:
+            # traefik: change that to your external network
+            - "traefik.docker.network=web"
+            - "traefik.enable=true"
+            - "traefik.backend=jc_backend"
+            # traefik: change that to your actual fqdn 
+            - "traefik.basic.frontend.rule=Host:your.host.name"
+            - "traefik.basic.port=80"
+
+    # XMPP server
+    prosody:
+        image: jitsi/prosody
+        restart: ${RESTART_POLICY}
+        expose:
+            - '5222'
+            - '5347'
+            - '5280'
+        volumes:
+            - ${CONFIG}/prosody/config:/config:Z
+            - ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
+        environment:
+            - AUTH_TYPE
+            - ENABLE_AUTH
+            - ENABLE_GUESTS
+            - GLOBAL_MODULES
+            - GLOBAL_CONFIG
+            - LDAP_URL
+            - LDAP_BASE
+            - LDAP_BINDDN
+            - LDAP_BINDPW
+            - LDAP_FILTER
+            - LDAP_AUTH_METHOD
+            - LDAP_VERSION
+            - LDAP_USE_TLS
+            - LDAP_TLS_CIPHERS
+            - LDAP_TLS_CHECK_PEER
+            - LDAP_TLS_CACERT_FILE
+            - LDAP_TLS_CACERT_DIR
+            - LDAP_START_TLS
+            - XMPP_DOMAIN
+            - XMPP_AUTH_DOMAIN
+            - XMPP_GUEST_DOMAIN
+            - XMPP_MUC_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_MODULES
+            - XMPP_MUC_MODULES
+            - XMPP_INTERNAL_MUC_MODULES
+            - XMPP_RECORDER_DOMAIN
+            - JICOFO_COMPONENT_SECRET
+            - JICOFO_AUTH_USER
+            - JICOFO_AUTH_PASSWORD
+            - JVB_AUTH_USER
+            - JVB_AUTH_PASSWORD
+            - JIGASI_XMPP_USER
+            - JIGASI_XMPP_PASSWORD
+            - JIBRI_XMPP_USER
+            - JIBRI_XMPP_PASSWORD
+            - JIBRI_RECORDER_USER
+            - JIBRI_RECORDER_PASSWORD
+            - JWT_APP_ID
+            - JWT_APP_SECRET
+            - JWT_ACCEPTED_ISSUERS
+            - JWT_ACCEPTED_AUDIENCES
+            - JWT_ASAP_KEYSERVER
+            - JWT_ALLOW_EMPTY
+            - JWT_AUTH_TYPE
+            - JWT_TOKEN_AUTH_MODULE
+            - LOG_LEVEL
+            - TZ
+        networks:
+            meet.jitsi:
+                aliases:
+                    - ${XMPP_SERVER}
+
+    # Focus component
+    jicofo:
+        image: jitsi/jicofo
+        restart: ${RESTART_POLICY}
+        volumes:
+            - ${CONFIG}/jicofo:/config:Z
+        environment:
+            - AUTH_TYPE
+            - ENABLE_AUTH
+            - XMPP_DOMAIN
+            - XMPP_AUTH_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_SERVER
+            - JICOFO_COMPONENT_SECRET
+            - JICOFO_AUTH_USER
+            - JICOFO_AUTH_PASSWORD
+            - JICOFO_RESERVATION_REST_BASE_URL
+            - JVB_BREWERY_MUC
+            - JIGASI_BREWERY_MUC
+            - JIBRI_BREWERY_MUC
+            - JIGASI_SIP_URI
+            - JIBRI_PENDING_TIMEOUT
+            - TZ
+        depends_on:
+            - prosody
+        networks:
+            meet.jitsi:
+
+    # Video bridge
+    jvb:
+        image: jitsi/jvb
+        restart: ${RESTART_POLICY}
+        ports:
+            - '${JVB_PORT}:${JVB_PORT}/udp'
+            - '${JVB_TCP_MAPPED_PORT}:${JVB_TCP_PORT}'
+        volumes:
+            - ${CONFIG}/jvb:/config:Z
+        environment:
+            - DOCKER_HOST_ADDRESS
+            - XMPP_AUTH_DOMAIN
+            - XMPP_INTERNAL_MUC_DOMAIN
+            - XMPP_SERVER
+            - JVB_AUTH_USER
+            - JVB_AUTH_PASSWORD
+            - JVB_BREWERY_MUC
+            - JVB_PORT
+            - JVB_TCP_HARVESTER_DISABLED
+            - JVB_TCP_PORT
+            - JVB_STUN_SERVERS
+            - JVB_ENABLE_APIS
+            - TZ
+        depends_on:
+            - prosody
+        networks:
+            meet.jitsi:
+
+# Custom network so all services can communicate using a FQDN
+networks:
+    meet.jitsi:
+    # traefik: change the following line to your external docker network 
+    web:
+        external: true

+ 19 - 0
jitsi/gen-passwords.sh

@@ -0,0 +1,19 @@
+#!/bin/bash
+
+function generatePassword() {
+    openssl rand -hex 16
+}
+
+JICOFO_AUTH_PASSWORD=$(generatePassword)
+JVB_AUTH_PASSWORD=$(generatePassword)
+JIGASI_XMPP_PASSWORD=$(generatePassword)
+JIBRI_RECORDER_PASSWORD=$(generatePassword)
+JIBRI_XMPP_PASSWORD=$(generatePassword)
+
+sed -i.bak \
+    -e "s#JICOFO_AUTH_PASSWORD=.*#JICOFO_AUTH_PASSWORD=${JICOFO_AUTH_PASSWORD}#g" \
+    -e "s#JVB_AUTH_PASSWORD=.*#JVB_AUTH_PASSWORD=${JVB_AUTH_PASSWORD}#g" \
+    -e "s#JIGASI_XMPP_PASSWORD=.*#JIGASI_XMPP_PASSWORD=${JIGASI_XMPP_PASSWORD}#g" \
+    -e "s#JIBRI_RECORDER_PASSWORD=.*#JIBRI_RECORDER_PASSWORD=${JIBRI_RECORDER_PASSWORD}#g" \
+    -e "s#JIBRI_XMPP_PASSWORD=.*#JIBRI_XMPP_PASSWORD=${JIBRI_XMPP_PASSWORD}#g" \
+    "$(dirname "$0")/.env"

+ 72 - 0
jitsi/release.sh

@@ -0,0 +1,72 @@
+#!/bin/bash
+
+set -e
+
+# Don't start a release if the tree is dirty
+#
+
+if [[ ! -z $(git status -s) ]]; then
+    echo "Git tree is not clean, aborting release!"
+    exit 1
+fi
+
+# Get version and branch (we only do stable for now)
+#
+
+V="$1"
+RELEASE="${2:-stable}"
+
+if [[ -z $V ]]; then
+    echo "A version must be specified!"
+    exit 1
+fi
+
+VERSION="${RELEASE}-${V}"
+echo "Releasing ${VERSION}"
+
+if git rev-parse "${VERSION}" >/dev/null 2>&1; then
+	echo "Tag for such version already exists!"
+	exit 1
+fi
+
+# Prepare changelog
+#
+
+LAST_VERSION=$(git describe --tags --abbrev=0)
+CHANGES=$(git log --oneline --no-decorate --no-merges ${LAST_VERSION}..HEAD --pretty=format:"%x2a%x20%h%x20%s")
+
+echo "Changelog:"
+echo "$CHANGES"
+
+echo -e "## ${VERSION}\n\nBased on ${RELEASE} release ${V}.\n\n${CHANGES}\n" > tmp
+cat CHANGELOG.md >> tmp
+mv tmp CHANGELOG.md
+
+# Set specific image tags in compose files
+#
+
+sed -i "" -e "s/latest/${VERSION}/" *.yml
+
+# Commit all changes and tag the repo
+#
+
+git commit -a -m "release: ${VERSION}" -m "${CHANGES}"
+git tag -a "${VERSION}" -m "release" -m "${CHANGES}"
+
+# Tag Docker images and push them to DockerHub
+#
+
+JITSI_BUILD=${VERSION} make release
+
+# Revert back to "latest" for development
+#
+
+sed -i "" -e "s/${VERSION}/latest/" *.yml
+
+git commit -a -m "misc: working on latest"
+
+# Push all changes and tags
+#
+
+git push
+git push --tags

+ 1 - 0
screeenly/.env

@@ -0,0 +1 @@
+CONTAINER_NAME=screeenly

+ 34 - 0
screeenly/docker-compose.yml

@@ -0,0 +1,34 @@
+version: '3'
+
+
+services:
+  mysql:
+    image: mysql:8.0
+#    volumes:
+#      - db_data:/var/lib/mysql
+    restart: "no" 
+    environment:
+      MYSQL_ROOT_PASSWORD: laravel 
+      MYSQL_DATABASE: laravel 
+      MYSQL_USER: laravel 
+      MYSQL_PASSWORD: laravel 
+
+  screeenly:
+    image:  hadogenes/screeenly
+    container_name: ${CONTAINER_NAME}
+    ports:
+      - "6680:80"
+#    volumes:
+#      - ./data:/var/www/screeenly
+
+    #volumes: 
+    #  - "${DATA_ROOT}/data:${FTP_USER_HOME}"
+    #  - "${DATA_ROOT}/passwd:/etc/pure-ftpd/passwd"
+    #environment:
+    #  PUBLICHOST: ${PUBLICHOST}
+    #  FTP_USER_NAME: ${FTP_USER_NAME}
+    #  FTP_USER_PASS: ${FTP_USER_PASS}
+    #  FTP_USER_HOME: ${FTP_USER_HOME}
+    #  ADDED_FLAGS: "--tls=0 -K --umask 000:000"
+    #hostname: ${PUBLICHOST}
+    restart: "no"

+ 3 - 0
synapse/.env

@@ -0,0 +1,3 @@
+DATA_ROOT=/home/tuffy/docker/synapse/data
+MATRIX_DOMAIN=algometic.com
+CONTAINER_NAME=synapse

+ 29 - 0
synapse/data/algometic.com.log.config

@@ -0,0 +1,29 @@
+version: 1
+
+formatters:
+  precise:
+
+    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
+
+
+handlers:
+
+
+  console:
+    class: logging.StreamHandler
+    formatter: precise
+
+loggers:
+    synapse.storage.SQL:
+        # beware: increasing this to DEBUG will make synapse log sensitive
+        # information such as access tokens.
+        level: INFO
+
+root:
+    level: INFO
+
+
+    handlers: [console]
+
+
+disable_existing_loggers: false

+ 23 - 0
synapse/docker-compose.yml

@@ -0,0 +1,23 @@
+version: '3.3'
+
+services:
+  app:
+    image: matrixdotorg/synapse
+    restart: "no" 
+    volumes:
+      - ${DATA_ROOT}:/data
+    ports:
+      - 8008:8008
+
+  ma1sd:
+    image: ma1uta/ma1sd:2.5.0
+    restart: "no" 
+    volumes:
+      - ${DATA_ROOT}/ma1sd/etc:/etc/ma1sd
+      - ${DATA_ROOT}/ma1sd/var:/var/ma1sd
+    environment:
+      - MATRIX_DOMAIN=${MATRIX_DOMAIN}
+    ports:
+      - 8090:8090
+
+

+ 5 - 0
synapse/generate.sh

@@ -0,0 +1,5 @@
+docker run -it --rm \
+    -v /home/tuffy/docker/synapse/data:/data \
+    -e SYNAPSE_SERVER_NAME=element.algometic.com \
+    -e SYNAPSE_REPORT_STATS=yes \
+    matrixdotorg/synapse:latest generate

+ 4 - 0
torproxy/.env

@@ -0,0 +1,4 @@
+CONTAINER_NAME=torproxy
+BW=50
+TZ=EST5EDT
+

+ 17 - 0
torproxy/docker-compose.yml

@@ -0,0 +1,17 @@
+version: "2.1"
+services:
+ 
+ httpd:
+    image: dperson/torproxy 
+    container_name: ${CONTAINER_NAME} 
+    ports:
+      - 8118:8118
+    environment:
+      - TZ:${TZ}
+      - BW:${BW}    
+    restart: "no" 
+    network_mode: none
+
+
+     
+

+ 12 - 0
ubuntu/.env

@@ -0,0 +1,12 @@
+CONTAINER_NAME=scipy-jupyter
+
+LOCAL_WORKING_DIR=/home/tuffy/docker/jupyter/notebooks
+PORT=8888
+# Provide data sets
+LOCAL_DATASETS=/home/tuffy/docker/jupyter/datasets
+# Provide local modules
+#LOCAL_MODULES=/home/tuffy/docker/jupyter/python_modules
+LOCAL_MODULES=/home/tuffy/projects/amapi/venv/lib/python3.8/site-packages
+# beautyandthebeast
+ACCESS_TOKEN=sha1:4a216e7de9eb:e566c7ebd8587f5b5c3f4ebf8cc220649751eb78
+

+ 2 - 0
ubuntu/dnu.sh

@@ -0,0 +1,2 @@
+./vbr_docker_compose.sh stop ovs-br1 u2 
+

+ 1 - 0
ubuntu/docker-ubuntu-vnc-desktop

@@ -0,0 +1 @@
+Subproject commit e4922ce92f945fc482994b7a0fd95ca5de7295b3

+ 2 - 0
ubuntu/up_alpine.sh

@@ -0,0 +1,2 @@
+./vbr_docker_compose.sh run ovs-br1 eth2 con1 ~/docker/alpine 192.168.6.10 24 192.168.6.1
+

+ 5 - 0
ubuntu/upu.sh

@@ -0,0 +1,5 @@
+#
+# to create multiple containers, clone this script and change container name and ip address in the script
+#./vbr_docker_compose.sh run ovs-br1 eth2 u2 ~/docker/ubuntu 192.168.6.16 24 192.168.6.1
+./vbr_ub1.sh run ovs-br1 eth2 u4 ~/docker/ubuntu 192.168.6.18 24 192.168.6.1
+

+ 79 - 0
ubuntu/vbr_docker_compose.sh

@@ -0,0 +1,79 @@
+#!/bin/sh
+
+find(){
+ 
+        #sudo ovs-vsctl --data=bare --no-heading --columns=name find interface external_ids:container_id=**con1** external_ids:container_iface=**eth2**
+        sudo ovs-vsctl --data=bare --columns=external_ids,name find interface 
+}
+
+run() {
+	BRIDGE=$2
+	INTERFACE=$3
+	CONTAINER=$4
+	CONTAINER_DIR=$5
+	IPADDR=$6
+	IPMASK=$7 
+        GATEWAY=$8
+	sudo ovs-vsctl show
+        echo "Delete previous assigned ports for container: $CONTAINER..."
+	sudo ovs-docker del-ports $BRIDGE $CONTAINER 
+        echo "starting container $CONTAINER..."
+	#env $(cat $CONTAINER_DIR/.env | grep "#" -v) docker-compose -f $CONTAINER_DIR/docker-compose.yml up -d
+#        docker run -d -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm  --name $CONTAINER --cap-add=NET_ADMIN -e USER=mickey -e PASSWORD=mouse -e RESOLUTION=1920x1080 --net=none --rm dorowu/ubuntu-desktop-lxde-vnc:focal 
+        docker run -d -v /dev/shm:/dev/shm  --name $CONTAINER --device /dev/snd -e ALSADEV=hw:3,0 --cap-add=NET_ADMIN -e USER=mickey -e PASSWORD=mouse -e RESOLUTION=1920x1080 --net=none --rm dorowu/ubuntu-desktop-lxde-vnc:focal 
+
+	sleep 1
+        echo "assign $INTERFACE to $CONTAINER with ipaddress $IPADDR/$IPMASK..." 
+	sudo ovs-docker add-port $BRIDGE $INTERFACE $CONTAINER --ipaddress=$IPADDR/$IPMASK --gateway=$GATEWAY
+	#sudo ovs-docker add-port ovs-br1 eth2 con2 --ipaddress=192.168.6.11/24
+        docker exec -it $CONTAINER ip route add default via $GATEWAY dev $INTERFACE
+        docker exec -it $CONTAINER route 
+        sudo ovs-vsctl show
+
+
+}
+
+
+destroy(){
+	BRIDGE=$2
+	CONTAINER=$3
+
+        echo "Stopping $BRIDGE ...  $CONTAINER..."
+	docker stop $CONTAINER
+        echo "Delete previous assigned ports for container: $CONTAINER..."
+	sudo ovs-docker del-ports $BRIDGE $CONTAINER 
+	sudo ovs-vsctl show
+        
+     
+}
+
+
+usage() {
+    cat << EOF
+    
+    PARAM:
+     run 	BRIDGE INTERFACE CONTAINER CONTAINER_DIR IPADDR MASK 
+     stop       BRIDGE CONTAINER	
+EOF
+}
+
+if [ $# -eq 0 ]; then
+    usage
+    exit 0
+fi
+
+case $1 in
+    "run")
+          run "$@"
+          exit 0
+          ;;
+     "stop") 
+          destroy "$@"
+          exit 0
+          ;;
+     "find") 
+          find "$@"
+          exit 0
+          ;;
+
+esac

+ 79 - 0
ubuntu/vbr_ub1.sh

@@ -0,0 +1,79 @@
+#!/bin/sh
+
+find(){
+ 
+        #sudo ovs-vsctl --data=bare --no-heading --columns=name find interface external_ids:container_id=**con1** external_ids:container_iface=**eth2**
+        sudo ovs-vsctl --data=bare --columns=external_ids,name find interface 
+}
+
+run() {
+	BRIDGE=$2
+	INTERFACE=$3
+	CONTAINER=$4
+	CONTAINER_DIR=$5
+	IPADDR=$6
+	IPMASK=$7 
+        GATEWAY=$8
+	sudo ovs-vsctl show
+        echo "Delete previous assigned ports for container: $CONTAINER..."
+	sudo ovs-docker del-ports $BRIDGE $CONTAINER 
+        echo "starting container $CONTAINER..."
+	#env $(cat $CONTAINER_DIR/.env | grep "#" -v) docker-compose -f $CONTAINER_DIR/docker-compose.yml up -d
+#        docker run -d -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm  --name $CONTAINER --cap-add=NET_ADMIN -e USER=mickey -e PASSWORD=mouse -e RESOLUTION=1920x1080 --net=none --rm dorowu/ubuntu-desktop-lxde-vnc:focal 
+        docker run -d -v /dev/shm:/dev/shm  --name $CONTAINER --device /dev/snd -e ALSADEV=hw:3,0 --cap-add=NET_ADMIN -e USER=mickey -e PASSWORD=mouse -e RESOLUTION=1920x1080 --net=none --rm ub1 
+
+	sleep 1
+        echo "assign $INTERFACE to $CONTAINER with ipaddress $IPADDR/$IPMASK..." 
+	sudo ovs-docker add-port $BRIDGE $INTERFACE $CONTAINER --ipaddress=$IPADDR/$IPMASK --gateway=$GATEWAY
+	#sudo ovs-docker add-port ovs-br1 eth2 con2 --ipaddress=192.168.6.11/24
+        docker exec -it $CONTAINER ip route add default via $GATEWAY dev $INTERFACE
+        docker exec -it $CONTAINER route 
+        sudo ovs-vsctl show
+
+
+}
+
+
+destroy(){
+	BRIDGE=$2
+	CONTAINER=$3
+
+        echo "Stopping $BRIDGE ...  $CONTAINER..."
+	docker stop $CONTAINER
+        echo "Delete previous assigned ports for container: $CONTAINER..."
+	sudo ovs-docker del-ports $BRIDGE $CONTAINER 
+	sudo ovs-vsctl show
+        
+     
+}
+
+
+usage() {
+    cat << EOF
+    
+    PARAM:
+     run 	BRIDGE INTERFACE CONTAINER CONTAINER_DIR IPADDR MASK 
+     stop       BRIDGE CONTAINER	
+EOF
+}
+
+if [ $# -eq 0 ]; then
+    usage
+    exit 0
+fi
+
+case $1 in
+    "run")
+          run "$@"
+          exit 0
+          ;;
+     "stop") 
+          destroy "$@"
+          exit 0
+          ;;
+     "find") 
+          find "$@"
+          exit 0
+          ;;
+
+esac