mirror of
https://github.com/mr-vercetti/homeserver.git
synced 2025-01-18 08:15:34 +01:00
Initial commit
This commit is contained in:
commit
a3c9738f2b
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Ignore docker env file
|
||||||
|
docker/.env
|
||||||
|
|
||||||
|
# Ignore appdata dir
|
||||||
|
docker/appdata/
|
17
docker/.env.example
Normal file
17
docker/.env.example
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
PUID=
|
||||||
|
PGID=
|
||||||
|
TIMEZONE=
|
||||||
|
APPS_DIR=
|
||||||
|
DATA_DIR=
|
||||||
|
DOMAIN=
|
||||||
|
|
||||||
|
# nextcloud-db
|
||||||
|
DB_ROOT_PW=
|
||||||
|
DB_NAME=
|
||||||
|
DB_USER=
|
||||||
|
DB_PW=
|
||||||
|
|
||||||
|
# wireguard
|
||||||
|
WG_URL=
|
||||||
|
WG_PEERS=
|
||||||
|
WG_ALLOWEDIPS=
|
19
docker/stacks/ddclient/ddclient.yml
Normal file
19
docker/stacks/ddclient/ddclient.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ddclient:
|
||||||
|
image: lscr.io/linuxserver/ddclient
|
||||||
|
container_name: ddclient
|
||||||
|
networks:
|
||||||
|
- ddclient
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
volumes:
|
||||||
|
- ${APPS_DIR}/ddclient:/config
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
ddclient:
|
||||||
|
name: ddclient
|
57
docker/stacks/nextcloud/nextcloud.yml
Normal file
57
docker/stacks/nextcloud/nextcloud.yml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
nextcloud-cache:
|
||||||
|
image: redis
|
||||||
|
container_name: nextcloud-cache
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
ports:
|
||||||
|
- 6379:6379
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
nextcloud-db:
|
||||||
|
image: lscr.io/linuxserver/mariadb
|
||||||
|
container_name: nextcloud-db
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PW}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
- MYSQL_DATABASE=${DB_NAME}
|
||||||
|
- MYSQL_USER=${DB_USER}
|
||||||
|
- MYSQL_PASSWORD=${DB_PW}
|
||||||
|
volumes:
|
||||||
|
- ${APPS_DIR}/nextcloud-db:/config
|
||||||
|
ports:
|
||||||
|
- 3306:3306
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
nextcloud:
|
||||||
|
image: lscr.io/linuxserver/nextcloud
|
||||||
|
container_name: nextcloud
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- nextcloud
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
volumes:
|
||||||
|
- ${APPS_DIR}/nextcloud:/config
|
||||||
|
- ${DATA_DIR}/nextcloud-data:/data
|
||||||
|
ports:
|
||||||
|
- 8443:443
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- nextcloud-db
|
||||||
|
- nextcloud-cache
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external:
|
||||||
|
name: proxy
|
||||||
|
nextcloud:
|
||||||
|
name: nextcloud
|
28
docker/stacks/swag/swag.yml
Normal file
28
docker/stacks/swag/swag.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
swag:
|
||||||
|
image: lscr.io/linuxserver/swag
|
||||||
|
container_name: swag
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
- URL=${DOMAIN}
|
||||||
|
- SUBDOMAINS=wildcard
|
||||||
|
- VALIDATION=dns
|
||||||
|
- DNSPLUGIN=cloudflare
|
||||||
|
volumes:
|
||||||
|
- ${APPS_DIR}/swag:/config
|
||||||
|
ports:
|
||||||
|
- 443:443
|
||||||
|
- 80:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
name: proxy
|
36
docker/stacks/wireguard/wireguard.yml
Normal file
36
docker/stacks/wireguard/wireguard.yml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
wireguard:
|
||||||
|
image: lscr.io/linuxserver/wireguard
|
||||||
|
container_name: wireguard
|
||||||
|
networks:
|
||||||
|
- wireguard
|
||||||
|
- proxy
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
- SYS_MODULE
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
- SERVERURL=${WG_URL}
|
||||||
|
- SERVERPORT=51820
|
||||||
|
- PEERS=${WG_PEERS}
|
||||||
|
- PEERDNS=auto
|
||||||
|
- ALLOWEDIPS=${WG_ALLOWEDIPS}
|
||||||
|
volumes:
|
||||||
|
- ${APPS_DIR}/wireguard:/config
|
||||||
|
- /lib/modules:/lib/modules
|
||||||
|
ports:
|
||||||
|
- 51820:51820/udp
|
||||||
|
sysctls:
|
||||||
|
- net.ipv4.conf.all.src_valid_mark=1
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external:
|
||||||
|
name: proxy
|
||||||
|
wireguard:
|
||||||
|
name: wireguard
|
42
snapraid/snapraid-runner.conf
Normal file
42
snapraid/snapraid-runner.conf
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
[snapraid]
|
||||||
|
; path to the snapraid executable (e.g. /bin/snapraid)
|
||||||
|
executable = /usr/local/bin/snapraid
|
||||||
|
; path to the snapraid config to be used
|
||||||
|
config = /etc/snapraid.conf
|
||||||
|
; abort operation if there are more deletes than this, set to -1 to disable
|
||||||
|
deletethreshold = 40
|
||||||
|
; if you want touch to be ran each time
|
||||||
|
touch = false
|
||||||
|
|
||||||
|
[logging]
|
||||||
|
; logfile to write to, leave empty to disable
|
||||||
|
file = /var/log/snapraid.log
|
||||||
|
; maximum logfile size in KiB, leave empty for infinite
|
||||||
|
maxsize = 5000
|
||||||
|
|
||||||
|
[email]
|
||||||
|
; when to send an email, comma-separated list of [success, error]
|
||||||
|
sendon = success,error
|
||||||
|
; set to false to get full programm output via email
|
||||||
|
short = true
|
||||||
|
subject = [SnapRAID] Status Report:
|
||||||
|
from =
|
||||||
|
to =
|
||||||
|
; maximum email size in KiB
|
||||||
|
maxsize = 500
|
||||||
|
|
||||||
|
[smtp]
|
||||||
|
host =
|
||||||
|
; leave empty for default port
|
||||||
|
port =
|
||||||
|
; set to "true" to activate
|
||||||
|
ssl = false
|
||||||
|
tls = false
|
||||||
|
user =
|
||||||
|
password =
|
||||||
|
|
||||||
|
[scrub]
|
||||||
|
; set to true to run scrub after sync
|
||||||
|
enabled = true
|
||||||
|
percentage = 12
|
||||||
|
older-than = 10
|
33
snapraid/snapraid.conf
Normal file
33
snapraid/snapraid.conf
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Defines the file to use as parity storage
|
||||||
|
# It must NOT be in a data disk
|
||||||
|
# Format: "parity FILE_PATH"
|
||||||
|
parity /mnt/parity/snapraid.parity
|
||||||
|
|
||||||
|
# Defines the files to use as content list
|
||||||
|
# You can use multiple specification to store more copies
|
||||||
|
# You must have least one copy for each parity file plus one. Some more don't
|
||||||
|
# hurt
|
||||||
|
# They can be in the disks used for data, parity or boot,
|
||||||
|
# but each file must be in a different disk
|
||||||
|
# Format: "content FILE_PATH"
|
||||||
|
content /var/snapraid.content
|
||||||
|
content /mnt/disk1/.snapraid.content
|
||||||
|
|
||||||
|
# Defines the data disks to use
|
||||||
|
# The order is relevant for parity, do not change it
|
||||||
|
# Format: "disk DISK_NAME DISK_MOUNT_POINT"
|
||||||
|
disk d1 /mnt/disk1
|
||||||
|
|
||||||
|
# Excludes hidden files and directories (uncomment to enable).
|
||||||
|
#nohidden
|
||||||
|
|
||||||
|
# Defines files and directories to exclude
|
||||||
|
# Remember that all the paths are relative at the mount points
|
||||||
|
# Format: "exclude FILE"
|
||||||
|
# Format: "exclude DIR/"
|
||||||
|
# Format: "exclude /PATH/FILE"
|
||||||
|
# Format: "exclude /PATH/DIR/"
|
||||||
|
exclude *.unrecoverable
|
||||||
|
exclude /tmp/
|
||||||
|
exclude /lost+found/
|
||||||
|
exclude *.!sync
|
Loading…
Reference in New Issue
Block a user