def run_container(alconf): # util.ensute_custom_network_bridge() arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] if run("test -e /sbin/wpa_supplicant ", quiet=True).succeeded: run("sudo mv /sbin/wpa_supplicant /sbin/no_wpa_supplicant") run("sudo systemctl mask wpa_supplicant.service") run("sudo pkill wpa_supplicant") # print(json.dumps(get_config(alconf), indent=2)) # print(json.dumps(alconf, indent=2)) # with quiet(): run("rm -f ~/wificfg.json ~/wifi_wpa_supplicant.conf ") append("~/wificfg.json", json.dumps(get_config(alconf), indent=2)) append("~/wifi_wpa_supplicant.conf", get_wpa(alconf)) util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) run(' docker run ' + ' --restart unless-stopped ' + ' -p 8080:{0} '.format(CONT_PORT) + ' -dt ' + ' --privileged ' + ' --network host ' + ' -v ~/wificfg.json:/cfg/wificfg.json ' + ' -v ~/wifi_wpa_supplicant.conf:/etc/wpa_supplicant/wpa_supplicant.conf ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + arch_img_name) util.print_cont_status(CONT_NAME)
def run_container(alconf): # util.ensute_custom_network_bridge() arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] # excluded = [".git", "lib", ".gitignore", "README.md", ".vscode"] # util.to_host(os.path.join(CONT_PATH, "DATA"),rename="data", exclude=excluded) util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) # util.create_storage_container(CONT_NAME) run(' docker run ' + ' --restart always ' + ' -dt ' + # ' --network host ' + ' -p 127.0.0.1:{0}:{0} '.format(CONT_PORT) + # ' --expose {0} '.format(CONT_PORT) + # ' -v $CURRENT_PATH/../{0}:/{0}:ro '.format(CONT_NAME) + # ' -e OH_PORT_TO_PATH="000:template" ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + arch_img_name) # time.sleep(5) # run("docker exec ##### ") # run("docker restart ######### ") util.print_cont_status(CONT_NAME)
def run_container(alconf): arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] util.ensute_custom_network_bridge("net_database") util.to_host(os.path.join(CONT_PATH, "telegraf.conf")) # util.to_host(os.path.join(CONT_PATH, "piholestats.sh")) run("cp telegraf.conf $HOME/") # run("chmod +x piholestats.sh ") util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) util.create_storage_container(CONT_NAME) run(' docker run ' + ' --restart always ' + ' -dt ' + ' --net=net_database ' + ' -h {0}-{1} '.format(str(run("hostname")), CONT_NAME) + # ' --network host ' + ' -v /var/run/docker.sock:/var/run/docker.sock:ro ' + ' -v $HOME/telegraf.conf:/etc/telegraf/telegraf.conf:ro ' + # ' -v $HOME/piholestats.sh:/piholestats.sh ' + # ' -p 127.0.0.1:{0}:{0} '.format() + # ' --expose ' + '-v {0}-storage:/var/lib/{0} '.format(CONT_NAME) + # ' -v $CURRENT_PATH/../{0}:/{0}:ro '.format(CONT_NAME) + # ' -e OH_PORT_TO_PATH="000:template" ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + arch_img_name) # run('docker cp piholestats.sh telegraf:/piholestats.sh ') # time.sleep(5) # run("docker exec ##### ") # run("docker restart ######### ") util.print_cont_status(CONT_NAME)
def run_container(alconf): arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] util.ensute_custom_network_bridge("net_database") util.to_host(os.path.join(CONT_PATH, "kapacitor.conf")) run("cp kapacitor.conf $HOME/") util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) util.create_storage_container(CONT_NAME) run(' docker run ' + ' --restart always ' + ' --net=net_database ' + ' -dt ' + # ' --network host ' + # ' -e KAPACITOR_INFLUXDB_0_URLS_0=http://localhost:8086 ' + ' -v $HOME/kapacitor.conf:/etc/kapacitor/kapacitor.conf:ro ' + ' -p {0}:{0} '.format(CONT_PORT) + # ' --expose $CONT_PORT ' + '-v {0}-storage:/var/lib/{0} '.format(CONT_NAME) + # ' -v $CURRENT_PATH/../{0}:/{0}:ro '.format(CONT_NAME) + # ' -e OH_PORT_TO_PATH="000:template" ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + arch_img_name) # time.sleep(5) # run("docker exec ##### ") # run("docker restart ######### ") util.print_cont_status(CONT_NAME)
def run_container(alconf): util.ensute_custom_network_bridge("net_database") arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) util.create_storage_container(CONT_NAME) run("mkdir -p $HOME/" + CONT_NAME) run(' docker run ' + ' --restart always ' + ' -td ' + # ' --network=host ' + ' --net=net_database ' + ' -v /etc/localtime:/etc/localtime:ro ' + ' -v /etc/timezone:/etc/timezone:ro ' + # ' -e OPENHAB_HTTP_PORT="7123" ' + ' -p 7123:8080 ' + ' -v $HOME/openhab/addons:/openhab/addons ' + ' -v $HOME/openhab/conf:/openhab/conf ' + ' -v $HOME/openhab/userdata:/openhab/userdata ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + arch_img_name) # time.sleep(5) # run("docker exec ##### ") # run("docker restart ######### ") util.print_cont_status(CONT_NAME)
def run_container(alconf): arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] # excluded = [".git", "lib", ".gitignore", "README.md", ".vscode"] # util.to_host(os.path.join(CONT_PATH, "DATA"),rename="data", exclude=excluded) util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) util.create_storage_container(CONT_NAME) run(' docker run ' + ' --restart always ' + ' -dt ' + ' --net=net_database ' + # ' --network host ' + # '--link influxdb ' + # '--link kapacitor ' + # ' -p 127.0.0.1:{0}:{0} '.format(CONT_PORT) + ' -p {0}:{0} '.format(CONT_PORT) + # ' --expose $CONT_PORT ' + '-v {0}-storage:/var/lib/{0} '.format(CONT_NAME) + # ' -v $CURRENT_PATH/../{0}:/{0}:ro '.format(CONT_NAME) + # ' -e OH_PORT_TO_PATH="000:template" ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + arch_img_name + ' --host 0.0.0.0 --port {} '.format(CONT_PORT) + # ' --basepath /chronograf --prefix-routes ' + ' --influxdb-url=http://influxdb:8086 ' + ' --kapacitor-url=http://kapacitor:9092 ') # time.sleep(5) # run("docker exec ##### ") # run("docker restart ######### ") util.print_cont_status(CONT_NAME)
def run_container(alconf): util.ensute_custom_network_bridge("net_database") arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] # util.to_host(os.path.join(CONT_PATH, "influxdb.conf")) # run("cp influxdb.conf $HOME/") util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) util.create_storage_container(CONT_NAME) run('docker run ' + '-dt ' + ' --net=net_database ' + # '--network host ' + # " --network {} ".format(alconf.var.docker_network_name) + # '--ip "192.168.59.86" ' + ' -p {0}:{0} '.format(CONT_PORT) + # ' -p 127.0.0.1:{0}:{0} '.format(CONT_PORT) + '--restart always ' + '--log-opt max-size=250k --log-opt max-file=4 ' + '' + # ' -e INFLUXDB_REPORTING_DISABLED=true' + # ' -e INFLUXDB_META_DIR=/var/lib/influxdb/metadir' + # ' -e INFLUXDB_DATA_QUERY_LOG_ENABLED=false' + # ' -e INFLUXDB_ADMIN_USER='******' -e INFLUXDB_ADMIN_PASSWORD='******' -e INFLUXDB_REPORTING_DISABLED="true" ' + ' -e INFLUXDB_META_DIR="/var/lib/influxdb/meta" ' + ' -e INFLUXDB_DATA_DIR="/var/lib/influxdb/data" ' + ' -e INFLUXDB_DATA_WAL_DIR="/var/lib/influxdb/wal" ' + ' -e INFLUXDB_COORDINATOR_WRITE_TIMEOUT="40s" ' + ' -e INFLUXDB_COORDINATOR_MAX_CONCURRENT_QUERIES="0" ' + ' -e INFLUXDB_DATA_MAX_VALUES_PER_TAG="0" ' + ' -e INFLUXDB_DATA_MAX_SERIES_PER_DATABASE="0" ' + ' -e INFLUXDB_DATA_WAL_FSYNC_DELAY="50ms" ' + '' + # '-v $HOME/backup:/backup ' + '-v /etc/localtime:/etc/localtime:ro ' + '-v {}-storage:/var/lib/influxdb '.format(CONT_NAME) + # ' -v $HOME/influxdb.conf:/etc/influxdb/influxdb.conf:ro ' + '' + '--name {} '.format(CONT_NAME) + arch_img_name) # " -config /etc/influxdb/influxdb.conf ") util.print_cont_status(CONT_NAME) # TODO Function to wait until .... use :8086/ping to check state time.sleep(15) run('docker exec influxdb influx -execute "CREATE DATABASE \"hass\"" ') run("docker restart influxdb ") util.print_cont_status(CONT_NAME)
def run_container(alconf): util.ensute_custom_network_bridge("net_database") arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) util.create_storage_container(CONT_NAME) run(' docker run ' + ' -dt ' + ' --net=net_database ' + # ' --network host ' + # '--link influxdb ' + # ' -p 127.0.0.1:{0}:{0} '.format(CONT_PORT) + ' -p 3000:3000 ' + # ' --expose 3000 ' + ' --restart always ' + ' --name=grafana ' + # ' -v $HOME/backup:/backup ' + ' -v grafana-storage:/var/lib/grafana ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' -e "GF_INSTALL_PLUGINS=grafana-clock-panel" ' + ' -e GF_ANALYTICS_CHECK_FOR_UPDATES="false" ' + ' -e GF_ANALYTICS_REPORTING_ENABLED="false" ' + ' -e GF_SECURITY_ADMIN_USER={} '.format(alconf.var.GRAFANA_ADMIN_NAME) + ' -e GF_SECURITY_ADMIN_PASSWORD={} '.format( alconf.var.GRAFANA_ADMIN_PASS) + ' -e GF_SECURITY_USERS_ALLOW_ORG_CREATE="false" ' + ' -e GF_SECURITY_USERS_VERIFY_EMAIL_ENABLED="false" ' + ' -e GF_AUTH_ANONYMOUS_ENABLED="true" ' + ' -e GF_AUTH_ANNONYMUS_ORG_NAME="ORGANIZATION" ' + ' -e GF_AUTH_ANNONYMUS_ORG_ROLE="Viewer" ' + ' -e GF_AUTH_DISABLE_LOGIN_FORM="false" ' + ' -e GF_USERS_ALLOW_SIGN_UP="true" ' + ' -e GF_AUTH_PROXY="false" ' + # ' -e GF_SERVER_ROOT_URL="%(protocol)s://%(domain)s:%(http_port)s/grafana" ' + # ' -e GF_SERVER_ROOT_URL="%(protocol)s://%(domain)s:%(http_port)s/grafana" ' + # ' -e OH_PORT_TO_PATH="3000:grafana" ' + # ' -e VIRTUAL_HOST="grafana.192.168.2.111" ' + arch_img_name) # TODO Function to wait until .... maybe an API call # time.sleep(10) # run("docker exec grafana grafana-cli plugins install grafana-clock-panel") # run("docker exec grafana grafana-cli plugins install grafana-worldmap-panel") # run("docker exec grafana grafana-cli plugins install natel-influx-admin-panel") # run("docker exec grafana grafana-cli plugins install grafana-piechart-panel") # run("docker exec grafana grafana-cli plugins update-all") # run("docker restart grafana") util.print_cont_status(CONT_NAME)
def run_container(alconf): # util.ensute_custom_network_bridge() arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] # excluded = [".git", "lib", ".gitignore", "README.md", ".vscode"] # util.to_host(os.path.join(CONT_PATH, "DATA"),rename="data", exclude=excluded) util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) util.create_storage_container(CONT_NAME) util.create_storage_container(CONT_NAME_DNS) # ipv6ip = run("ip -6 route get 2001:4860:4860::8888 | awk '{for(i=1;i<=NF;i++) if ($i==\"src\") print $(i+1)}'") # docker ipv6 needs to be activated : https://docs.docker.com/config/daemon/ipv6/ sudo('fuser -k -n tcp 53') sudo('fuser -k -n udp 53') sudo('fuser -k -n udp 67') run(' docker run ' + # ' --restart always ' + ' -dt ' + ' -v {}-storage:/etc/pihole '.format(CONT_NAME) + ' -v {}-storage:/etc/dnsmasq.d '.format(CONT_NAME_DNS) + ' --restart=unless-stopped ' + # ' --cap-add=NET_ADMIN ' + # ' --cap-add=CAP_NET_BIND_SERVICE ' + # ' --cap-add=CAP_NET_RAW ' + # ' --cap-add=CAP_NET_ADMIN ' + ' --net=host ' + ' -p 53:53/tcp ' + ' -p 53:53/udp ' + ' -p 67:67/udp ' + ' -p 80:80/tcp ' + ' -p 443:443/tcp ' + # ' -p 443:443 ' + ' --dns=127.0.0.1 ' + ' --dns=1.1.1.1 ' + # ' -p 8765:8765 ' + # ' -e WEB_PORT="8765" ' + ' -e WEBPASSWORD="******" ' + ' -e ServerIP="$(ip route get 8.8.8.8 | awk \'{ print $NF; exit }\')" ' + # ' -e ServerIPv6="{}" '.format(ipv6ip) + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + arch_img_name) util.print_cont_status(CONT_NAME)
def run_container(alconf): util.ensute_custom_network_bridge("net_database") # util.ensute_custom_network_bridge() # import json # print(json.dumps(alconf,indent=2)) REM_SERVER_PATH = "$HOME/RespirMeshServer" if run("hostname").strip() == alconf.var.DEV_HOSTNAME: print(yellow("Quick referencing the local dev files of the server")) REM_SERVER_PATH = os.path.join(alconf.root, "RespirMesh") else: print(yellow("Copying most of the server files to the host")) excluded = [".git", "lib", ".gitignore", "README.md", ".vscode"] run("rm -rf $HOME/RespirMeshServer ") util.to_host(os.path.join(alconf.pth.root, "RespirMesh"), rename="RespirMeshServer", exclude=excluded) run(" cp -r RespirMeshServer $HOME ") util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, DOCKER_BASE_IMAGE) # util.create_storage_container(CONT_NAME) run(' docker run ' + ' --restart always ' + ' --net=net_database ' + ' -dt ' + ' -p {0}:{0} '.format(CONT_PORT) + ' -p {0}:{0} '.format(CONT_PORT_VIZ) + # ' --network host ' + # ' -p 127.0.0.1:{0}:{0} '.format(CONT_PORT) + ' -v %s:/RespirMeshServer ' % REM_SERVER_PATH + # ' --expose {0} '.format(CONT_PORT) + # ' --expose 9996 ' + # ' -v $CURRENT_PATH/../{0}:/{0}:ro '.format(CONT_NAME) + # ' -e OH_PORT_TO_PATH="000:template" ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + DOCKER_BASE_IMAGE) # time.sleep(5) # run("docker exec ##### ") # run("docker restart ######### ") util.print_cont_status(CONT_NAME)
def run_container(alconf): arch_img_name = DOCKER_BASE_IMAGE[util.dev_type()] # excluded = [".git", "lib", ".gitignore", "README.md", ".vscode"] # util.to_host(os.path.join(CONT_PATH, "DATA"),rename="data", exclude=excluded) run("rm -rf $HOME/nginx") run("mkdir -p $HOME/nginx/conf.d") util.to_host(os.path.join(CONT_PATH, "nginx.conf"), rename="$HOME/nginx/nginx.conf") util.to_host(os.path.join(CONT_PATH, "default.conf"), rename="$HOME/nginx/conf.d/default.conf") util.ensure_cont_stopped(CONT_NAME) util.build_latest_image(CONT_NAME, arch_img_name) # util.create_storage_container(CONT_NAME) run('export DOCKER_OPTS="--auth=identity --host=tcp://0.0.0.0:2376" && docker run ' + # ' --network host ' + ' --restart always ' + # '--link grafana ' + # '--link chronograf ' + # ' -e DOCKER_HOST=tcp://0.0.0.0:2376 ' + ' -v /var/run/docker.sock:/var/run/docker.sock:ro ' + ' -dt ' + ' ' + ' -p 80:80 ' + ' -v $HOME/nginx/conf.d:/etc/nginx/conf.d ' + ' -v $HOME/nginx/nginx.conf:/etc/nginx/nginx.conf ' + ' ' + ' --log-opt max-size=250k --log-opt max-file=4 ' + ' --name {} '.format(CONT_NAME) + arch_img_name # ' --with-http_stub_status_module ' ) # time.sleep(5) # run("docker exec ##### ") # run("docker restart ######### ") util.print_cont_status(CONT_NAME)