https://github.com/xfathurrahman/tailguard
AdguardHome with tailscale private network deploy to fly.io and backup to s3 compatible storage
https://github.com/xfathurrahman/tailguard
adguard adguardhome docker fly-io flyio homelab-setup restic tailscale
Last synced: about 1 month ago
JSON representation
AdguardHome with tailscale private network deploy to fly.io and backup to s3 compatible storage
- Host: GitHub
- URL: https://github.com/xfathurrahman/tailguard
- Owner: xfathurrahman
- Created: 2024-07-24T17:06:56.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-03-30T00:29:34.000Z (about 2 months ago)
- Last Synced: 2025-04-09T17:12:48.503Z (about 1 month ago)
- Topics: adguard, adguardhome, docker, fly-io, flyio, homelab-setup, restic, tailscale
- Language: Shell
- Homepage:
- Size: 14.6 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Flyio - AdguardHome - Tailscale
#### Add-on Features
- [x] Auto Backup AdguardHome Configuration to s3 compatible storage (Restic)
- [x] Get Mail Notification when Backup is failed
- [x] Connect from anywhere using Tailscale private network#### Installation
1. Launch the app
```bash
fly launch --no-deploy
```- I recommended to use 2GB of memory for this app
2. Fill the env variables with your own values
- copy the `.env.example` to `.env` and fill the values
your final `.env` file should look like this:
```bash
TAILSCALE_HOSTNAME=tailguard
TAILSCALE_DNS=mother-father.ts.net
TAILSCALE_AUTHKEY=tskey-auth-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SMTP_HOST=smtp.resend.com
SMTP_PORT=587
SMTP_USERNAME=resend
[email protected]
[email protected]
SMTP_PASSWORD=xxxxxxxxxxxx / apikey
RESTIC_REPOSITORY=s3://xxxxxxxxxxxxxxxxxxxxx.r2/s3/bz.cloudflarestorage.com/backup/adguard
RESTIC_PASSWORD=xxxxxxxxxxxxxxxx
AWS_ACCESS_KEY_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx```
- for mail i'm using [Resend.com](https://resend.com) you can use your own smtp server
- for s3 compatible storage i'm using [Cloudflare R2](https://www.cloudflare.com/r2/) you can use your own s3 compatible storage
- for tailscale you can get the authkey from [Tailscale](https://login.tailscale.com/admin/authkeys)3. Set the env variables to the fly.io secrets
```bash
cat .env | fly secrets import
```4. Deploy the app
```bash
fly deploy
```