示例#1
0
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)
示例#2
0
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)
示例#3
0
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)
示例#4
0
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)
示例#5
0
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)
示例#6
0
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)