{"id":21840306,"url":"https://github.com/zapier/docker-proxysql","last_synced_at":"2025-04-14T10:51:31.336Z","repository":{"id":48394277,"uuid":"170442339","full_name":"zapier/docker-proxysql","owner":"zapier","description":"ProxySQL Docker images","archived":false,"fork":false,"pushed_at":"2021-07-28T10:36:33.000Z","size":38,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-28T00:04:55.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zapier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2019-02-13T04:50:30.000Z","updated_at":"2024-11-19T07:14:36.000Z","dependencies_parsed_at":"2022-08-19T06:22:18.360Z","dependency_job_id":null,"html_url":"https://github.com/zapier/docker-proxysql","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fdocker-proxysql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fdocker-proxysql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fdocker-proxysql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fdocker-proxysql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zapier","download_url":"https://codeload.github.com/zapier/docker-proxysql/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248868858,"owners_count":21174754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-27T21:25:35.379Z","updated_at":"2025-04-14T10:51:31.306Z","avatar_url":"https://github.com/zapier.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ProxySQL Docker Image\n\nThe [ProxySQL](https://proxysql.com) Docker image with support for:\n- **Live configuration update**\n- Rendering secret data from environment variables to config template\n\nhttps://hub.docker.com/r/zapier/proxysql\n\n## Usage\n\n### Sample configuration template: proxysql.cnf.tpl\n\n```\ndatadir=\"/var/lib/proxysql\"\n\nadmin_variables=\n{\n        admin_credentials=\"${PROXYSQL_ADMIN_USERNAME}:${PROXYSQL_ADMIN_PASSWORD}\"\n        mysql_ifaces=\"${PROXYSQL_ADMIN_HOST}:${PROXYSQL_ADMIN_PORT}\"\n        refresh_interval=2000\n}\n\nmysql_variables=\n{\n        threads=${PROXYSQL_MYSQL_THREADS}\n        max_connections=2048\n        default_query_delay=0\n        default_query_timeout=36000000\n        have_compress=true\n        poll_timeout=2000\n        interfaces=\"${PROXYSQL_MYSQL_INTERFACES}\"\n        default_schema=\"information_schema\"\n        stacksize=${PROXYSQL_MYSQL_STACKSIZE}\n        server_version=\"5.7\"\n        connect_timeout_server=10000\n        monitor_history=60000\n        monitor_connect_interval=200000\n        monitor_ping_interval=200000\n        ping_interval_server_msec=10000\n        ping_timeout_server=200\n        commands_stats=true\n        sessions_sort=true\n        autocommit_false_is_transaction=true\n        init_connect=\"SET SESSION TX_ISOLATION='READ-COMMITTED'\"\n        monitor_username=\"${proxysql_monitor_username}\"\n        monitor_password=\"${proxysql_monitor_password}\"\n        enforce_autocommit_on_reads=true\n        free_connections_pct=100\n}\n\nmysql_servers =\n(\n        { address=\"${db1_host}\" , port=${db1_port} , hostgroup=10, max_connections=10 },\n        { address=\"${db2_host}\" , port=${db2_port} , hostgroup=20, max_connections=10 }\n)\n\nmysql_users =\n(\n        { username = \"${db1_username}\" , password = \"${db1_password}\" , default_hostgroup = 10 , active = 1 },\n        { username = \"${db2_username}\" , password = \"${db2_password}\" , default_hostgroup = 20 , active = 1 }\n)\n\nmysql_query_rules =\n(\n        {\n                rule_id=100\n                active=1\n                proxy_port=6033\n                destination_hostgroup=10\n                apply=1\n                username=\"${db1_username}\"\n        },\n        {\n                rule_id=200\n                active=1\n                proxy_port=6033\n                destination_hostgroup=20\n                apply=1\n                username=\"${db2_username}\"\n        }\n)\n```\n\n### Sample secrets.env\n\nThese secrets can be loaded into environment variables from local file, Docker secrets, Kubernetes secrets, etc. These secrets get rendered in the ProxySQL configuration template above\n\n```\ndb1_host=db1.example.com\ndb1_port=3306\ndb1_username=db1\ndb1_password=password\ndb2_host=db2.example.com\ndb2_port=3306\ndb2_username=db2\ndb2_password=password\nproxysql_monitor_username=root\nproxysql_monitor_password=root\n```\n\n### Running\n\n```\ndocker run -ti --name proxysql \\\n-v secrets.env:/proxysql/secrets/secrets.env \\\n-v ./proxysql.cnf.tpl:/proxysql/conf/proxysql.cnf.tpl \\\n-e PROXYSQL_CONF_CHECK_INTERVAL=15 \\\n-e PROXYSQL_CONF_LIVE_RELOAD=true \\\n-e PROXYSQL_ADMIN_PASSWORD=somepassword \\\n-e PROXYSQL_MYSQL_THREADS=6 \\\n-p 16032:6032 \\\n-p 16033:6033 \\\nzapier/proxysql:latest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapier%2Fdocker-proxysql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzapier%2Fdocker-proxysql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapier%2Fdocker-proxysql/lists"}