ESH-VM-DOCKER Full Docker Set
This commit is contained in:
54
compose/adguard/docker-compose.yml
Normal file
54
compose/adguard/docker-compose.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
#version: "3"
|
||||
services:
|
||||
adguardhome:
|
||||
image: adguard/adguardhome
|
||||
container_name: adguardhome
|
||||
ports:
|
||||
- 53:53/tcp
|
||||
- 53:53/udp
|
||||
- 784:784/udp
|
||||
- 853:853/tcp
|
||||
- 3000:3000/tcp
|
||||
- 8080:80/tcp
|
||||
- 8443:443/tcp
|
||||
volumes:
|
||||
- adguard-workdir:/opt/adguardhome/work
|
||||
- adguard-confdir:/opt/adguardhome/conf
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
# This means the container will be stopped during backup to ensure
|
||||
# backup integrity. You can omit this label if stopping during backup
|
||||
# not required. Can be omitted if false.
|
||||
- docker-volume-backup.stop-during-backup=false
|
||||
- homepage.group=ESH
|
||||
- homepage.name=AdGuard Home
|
||||
- homepage.icon=si-adguard
|
||||
- homepage.description=DNS
|
||||
- homepage.href=http://10.0.50.45:8080
|
||||
- homepage.widget.type=adguard
|
||||
- homepage.widget.url=http://10.0.50.45:8080
|
||||
- homepage.widget.username=lkraven
|
||||
- homepage.widget.password=P@@fml123
|
||||
networks:
|
||||
- tnet
|
||||
backup:
|
||||
image: offen/docker-volume-backup:latest
|
||||
restart: always
|
||||
volumes:
|
||||
# volumes to backup.
|
||||
- adguard-workdir:/backup/adguard-workdir:ro
|
||||
- adguard-confdir:/backup/adguard-confdir:ro
|
||||
- /mnt/backup/docker/esh-vm-docker/adguard:/archive
|
||||
# can omit below if not stopping service.
|
||||
# - /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
env_file:
|
||||
- .env
|
||||
networks:
|
||||
- tnet
|
||||
volumes:
|
||||
adguard-workdir: null
|
||||
adguard-confdir: null
|
||||
networks:
|
||||
tnet:
|
||||
name: traefik-net
|
||||
external: true
|
||||
32
compose/calibre/compose.yaml
Normal file
32
compose/calibre/compose.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
version: "2.1"
|
||||
services:
|
||||
calibre:
|
||||
image: lscr.io/linuxserver/calibre:latest
|
||||
container_name: calibre
|
||||
security_opt:
|
||||
- seccomp:unconfined #optional
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=America/Los_Angeles
|
||||
- PASSWORD= #optional
|
||||
- CLI_ARGS= #optional
|
||||
volumes:
|
||||
- /mnt/books/calibre:/config
|
||||
ports:
|
||||
- 8082:8080
|
||||
- 8181:8181
|
||||
- 8281:8081
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- homepage.group=Media
|
||||
- homepage.name=Calibre
|
||||
- homepage.icon=mdi-bookshelf
|
||||
- homepage.description=EBook Server (esh)
|
||||
- homepage.href=http://10.0.50.45:8082
|
||||
networks:
|
||||
- tnet
|
||||
networks:
|
||||
tnet:
|
||||
name: traefik-net
|
||||
external: true
|
||||
25
compose/ddns-route53/compose.yaml
Normal file
25
compose/ddns-route53/compose.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
version: "3.5"
|
||||
services:
|
||||
ddns-route53:
|
||||
image: crazymax/ddns-route53:latest
|
||||
container_name: ddns-route53
|
||||
environment:
|
||||
- TZ=America/Los_Angeles
|
||||
- SCHEDULE=*/30 * * * *
|
||||
- LOG_LEVEL=info
|
||||
- LOG_JSON=false
|
||||
- DDNSR53_CREDENTIALS_ACCESSKEYID=${R53_KEY}
|
||||
- DDNSR53_CREDENTIALS_SECRETACCESSKEY=${R53_SECRET}
|
||||
- DDNSR53_ROUTE53_HOSTEDZONEID=${R53_ZONEID}
|
||||
- DDNSR53_ROUTE53_RECORDSSET_0_NAME=${NAME}
|
||||
- DDNSR53_ROUTE53_RECORDSSET_0_TYPE=${TYPE}
|
||||
- DDNSR53_ROUTE53_RECORDSSET_0_TTL=${TTL}
|
||||
restart: always
|
||||
labels:
|
||||
- homepage.group=ESH
|
||||
- homepage.name=DDNS Updater
|
||||
- homepage.icon=mdi-dns
|
||||
- homepage.description=esteban.phasefinal.com
|
||||
env_file:
|
||||
- .env
|
||||
networks: {}
|
||||
25
compose/homepage/compose.yaml
Normal file
25
compose/homepage/compose.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
version: "3.3"
|
||||
services:
|
||||
homepage:
|
||||
image: ghcr.io/gethomepage/homepage:latest
|
||||
container_name: homepage
|
||||
environment:
|
||||
PUID: 0
|
||||
PGID: 0
|
||||
ports:
|
||||
- 5100:3000
|
||||
volumes:
|
||||
- /opt/docker/conf/homepage:/app/config # Make sure your local config directory exists
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- tnet
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.homepage.rule=host(`10.0.50.45`)
|
||||
- traefik.http.services.homepage.loadbalancer.server.port=3000
|
||||
- traefik.http.routers.homepage.priority=1
|
||||
networks:
|
||||
tnet:
|
||||
name: traefik-net
|
||||
external: true
|
||||
84
compose/paperless-ngx/compose.yaml
Normal file
84
compose/paperless-ngx/compose.yaml
Normal file
@@ -0,0 +1,84 @@
|
||||
#version: "3.4"
|
||||
services:
|
||||
broker:
|
||||
image: docker.io/library/redis:7
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- redisdata:/data
|
||||
networks:
|
||||
- tnet
|
||||
webserver:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- broker
|
||||
ports:
|
||||
- 8200:8000
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- curl
|
||||
- -fs
|
||||
- -S
|
||||
- --max-time
|
||||
- "2"
|
||||
- http://localhost:8000
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
volumes:
|
||||
- data:/usr/src/paperless/data
|
||||
- media:/usr/src/paperless/media
|
||||
- /mnt/documents/paperless/export:/usr/src/paperless/export
|
||||
- /mnt/documents/paperless/consume:/usr/src/paperless/consume
|
||||
# env_file: docker-compose.env
|
||||
environment:
|
||||
PAPERLESS_REDIS: redis://broker:6379
|
||||
PAPERLESS_DBHOST: 10.0.50.60
|
||||
PAPERLESS_DBPORT: 5432
|
||||
PAPERLESS_DBNAME: paperless-ng
|
||||
PAPERLESS_DBUSER: paperless-ng
|
||||
PAPERLESS_DBPASS: paperless-ng
|
||||
# PAPERLESS_MEDIA_ROOT=/data/media
|
||||
PAPERLESS_CONSUMPTION_DIR: /usr/src/paperless/consume
|
||||
PAPERLESS_EXPORT_DIR: /usr/src/paperless/export
|
||||
PAPERLESS_CONSUMER_POLLING: 30
|
||||
# PAPERLESS_DATA_DIR=/config
|
||||
labels:
|
||||
- homepage.group=Media
|
||||
- homepage.name=PaperlessNGX
|
||||
- homepage.icon=mdi-file-cabinet
|
||||
- homepage.description=Document Store (esh)
|
||||
- homepage.href=http://10.0.50.45:8200
|
||||
- homepage.sitemonitor=http://10.0.50.45:8200
|
||||
- homepage.widget.type=paperlessngx
|
||||
- homepage.widget.url=http://10.0.50.45:8200
|
||||
- homepage.widget.key=${API_KEY}
|
||||
networks:
|
||||
- tnet
|
||||
env_file:
|
||||
- .env
|
||||
backup:
|
||||
image: offen/docker-volume-backup:latest
|
||||
restart: always
|
||||
volumes:
|
||||
# volumes to backup.
|
||||
- data:/backup/paperless-data:ro
|
||||
- media:/backup/paperless-media:ro
|
||||
- redisdata:/backup/paperless-redisdata:ro
|
||||
- /mnt/backup/docker/esh-vm-docker/paperless:/archive
|
||||
# can omit below if not stopping service.
|
||||
# - /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
env_file:
|
||||
- .env
|
||||
networks:
|
||||
- tnet
|
||||
|
||||
networks:
|
||||
tnet:
|
||||
name: traefik-net
|
||||
external: true
|
||||
volumes:
|
||||
data: null
|
||||
media: null
|
||||
redisdata: null
|
||||
40
compose/pgadmin/compose.yaml
Normal file
40
compose/pgadmin/compose.yaml
Normal file
@@ -0,0 +1,40 @@
|
||||
# version: "3.8"
|
||||
services:
|
||||
pgadmin:
|
||||
image: dpage/pgadmin4
|
||||
container_name: pgadmin4_container
|
||||
restart: always
|
||||
ports:
|
||||
- 5050:80
|
||||
environment:
|
||||
PGADMIN_DEFAULT_EMAIL: ${DEFAULT_EMAIL}
|
||||
PGADMIN_DEFAULT_PASSWORD: ${DEFAULT_PASSWORD}
|
||||
volumes:
|
||||
- pgadmin-data:/var/lib/pgadmin
|
||||
labels:
|
||||
- homepage.group=Apps
|
||||
- homepage.name=PGAdmin
|
||||
- homepage.icon=mdi-database
|
||||
- homepage.description=pgsql Manager (esh)
|
||||
- homepage.href=http://10.0.50.45:5050
|
||||
networks:
|
||||
- tnet
|
||||
env_file:
|
||||
- .env
|
||||
backup:
|
||||
image: offen/docker-volume-backup:latest
|
||||
restart: always
|
||||
volumes:
|
||||
# volumes to backup.
|
||||
- pgadmin-data:/backup/pgadmin-data:ro
|
||||
- /mnt/backup/docker/esh-vm-docker/pgadmin:/archive
|
||||
# can omit below if not stopping service.
|
||||
# - /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
env_file:
|
||||
- .env
|
||||
networks:
|
||||
tnet:
|
||||
name: traefik-net
|
||||
external: true
|
||||
volumes:
|
||||
pgadmin-data: null
|
||||
42
compose/traefik/docker-compose.yml
Normal file
42
compose/traefik/docker-compose.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
#version: "3.3"
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:latest
|
||||
container_name: traefik
|
||||
command:
|
||||
- --log.level=DEBUG
|
||||
- --configFile=/etc/traefik/traefik.yml
|
||||
- --api.insecure=true
|
||||
- --providers.docker=true
|
||||
- --providers.docker.exposedbydefault=false
|
||||
- --entrypoints.web.address=:80
|
||||
environment:
|
||||
- AWS_ACCESS_KEY_ID=${AWS_KEY}
|
||||
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET}
|
||||
- AWS_REGION=${AWS_REGION}
|
||||
- AWS_HOSTED_ZONE_ID=${AWS_ZONEID}
|
||||
ports:
|
||||
- 80:80
|
||||
- 8380:8080
|
||||
- 443:443
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- /opt/docker/conf/traefik-esh:/etc/traefik
|
||||
labels:
|
||||
- homepage.group=ESH
|
||||
- homepage.name=traefik
|
||||
- homepage.icon=si-traefikproxy
|
||||
- homepage.sitemonitor=http://10.0.50.45:8380
|
||||
- homepage.href=http://10.0.50.45:8380
|
||||
- homepage.widget.type=traefik
|
||||
- homepage.widget.url=http://10.0.50.45:8380
|
||||
networks:
|
||||
- tnet
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
networks:
|
||||
tnet:
|
||||
name: traefik-net
|
||||
external: true
|
||||
Reference in New Issue
Block a user