init
This commit is contained in:
26
services/adguard/docker-compose.yml
Normal file
26
services/adguard/docker-compose.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
services:
|
||||
adguard:
|
||||
image: adguard/adguardhome:latest
|
||||
container_name: adguard
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "53:53/tcp"
|
||||
- "53:53/udp"
|
||||
volumes:
|
||||
- adguard_work:/opt/adguardhome/work
|
||||
- adguard_conf:/opt/adguardhome/conf
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.adguard.rule=Host(`adguard.home.jens.pub`)"
|
||||
- "traefik.http.routers.adguard.entrypoints=websecure"
|
||||
- "traefik.http.services.adguard.loadbalancer.server.port=80"
|
||||
|
||||
volumes:
|
||||
adguard_work:
|
||||
adguard_conf:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
1
services/beszel/.env.example
Normal file
1
services/beszel/.env.example
Normal file
@@ -0,0 +1 @@
|
||||
BESZEL_KEY=
|
||||
37
services/beszel/docker-compose.yml
Normal file
37
services/beszel/docker-compose.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
services:
|
||||
beszel:
|
||||
image: henrygd/beszel:latest
|
||||
container_name: beszel
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- APP_URL=https://beszel.home.jens.pub
|
||||
volumes:
|
||||
- beszel_data:/beszel_data
|
||||
- beszel_socket:/beszel_socket
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.beszel.rule=Host(`beszel.home.jens.pub`)"
|
||||
- "traefik.http.routers.beszel.entrypoints=websecure"
|
||||
- "traefik.http.services.beszel.loadbalancer.server.port=8090"
|
||||
|
||||
beszel-agent:
|
||||
image: henrygd/beszel-agent:latest
|
||||
container_name: beszel-agent
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
environment:
|
||||
- LISTEN=/beszel_socket/beszel.sock
|
||||
- KEY=${BESZEL_KEY}
|
||||
volumes:
|
||||
- beszel_socket:/beszel_socket
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
|
||||
volumes:
|
||||
beszel_data:
|
||||
beszel_socket:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
22
services/dozzle/docker-compose.yml
Normal file
22
services/dozzle/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
services:
|
||||
dozzle:
|
||||
image: amir20/dozzle:latest
|
||||
container_name: dozzle
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- dozzle_data:/data
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.dozzle.rule=Host(`logs.home.jens.pub`)"
|
||||
- "traefik.http.routers.dozzle.entrypoints=websecure"
|
||||
- "traefik.http.services.dozzle.loadbalancer.server.port=8080"
|
||||
|
||||
volumes:
|
||||
dozzle_data:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
25
services/portainer/docker-compose.yml
Normal file
25
services/portainer/docker-compose.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
services:
|
||||
portainer:
|
||||
image: portainer/portainer-ee:lts
|
||||
container_name: portainer
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "9443:9443"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- portainer_data:/data
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.portainer.rule=Host(`portainer.home.jens.pub`)"
|
||||
- "traefik.http.routers.portainer.entrypoints=websecure"
|
||||
- "traefik.http.routers.portainer.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
||||
|
||||
volumes:
|
||||
portainer_data:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
49
services/traefik/docker-compose.yml
Normal file
49
services/traefik/docker-compose.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:v3.6
|
||||
container_name: traefik
|
||||
restart: unless-stopped
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
command:
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=false"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
|
||||
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--entrypoints.websecure.http.tls.certresolver=letsencrypt"
|
||||
- "--entrypoints.websecure.http.tls.domains[0].main=home.jens.pub"
|
||||
- "--entrypoints.websecure.http.tls.domains[0].sans=*.home.jens.pub"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.docker.endpoint=unix:///var/run/docker.sock"
|
||||
- "--certificatesresolvers.letsencrypt.acme.email=mail@jens.pub"
|
||||
- "--certificatesresolvers.letsencrypt.acme.storage=/acme.json"
|
||||
- "--certificatesresolvers.letsencrypt.acme.dnschallenge=true"
|
||||
- "--certificatesresolvers.letsencrypt.acme.dnschallenge.provider=namecheap"
|
||||
- "--certificatesresolvers.letsencrypt.acme.dnschallenge.resolvers=1.1.1.1:53,8.8.8.8:53"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
environment:
|
||||
- NAMECHEAP_API_USER=jsbeckr
|
||||
- NAMECHEAP_API_KEY=a2d922b7d4e245dc9f146ab6448c7dd2
|
||||
- NAMECHEAP_SOURCE_IP=79.219.109.215
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- traefik_acme:/acme
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.traefik.rule=Host(`traefik.home.jens.pub`)"
|
||||
- "traefik.http.routers.traefik.entrypoints=websecure"
|
||||
- "traefik.http.routers.traefik.service=api@internal"
|
||||
|
||||
volumes:
|
||||
traefik_acme:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
2
services/vaultwarden/.env.example
Normal file
2
services/vaultwarden/.env.example
Normal file
@@ -0,0 +1,2 @@
|
||||
ADMIN_TOKEN=
|
||||
SMTP_PASSWORD=
|
||||
29
services/vaultwarden/docker-compose.yml
Normal file
29
services/vaultwarden/docker-compose.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
services:
|
||||
vaultwarden:
|
||||
image: vaultwarden/server:latest
|
||||
container_name: vaultwarden
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- ADMIN_TOKEN=${ADMIN_TOKEN}
|
||||
- SMTP_HOST=smtp.mailbox.org
|
||||
- SMTP_PORT=587
|
||||
- SMTP_SECURITY=starttls
|
||||
- SMTP_FROM=mail@jens.pub
|
||||
- SMTP_USERNAME=mail@jens.pub
|
||||
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
||||
volumes:
|
||||
- vaultwarden_data:/data
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.vaultwarden.rule=Host(`vault.home.jens.pub`)"
|
||||
- "traefik.http.routers.vaultwarden.entrypoints=websecure"
|
||||
- "traefik.http.services.vaultwarden.loadbalancer.server.port=80"
|
||||
|
||||
volumes:
|
||||
vaultwarden_data:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
1
services/watchtower/.env.example
Normal file
1
services/watchtower/.env.example
Normal file
@@ -0,0 +1 @@
|
||||
SMTP_PASSWORD=
|
||||
23
services/watchtower/docker-compose.yml
Normal file
23
services/watchtower/docker-compose.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
services:
|
||||
watchtower:
|
||||
image: nickfedor/watchtower:latest
|
||||
container_name: watchtower
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- WATCHTOWER_SCHEDULE=0 0 3 * * *
|
||||
- WATCHTOWER_CLEANUP=true
|
||||
- WATCHTOWER_NOTIFICATIONS=email
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=mail@jens.pub
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_TO=mail@jens.pub
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.mailbox.org
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=mail@jens.pub
|
||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=${SMTP_PASSWORD}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
Reference in New Issue
Block a user