{"id":21064430,"url":"https://github.com/scottgigawatt/privateerr","last_synced_at":"2025-10-16T12:20:17.262Z","repository":{"id":242441755,"uuid":"809463967","full_name":"scottgigawatt/privateerr","owner":"scottgigawatt","description":"Docker Compose for PIA + WireGuard ⚓","archived":false,"fork":false,"pushed_at":"2024-08-11T02:10:32.000Z","size":49,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-19T17:58:56.374Z","etag":null,"topics":["docker","docker-compose","gluetun","private-internet-access","vpn","wireguard"],"latest_commit_sha":null,"homepage":"https://github.com/pia-foss/manual-connections","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scottgigawatt.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-02T18:59:35.000Z","updated_at":"2024-10-24T14:22:13.000Z","dependencies_parsed_at":"2024-06-09T17:43:01.317Z","dependency_job_id":"37456206-3eba-4301-ba6a-720c7a1d6b67","html_url":"https://github.com/scottgigawatt/privateerr","commit_stats":null,"previous_names":["scottgigawatt/privataarr","scottgigawatt/privateerr"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgigawatt%2Fprivateerr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgigawatt%2Fprivateerr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgigawatt%2Fprivateerr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgigawatt%2Fprivateerr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scottgigawatt","download_url":"https://codeload.github.com/scottgigawatt/privateerr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234856239,"owners_count":18897402,"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":["docker","docker-compose","gluetun","private-internet-access","vpn","wireguard"],"created_at":"2024-11-19T17:49:30.670Z","updated_at":"2025-10-16T12:20:12.233Z","avatar_url":"https://github.com/scottgigawatt.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003chr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003e🦜 Parrot says: Smash that ⭐️ or walk the plank, ye landlubber!\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Dockerized-Brig-blue?logo=docker\" alt=\"Dockerized Brig\" /\u003e\n  \u003cimg src=\"https://github.com/scottgigawatt/privateerr/actions/workflows/build-and-push.yml/badge.svg\" alt=\"🏴‍☠️ Build: Shipshape\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Cloaked-by%20PIA%20%26%20WireGuard-green?logo=protonvpn\" alt=\"Cloaked\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/scottgigawatt/privateerr?label=Code%20o'%20Conduct\u0026color=blue\" alt=\"Code o' Conduct\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/scottgigawatt/privateerr?label=Last%20Raid\u0026logo=git\" alt=\"Last Raid\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/repo-size/scottgigawatt/privateerr?label=Hold%20Capacity\" alt=\"Hold Capacity\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Battle--Tested-Synology%20%7C%20macOS-blue\" alt=\"Battle-Tested\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Rum%20Rations-Plentiful-orange\" alt=\"Rum Rations\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e─── ⛧ ───\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cem\u003e💀 Need help or wanna trade cursed tech tips over lava? Step forward… \u003cstrong\u003eEnter 🔥HADES🔥\u003c/strong\u003e.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://discord.gg/BpEGzWwGYf\"\u003e\n    \u003cimg src=\"https://img.shields.io/discord/1403601106315116626?label=%F0%9F%94%A5HADES%F0%9F%94%A5\u0026logo=discord\u0026logoColor=white\u0026color=5865F2\" alt=\"🔥HADES🔥 Discord\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003chr /\u003e\n\n# ⚓️ Privateerr ☠️🏴‍☠️\n\nAhoy there! Welcome to Privateerr, where we sail the digital seas with Private Internet Access and WireGuard!\n\n## 🦜 Captain's Log ⚓️\n\nPrivateerr be a tool fer generatin' a native WireGuard config file fer Private Internet Access (PIA). She takes the official PIA manual connection scripts, bundles 'em into a Docker image, and adds all the tools needed to craft a proper WireGuard chart to guide yer VPN voyage.\n\n\u003e [!NOTE]\n\u003e ☠️ Privateerr don't set sail on the VPN seas herself—she just scribbles the map. The config file she leaves behind can be handed off to a proper first mate like [Gluetun](https://github.com/qdm12/gluetun) to hoist the sails and make the actual connection.\n\nThe main configuration lives in the [docker-compose.yml](./docker-compose.yml) manifest. This handles buildin' the image from an Ubuntu Focal base, usin' the [Dockerfile](./docker/Dockerfile) found in the `docker` directory. Customize yer voyage by copyin' [example.env](./example.env) to `.env` and adjustin' the knobs to yer likin'.\n\nA copy of the [Manual PIA VPN Connections](https://github.com/pia-foss/manual-connections) repo be included as a submodule in `docker/pia`, so it's baked into the build. When she's done, ye'll find yer precious WireGuard config at [`config/wg0.conf`](config/wg0.conf), ready to be hoisted aboard a client like [Gluetun](https://github.com/qdm12/gluetun).\n\n\u003e [!TIP]\n\u003e ⚓ If ye be wonderin' how to use Privateerr alongside a proper VPN client like Gluetun, take a gander at the [Plundarr README](https://github.com/scottgigawatt/plundarr#readme) and the [docker-compose file](https://github.com/scottgigawatt/plundarr/blob/main/docker-compose.yml#L82-L171). There ye'll find a battle-tested setup where Privateerr scrawls the WireGuard map, and Gluetun sets sail with it.\n\u003e\n\u003e 🧭 This setup be mighty handy, as PIA server latency can shift like the tides. With this rig, ye can simply restart the stack and let Privateerr chart a new course to the lowest-latency port before Gluetun embarks. Smooth sailin' guaranteed!\n\nChart yer course with Privateerr and roam the open seas with stealth and style! 🏴‍☠️\n\n## 🗺️ Chartin' Yer Course 🔧\n\nTo set sail and embark on yer VPN journey, follow these steps:\n\n\u003e [!IMPORTANT]\n\u003e 🦜 Adjust yer `.env` like a savvy navigator before hoisting anchor.\n\n```bash\n# Hoist the Jolly Roger and clone the repository with submodules\ngit clone --recurse-submodules git@github.com:scottgigawatt/privateerr.git\ncd privateerr\n\n# Copy the example environment file\ncp example.env .env\n\n# Open .env file and adjust the values to yer requirements\n\n# Weigh anchor and start the container\nmake\n\n# Spy yer WireGuard treasure map at config/wg0.conf\n```\n\nThe treasure map to yer WireGuard configuration file will be buried in the [`config`](./config/) directory. This directory contains a default configuration file, [`wg0.conf`](./config/wg0.conf).\n\nWhen ye run Privateerr, this file will be updated with the PIA WireGuard configuration. Ye can then use this configuration file to configure a VPN client like [Gluetun](https://github.com/qdm12/gluetun) for secure connections.\n\n\u003e [!WARNING]\n\u003e ⚓️ Yer precious `wg0.conf` be the map to yer VPN treasure—keep it safe or risk scurvy.\n\n## ☠️ Navigatin' Troubled Waters 🌊\n\nThe included `Makefile` be yer trusty map to help ye navigate these treacherous waters. Use these commands to steer yer ship with ease and gain a clearer view of the environment and configuration details. Set sail with confidence, ye scurvy dogs! 🏴‍☠️\n\n```console\n❯ make help\nUsage: make [TARGET]\n\nTargets:\n  all             - Builds and starts the service stack.\n  build-depends   - Ensures build dependencies are installed.\n  down            - Stops and removes containers, networks, volumes, and images.\n  clean           - Alias for down.\n  build           - Builds the service stack.\n  up              - Builds, (re)creates, and starts containers for services.\n  run             - Alias for up.\n  logs            - Shows logs for the service.\n  help            - Displays this help message.\n```\n\n## 🏝️ Know Yer Waters 🔍\n\n\u003e [!CAUTION]\n\u003e 🏴‍☠️⚠️ While tested on Synology an' macOS, other waters may be stormier than expected.\n\nPrivateerr has been tested on Synology DS1522+ and DS916+ running DSM 7.2 as well as macOS Sequoia. But fear not, me hearties! It should work on other lands as well.\n\n## ⚖️ Keep to the Code 📜\n\nThis project be licensed under the Apache 2 License—see the [LICENSE](LICENSE) scroll for details.\n\nThe PIA manual connection scripts used in this repository be licensed under the [MIT license](https://choosealicense.com/licenses/mit/), 🪏❌ buried [here](https://github.com/pia-foss/manual-connections/blob/master/LICENSE).\n\n---\n\n```\n               ______\n            .-'      `-.\n           /            \\\n          |              |\n          |,  .-.  .-.  ,|\n          | )(_o/  \\o_)( |\n          |/     /\\     \\|\n          (_     ^^     _)\n           \\__|IIIIII|__/\n            | \\IIIIII/ |\n            \\          /\n             `--------`\n          ☠️ Privateerr ☠️\n  Adventure Awaits, Treasure Beckons!\n```\n\n🏝️ Cast yer pull requests ashore, or send a message in a bottle.\n\n_The sea calls, the code answers. Fair winds and full containers, matey! 🌊🏴‍☠️_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottgigawatt%2Fprivateerr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscottgigawatt%2Fprivateerr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottgigawatt%2Fprivateerr/lists"}