{"id":13340648,"url":"https://gitlab.com/gruberx/tailscale-docker","last_synced_at":"2025-03-11T18:31:37.371Z","repository":{"id":60465816,"uuid":"23759364","full_name":"gruberx/tailscale-docker","owner":"gruberx","description":"Zero config VPN. Installs on any device in minutes, manages firewall rules for you, and works from anywhere.","archived":true,"fork":false,"pushed_at":null,"size":null,"stargazers_count":4,"open_issues_count":0,"forks_count":4,"subscribers_count":null,"default_branch":"master","last_synced_at":"2024-10-24T06:28:53.366Z","etag":null,"topics":["docker","reverse-proxy","tailscale","vpn"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://gitlab.com/uploads/-/system/project/avatar/23759364/images__2_.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":null,"support":null}},"created_at":"2021-01-19T01:23:12.622Z","updated_at":"2021-02-22T17:35:08.949Z","dependencies_parsed_at":"2022-09-30T01:00:26.082Z","dependency_job_id":null,"html_url":"https://gitlab.com/gruberx/tailscale-docker","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/gruberx%2Ftailscale-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/gruberx%2Ftailscale-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/gruberx%2Ftailscale-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/gruberx%2Ftailscale-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners/gruberx","download_url":"https://gitlab.com/gruberx/tailscale-docker/-/archive/master/tailscale-docker-master.zip","host":{"name":"gitlab.com","url":"https://gitlab.com","kind":"gitlab","repositories_count":4518024,"owners_count":6814,"icon_url":"https://github.com/gitlab.png","version":null,"created_at":"2022-05-30T11:31:42.605Z","updated_at":"2024-07-18T11:24:13.055Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners"}},"keywords":["docker","reverse-proxy","tailscale","vpn"],"created_at":"2024-07-29T19:23:54.470Z","updated_at":"2025-03-11T18:31:36.900Z","avatar_url":"https://gitlab.com/uploads/-/system/project/avatar/23759364/images__2_.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"![tailscale logo](https://i.imgur.com/Aq7XdAB.png)\n\n# Tailscale Docker-based Relay\n\n### Overview \n\n[[_TOC_]]\n\n## Quickstart\n\n-----------------------------------\n\n```sh\n# amd64 architecture\ndocker pull registry.gitlab.com/gruberx/tailscale-docker:latest\n# renaming the image\ndocker tag registry.gitlab.com/gruberx/tailscale-docker:latest tailscale:latest\n# running a very basic setup, most features won't work but you can test your connection \ndocker run tailscale:latest --cap-add=NET_ADMIN \n# or docker run tailscale:{VERSION} --capp-add=NET_ADMIN\n```\n\n# In-depth deployment\n\n------------------------------------------------\n\nThis is a docker image based on `alpine:3.12` for setting up a [tailscale](https://tailscale.com) instance in relay mode.\n\n## Prerequisites\n\n- Defined docker network via `docker network create -d bridge \u003cnetwork name\u003e`\n- Subnet network via `docker inspect \u003cNETWORK ID\u003e | grep Subnet`\n- Auth key from https://login.tailscale.com/admin/authkeys (e.g. `tskey-123abc...`)\n\n### Optional\n\n- docker-commpose for persistent setup\n\n## Requirements\n\n- `--cap-add=NET_ADMIN` [Reference .1](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)\n- `--sysctl net.ipv4.ip_forward=1` [Reference .3](http://docs.docker.oeynet.com/engine/userguide/networking/default_network/container-communication/#communicating-to-the-outside-world)\n- Volume for persistent storage `/tailscale_data`\n\n## Run using Docker as a Container\n\nRun the following `docker run` command.\n\n- `AUTHKEY=tskey-123abc...`\n- `ROUTES=172.31.0.0/16`\n\n```bash\ncd tailscale \\\n    \u0026\u0026 docker run -d \\\n       -v /tailscale_data \\\n       --cap-add=NET_ADMIN \\\n       --network=\u003cdocker_net\u003e \\\n       # Or you can also use --network host and use your actual subnet local ipv4 addresses \\\n       -e \"ROUTES=\u003cdocker_network\u003e\" \\ \n       -e \"AUTHKEY=\u003cyour_auth_key\u003e\" \\ \n       registry.gitlab.com/gruberx/tailscale-docker:latest\n```\n\n## Running on Docker-compose for persistence \n\n```bash\nversion: \"3.8\"\nservices:\n  tailscaled:\n    container_name: tailscaled\n    cap_add:\n      - NET_ADMIN\n    networks:\n      - \u003cyour_networks\u003e\n    env_file:\n      - .env.example\n    build:\n      context: ./tailscale\n    volumes:\n      - tailscale_data:/var/lib/tailscale\n    sysctls:\n      - net.ipv4.conf.all.src_valid_mark=1\n    restart: unless-stopped\nvolumes:\n  tailscale_data:\n```\n\nFind this image on [Gitlab container registry](https://gitlab.com/gruberx/tailscale-docker/container_registry/1639474)\nIt is available on the following architectures:\n- [x86/amd64](registry.gitlab.com/gruberx/tailscale-docker:latest)\n- [arm/arm64](registry.gitlab.com/gruberx/tailscale-docker:raspb-pi)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/gitlab.com%2Fgruberx%2Ftailscale-docker","html_url":"https://awesome.ecosyste.ms/projects/gitlab.com%2Fgruberx%2Ftailscale-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/gitlab.com%2Fgruberx%2Ftailscale-docker/lists"}