Archive Legacy Setup And Add Ansible Control Plane
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
services:
|
||||
adguard:
|
||||
image: adguard/adguardhome:latest
|
||||
container_name: adguard
|
||||
#network_mode: "host" # DHCP server - optional, only if AdGuard handles DHCP
|
||||
restart: always
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 256M
|
||||
reservations:
|
||||
memory: 64M
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- /opt/adguardhome/AdGuardHome --check-config -w /opt/adguardhome/work
|
||||
-c /opt/adguardhome/conf/AdGuardHome.yaml
|
||||
interval: 45s
|
||||
timeout: 30s
|
||||
retries: 3
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Moscow
|
||||
volumes:
|
||||
- /opt/data/adguard/work:/opt/adguardhome/work:rw
|
||||
- /opt/configs/adguard:/opt/adguardhome/conf:rw
|
||||
- /etc/hosts:/etc/hosts:ro
|
||||
ports:
|
||||
- 53:53/tcp # DNS - **mandatory**
|
||||
- 53:53/udp # DNS - **mandatory**
|
||||
#- "67:67/udp" # DHCP server - optional, only if AdGuard handles DHCP
|
||||
#- "68:68/udp" # DHCP server - optional
|
||||
- 8088:80/tcp # Dashboard HTTP - optional, only if not using HTTPS
|
||||
- 4438:443/tcp # DNS-over-HTTPS / dashboard HTTPS - optional but recommended if using DoH
|
||||
- 784:784/udp # DNS-over-QUIC (beta) - optional, experimental
|
||||
- 853:853/tcp # DNS-over-TLS - optional
|
||||
- 3015:3000/tcp # Dashboard initial config - optional, only for initial setup
|
||||
- 5443:5443/tcp # DNSCrypt / alternative DoH - optional
|
||||
- 5443:5443/udp # DNSCrypt depends on TCP - optional
|
||||
#- "6060:6060/tcp" # Internal API - optional, do not expose
|
||||
#- "8853:8853/udp" # DNS mTLS (beta) - optional, experimental
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_MODULE
|
||||
networks: {}
|
||||
@@ -0,0 +1,2 @@
|
||||
LEGO_EMAIL=you@example.com
|
||||
TIMEWEBCLOUD_AUTH_TOKEN=changeme
|
||||
@@ -0,0 +1,19 @@
|
||||
git.ada-dev.ru {
|
||||
tls /config/lego/certificates/ada-dev.ru.crt /config/lego/certificates/ada-dev.ru.key
|
||||
reverse_proxy 192.168.1.5:3002
|
||||
}
|
||||
|
||||
cloud.ada-dev.ru {
|
||||
tls /config/lego/certificates/ada-dev.ru.crt /config/lego/certificates/ada-dev.ru.key
|
||||
reverse_proxy 192.168.1.5:8081
|
||||
}
|
||||
|
||||
router.ada-dev.ru {
|
||||
tls /config/lego/certificates/ada-dev.ru.crt /config/lego/certificates/ada-dev.ru.key
|
||||
reverse_proxy 192.168.1.1:80
|
||||
}
|
||||
|
||||
dns.ada-dev.ru {
|
||||
tls /config/lego/certificates/ada-dev.ru.crt /config/lego/certificates/ada-dev.ru.key
|
||||
reverse_proxy 192.168.1.10:8088
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
services:
|
||||
caddy:
|
||||
image: caddy:2-alpine
|
||||
container_name: caddy
|
||||
restart: unless-stopped
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
- 8.8.8.8
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- /opt/data/caddy:/data
|
||||
- /opt/configs/caddy:/config
|
||||
entrypoint: /bin/sh
|
||||
command:
|
||||
- -c
|
||||
- |
|
||||
while [ ! -f /config/lego/certificates/ada-dev.ru.crt ] || [ ! -f /config/lego/certificates/ada-dev.ru.key ]; do
|
||||
sleep 10
|
||||
done
|
||||
exec caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
|
||||
|
||||
lego:
|
||||
image: git.ada-dev.ru/ada/lego:latest
|
||||
container_name: caddy-lego
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
- 8.8.8.8
|
||||
env_file:
|
||||
- .env
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /opt/configs/caddy/lego:/lego-data
|
||||
entrypoint: /bin/sh
|
||||
command:
|
||||
- -c
|
||||
- |
|
||||
while true; do
|
||||
if [ -f /lego-data/certificates/ada-dev.ru.crt ]; then
|
||||
/lego renew \
|
||||
--email "$$LEGO_EMAIL" \
|
||||
--dns timewebcloud \
|
||||
--dns.resolvers 1.1.1.1:53 \
|
||||
--dns.resolvers 8.8.8.8:53 \
|
||||
--dns.propagation-timeout 5m \
|
||||
--domains ada-dev.ru \
|
||||
--domains '*.ada-dev.ru' \
|
||||
--path /lego-data \
|
||||
--days 30
|
||||
sleep 24h
|
||||
else
|
||||
/lego run \
|
||||
--email "$$LEGO_EMAIL" \
|
||||
--accept-tos \
|
||||
--dns timewebcloud \
|
||||
--dns.resolvers 1.1.1.1:53 \
|
||||
--dns.resolvers 8.8.8.8:53 \
|
||||
--dns.propagation-timeout 5m \
|
||||
--domains ada-dev.ru \
|
||||
--domains '*.ada-dev.ru' \
|
||||
--path /lego-data
|
||||
sleep 10m
|
||||
fi
|
||||
done
|
||||
networks: {}
|
||||
@@ -0,0 +1,4 @@
|
||||
FROM gitea/act_runner:latest
|
||||
|
||||
USER root
|
||||
RUN apk add --no-cache docker-cli docker-cli-compose openssh-client
|
||||
@@ -0,0 +1,16 @@
|
||||
services:
|
||||
gitea-runner:
|
||||
build: .
|
||||
restart: always
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /opt/services:/opt/services
|
||||
- /opt/data/gitea-runner:/data
|
||||
environment:
|
||||
GITEA_INSTANCE_URL: https://git.ada-dev.ru
|
||||
GITEA_RUNNER_REGISTRATION_TOKEN: ${TOKEN}
|
||||
GITEA_RUNNER_NAME: mini-pc-runner
|
||||
GITEA_RUNNER_LABELS: mini-pc
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
- 8.8.8.8
|
||||
@@ -0,0 +1,13 @@
|
||||
services:
|
||||
memoir-bot:
|
||||
image: git.ada-dev.ru/ada/memoir_bot:0.1
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
OBSIDIAN_VAULT_PATH: /vault
|
||||
TZ: ${TIMEZONE:-Europe/Moscow}
|
||||
volumes:
|
||||
- /opt/data/memoir_bot:/vault
|
||||
- /home/ada/.ssh:/root/.ssh:ro
|
||||
network_mode: host
|
||||
@@ -0,0 +1,38 @@
|
||||
version = "1"
|
||||
|
||||
[global]
|
||||
scheduler = "systemd"
|
||||
|
||||
[default]
|
||||
password-file = "/etc/restic/password"
|
||||
initialize = true
|
||||
|
||||
[default.forget]
|
||||
keep-daily = 7
|
||||
keep-weekly = 4
|
||||
keep-monthly = 6
|
||||
schedule-permission = "system"
|
||||
schedule-after-backup = true
|
||||
prune = true
|
||||
|
||||
[default.check]
|
||||
schedule = "Sun 04:00"
|
||||
schedule-permission = "system"
|
||||
schedule-after-network-online = true
|
||||
|
||||
[services]
|
||||
inherit = "default"
|
||||
repository = "rclone:yadisk:System/Backups/mini-pc/restic/services"
|
||||
|
||||
[services.backup]
|
||||
source = ["/opt/data", "/opt/configs"]
|
||||
tag = ["mini-pc", "services"]
|
||||
exclude-caches = true
|
||||
one-file-system = true
|
||||
schedule = "03:00"
|
||||
schedule-permission = "system"
|
||||
schedule-after-network-online = true
|
||||
schedule-log = "/var/log/resticprofile/services.log"
|
||||
|
||||
[services.forget]
|
||||
schedule = "03:30"
|
||||
@@ -0,0 +1,13 @@
|
||||
services:
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma:2
|
||||
container_name: uptime-kuma
|
||||
hostname: uptime-kuma
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3001:3001"
|
||||
environment:
|
||||
TZ: Europe/Moscow
|
||||
volumes:
|
||||
- /opt/data/uptime-kuma:/app/data
|
||||
networks: {}
|
||||
@@ -0,0 +1,14 @@
|
||||
services:
|
||||
v2raya:
|
||||
image: mzz2017/v2raya:latest
|
||||
container_name: v2raya
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
privileged: true
|
||||
volumes:
|
||||
- /opt/data/v2raya:/etc/v2raya
|
||||
- /opt/data/v2raya-extra:/etc/v2raya-extra
|
||||
environment:
|
||||
- V2RAYA_LOG_FILE=/tmp/v2raya.log
|
||||
- V2RAYA_V2RAY_BIN_PATH=/usr/local/bin/v2ray
|
||||
- V2RAYA_V2RAY_CONFDIR=/etc/v2raya-extra
|
||||
@@ -0,0 +1,8 @@
|
||||
ADMIN_TOKEN=changeme
|
||||
SMTP_HOST=smtp.yandex.ru
|
||||
SMTP_PORT=465
|
||||
SMTP_SECURITY=force_tls
|
||||
SMTP_USERNAME=info.ada-dev@yandex.ru
|
||||
SMTP_PASSWORD=changeme
|
||||
SMTP_FROM=info.ada-dev@yandex.ru
|
||||
SMTP_FROM_NAME=Vaultwarden
|
||||
@@ -0,0 +1,17 @@
|
||||
services:
|
||||
vaultwarden:
|
||||
hostname: vaultwarden
|
||||
image: vaultwarden/server:latest
|
||||
ports:
|
||||
- target: 80
|
||||
published: "10380"
|
||||
protocol: tcp
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /opt/data/vaultwarden
|
||||
target: /data
|
||||
networks:
|
||||
default:
|
||||
name: vaultwarden_default
|
||||
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
zerotier:
|
||||
container_name: zerotier
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun
|
||||
volumes:
|
||||
- /opt/data/zerotier:/var/lib/zerotier-one
|
||||
image: zerotier/zerotier:latest
|
||||
command: ["743993800fa5a34c"]
|
||||
networks: {}
|
||||
Reference in New Issue
Block a user