Standartized docker-compose files. Added some documentation (AI generated)
This commit is contained in:
31
Docker/ddns-cloudflare/README.md
Normal file
31
Docker/ddns-cloudflare/README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Cloudflare DDNS
|
||||
|
||||
This directory contains a Docker Compose setup for a Cloudflare DDNS client.
|
||||
|
||||
This service will automatically update your Cloudflare DNS records with your public IP address.
|
||||
|
||||
## Docker Compose Setup
|
||||
|
||||
### Services
|
||||
|
||||
- **cloudflare-ddns**: The Cloudflare DDNS client.
|
||||
|
||||
### Environment Variables
|
||||
|
||||
- `CLOUDFLARE_API_TOKEN`: Your Cloudflare API token.
|
||||
- `DOMAINS`: A comma-separated list of domains to update.
|
||||
- `PROXIED`: Whether or not to proxy the domains through Cloudflare.
|
||||
|
||||
## Usage
|
||||
|
||||
1. Create a `.env` file with the following variables:
|
||||
|
||||
```
|
||||
# Cloudflare API key. User -> My Profile -> API tokens
|
||||
CLOUDFLARE_API_TOKEN=your_api_key
|
||||
|
||||
# Cloudflare zone, which will be used. Dashboard -> Web Sites
|
||||
DOMAINS=your_domains
|
||||
```
|
||||
|
||||
2. Run `docker-compose up -d` to start the container.
|
||||
@@ -1,37 +1,37 @@
|
||||
services:
|
||||
cloudflare-ddns:
|
||||
image: favonia/cloudflare-ddns:latest
|
||||
container_name: cloudflare-ddns
|
||||
env_file: .env
|
||||
# Choose the appropriate tag based on your need:
|
||||
# - "latest" for the latest stable version (which could become 2.x.y
|
||||
# in the future and break things)
|
||||
# - "1" for the latest stable version whose major version is 1
|
||||
# - "1.x.y" to pin the specific version 1.x.y
|
||||
network_mode: host
|
||||
# This bypasses network isolation and makes IPv6 easier (optional; see below)
|
||||
restart: always
|
||||
# Restart the updater after reboot
|
||||
user: "1000:1000"
|
||||
# Run the updater with specific user and group IDs (in that order).
|
||||
# You can change the two numbers based on your need.
|
||||
read_only: true
|
||||
# Make the container filesystem read-only (optional but recommended)
|
||||
cap_drop: [all]
|
||||
# Drop all Linux capabilities (optional but recommended)
|
||||
security_opt: [no-new-privileges:true]
|
||||
# Another protection to restrict superuser privileges (optional but recommended)
|
||||
environment:
|
||||
- CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}
|
||||
# Your Cloudflare API token
|
||||
- DOMAINS=${DOMAINS}
|
||||
# Your domains (separated by commas)
|
||||
- PROXIED=true
|
||||
# Tell Cloudflare to cache webpages and hide your IP (optional)
|
||||
#networks:
|
||||
# LAN0:
|
||||
# external: true
|
||||
# name: LAN0
|
||||
# Introduce custom Docker networks to the 'services' in this file. A common use case
|
||||
# for this is binding one of the 'services' to a specific network interface available at
|
||||
services:
|
||||
cloudflare-ddns:
|
||||
image: favonia/cloudflare-ddns:latest
|
||||
container_name: cloudflare-ddns
|
||||
env_file: .env
|
||||
# Choose the appropriate tag based on your need:
|
||||
# - "latest" for the latest stable version (which could become 2.x.y
|
||||
# in the future and break things)
|
||||
# - "1" for the latest stable version whose major version is 1
|
||||
# - "1.x.y" to pin the specific version 1.x.y
|
||||
network_mode: host
|
||||
# This bypasses network isolation and makes IPv6 easier (optional; see below)
|
||||
restart: always
|
||||
# Restart the updater after reboot
|
||||
user: "1000:1000"
|
||||
# Run the updater with specific user and group IDs (in that order).
|
||||
# You can change the two numbers based on your need.
|
||||
read_only: true
|
||||
# Make the container filesystem read-only (optional but recommended)
|
||||
cap_drop: [all]
|
||||
# Drop all Linux capabilities (optional but recommended)
|
||||
security_opt: [no-new-privileges:true]
|
||||
# Another protection to restrict superuser privileges (optional but recommended)
|
||||
environment:
|
||||
- CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}
|
||||
# Your Cloudflare API token
|
||||
- DOMAINS=${DOMAINS}
|
||||
# Your domains (separated by commas)
|
||||
- PROXIED=true
|
||||
# Tell Cloudflare to cache webpages and hide your IP (optional)
|
||||
#networks:
|
||||
# LAN0:
|
||||
# external: true
|
||||
# name: LAN0
|
||||
# Introduce custom Docker networks to the 'services' in this file. A common use case
|
||||
# for this is binding one of the 'services' to a specific network interface available at
|
||||
# Docker's host. This section is required for the 'networks' section of each 'services'.
|
||||
Reference in New Issue
Block a user