Skip to content

Commit

Permalink
* Several updates 2022_06_19. See full commit log.
Browse files Browse the repository at this point in the history
* Renamed "homeserver" to "cloudserver" wherever applicable (scripts, logs, traefik rules, etc.). "homeserver" actually referred to my Proxmox server in the cloud and Synology is my Docker-Traefik server at home.
* Added domain name variables to Traefik environment, to pass the variable into container. This allows using {{env "DOMAINNAME_CLOUD_SERVER"}} in Traefik dynamic rules to refer to domain names.
  • Loading branch information
SimpleHomelab committed Jun 19, 2022
1 parent 2c00522 commit 7383242
Show file tree
Hide file tree
Showing 21 changed files with 62 additions and 59 deletions.
16 changes: 8 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ shared/config/*
!scripts
scripts/*
!scripts/*.example
!scripts/homeserver
scripts/homeserver/*
!scripts/homeserver/*.example
!scripts/homeserver/media-services.txt
!scripts/homeserver/basic-services.txt
!scripts/cloudserver
scripts/cloudserver/*
!scripts/cloudserver/*.example
!scripts/cloudserver/media-services.txt
!scripts/cloudserver/basic-services.txt
!scripts/systemd
scripts/systemd/*
!scripts/systemd/*.example
Expand Down Expand Up @@ -88,9 +88,9 @@ appdata/traefik2/rules/toml/*
!appdata/traefik2/rules/synology
appdata/traefik2/rules/synology/*
!appdata/traefik2/rules/synology/*.example
!appdata/traefik2/rules/homeserver
appdata/traefik2/rules/homeserver/*
!appdata/traefik2/rules/homeserver/*.example
!appdata/traefik2/rules/cloudserver
appdata/traefik2/rules/cloudserver/*
!appdata/traefik2/rules/cloudserver/*.example

!appdata/authelia
appdata/authelia/*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
http:
routers:
hassio-rtr:
rule: "HostHeader(`hassio.example.com`)"
hass-core-rtr:
rule: "Host(`hass.{{env "DOMAINNAME_CLOUD_SERVER"}}`)"
entryPoints:
- https
middlewares:
- chain-no-auth
service: hassio-svc
service: hass-core-svc
tls:
certResolver: dns-cloudflare
services:
hassio-svc:
hass-core-svc:
loadBalancer:
servers:
- url: "http://192.168.5.90:8123" # or whatever your external host's IP:port is
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
http:
routers:
pihole-rtr:
rule: "HostHeader(`pihole.example.com`)"
rule: "Host(`pihole.{{env "DOMAINNAME_CLOUD_SERVER"}}`)"
entryPoints:
- https
middlewares:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
http:
routers:
unifi-rtr:
rule: "Host(`unifi.example.com`)" # will only work with cloudflare Full SSL (not Strict)
rule: "Host(`unifi.{{env "DOMAINNAME_CLOUD_SERVER"}}`)" # will only work with cloudflare Full SSL (not Strict)
entryPoints:
- https
middlewares:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ http:
stsPreload: true
forceSTSHeader: true
# frameDeny: true #overwritten by customFrameOptionsValue
customFrameOptionsValue: "allow-from https:example.com" #CSP takes care of this but may be needed for organizr.
customFrameOptionsValue: "allow-from https:{{env "DOMAINNAME_CLOUD_SERVER"}}" #CSP takes care of this but may be needed for organizr.
contentTypeNosniff: true
browserXssFilter: true
# sslForceHost: true # add sslHost to all of the services
# sslHost: "example.com"
# sslHost: "{{env "DOMAINNAME_CLOUD_SERVER"}}"
referrerPolicy: "same-origin"
# Setting contentSecurityPolicy is more secure but it can break things. Proper auth will reduce the risk.
# the below line also breaks some apps due to 'none' - sonarr, radarr, etc.
# contentSecurityPolicy: "frame-ancestors '*.example.com:*';object-src 'none';script-src 'none';"
# contentSecurityPolicy: "frame-ancestors '*.{{env "DOMAINNAME_CLOUD_SERVER"}}:*';object-src 'none';script-src 'none';"
# Line below, featurePolicy, was deprecated in v2.5.x in favor permissionPolicy
# featurePolicy: "camera 'none'; geolocation 'none'; microphone 'none'; payment 'none'; usb 'none'; vr 'none';"
permissionsPolicy: "camera=(), microphone=(), geolocation=(), payment=(), usb=(), vr=()"
Expand All @@ -59,14 +59,14 @@ http:

middlewares-oauth-external:
forwardAuth:
address: "https://oauth.example.com" # Make sure you have the OAuth service in a remote server
address: "https://oauth.{{env "DOMAINNAME_CLOUD_SERVER"}}" # Make sure you have the OAuth service in a remote server
trustForwardHeader: true
authResponseHeaders:
- "X-Forwarded-User"

middlewares-authelia:
forwardAuth:
address: "http://authelia:9091/api/verify?rd=https://authelia.example.com"
address: "http://authelia:9091/api/verify?rd=https://authelia.{{env "DOMAINNAME_CLOUD_SERVER"}}"
trustForwardHeader: true
authResponseHeaders:
- "Remote-User"
Expand Down
8 changes: 4 additions & 4 deletions appdata/traefik2/rules/web/middlewares.yml.example
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ http:
stsPreload: true
forceSTSHeader: true
# frameDeny: true #overwritten by customFrameOptionsValue
customFrameOptionsValue: "allow-from https:example.com" #CSP takes care of this but may be needed for organizr.
customFrameOptionsValue: "allow-from https:{{env "DOMAINNAME_SHB"}}" #CSP takes care of this but may be needed for organizr.
contentTypeNosniff: true
browserXssFilter: true
# sslForceHost: true # add sslHost to all of the services
# sslHost: "example.com"
# sslHost: "{{env "DOMAINNAME_SHB"}}"
referrerPolicy: "same-origin"
# Setting contentSecurityPolicy is more secure but it can break things. Proper auth will reduce the risk.
# the below line also breaks some apps due to 'none' - sonarr, radarr, etc.
# contentSecurityPolicy: "frame-ancestors '*.example.com:*';object-src 'none';script-src 'none';"
# contentSecurityPolicy: "frame-ancestors '*.{{env "DOMAINNAME_SHB"}}:*';object-src 'none';script-src 'none';"
# Line below, featurePolicy, was deprecated in v2.5.x in favor permissionPolicy
# featurePolicy: "camera 'none'; geolocation 'none'; microphone 'none'; payment 'none'; usb 'none'; vr 'none';"
permissionsPolicy: "camera=(), microphone=(), geolocation=(), payment=(), usb=(), vr=()"
Expand Down Expand Up @@ -70,7 +70,7 @@ http:

middlewares-authelia:
forwardAuth:
address: "http://authelia:9091/api/verify?rd=https://authelia.example.com"
address: "http://authelia:9091/api/verify?rd=https://authelia.{{env "DOMAINNAME_SHB"}}"
trustForwardHeader: true
authResponseHeaders:
- "Remote-User"
Expand Down
41 changes: 21 additions & 20 deletions docker-compose-t2-synology.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,20 +140,20 @@ services:
# - --providers.docker.endpoint=unix:///var/run/docker.sock # Use Docker Socket Proxy instead for improved security
- --providers.docker.endpoint=tcp://socket-proxy:2375
# Automatically set Host rule for services
# - --providers.docker.defaultrule=Host(`{{ index .Labels "com.docker.compose.service" }}.$DOMAINNAME_HOME_SERVER`)
# - --providers.docker.defaultrule=Host(`{{ index .Labels "com.docker.compose.service" }}.$DOMAINNAME_HOME_SYNOLOGY`)
- --providers.docker.exposedByDefault=false
# - --entrypoints.https.http.middlewares=chain-oauth@file
- --entrypoints.https.http.tls.options=tls-opts@file
# Add dns-cloudflare as default certresolver for all services. Also enables TLS and no need to specify on individual services
- --entrypoints.https.http.tls.certresolver=dns-cloudflare
- --entrypoints.https.http.tls.domains[0].main=$DOMAINNAME_HOME_SERVER
- --entrypoints.https.http.tls.domains[0].sans=*.$DOMAINNAME_HOME_SERVER
- --entrypoints.https.http.tls.domains[0].main=$DOMAINNAME_HOME_SYNOLOGY
- --entrypoints.https.http.tls.domains[0].sans=*.$DOMAINNAME_HOME_SYNOLOGY
- --providers.docker.network=t2_proxy
- --providers.docker.swarmMode=false
- --providers.file.directory=/rules # Load dynamic configuration from one or more .toml or .yml files in a directory
# - --providers.file.filename=/path/to/file # Load dynamic configuration from a file
- --providers.file.watch=true # Only works on top level files in the rules folder
#- --certificatesResolvers.dns-cloudflare.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory # LetsEncrypt Staging Server - uncomment when testing
# - --certificatesResolvers.dns-cloudflare.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory # LetsEncrypt Staging Server - uncomment when testing
- --certificatesResolvers.dns-cloudflare.acme.email=$CLOUDFLARE_EMAIL
- --certificatesResolvers.dns-cloudflare.acme.storage=/acme.json
- --certificatesResolvers.dns-cloudflare.acme.dnsChallenge.provider=cloudflare
Expand Down Expand Up @@ -191,6 +191,7 @@ services:
- CF_API_EMAIL_FILE=/run/secrets/cf_email
- CF_API_KEY_FILE=/run/secrets/cf_api_key
- HTPASSWD_FILE=/run/secrets/htpasswd # HTPASSWD_FILE can be whatever as it is not used/called anywhere.
- DOMAINNAME_HOME_SYNOLOGY
secrets:
- cf_email
- cf_api_key
Expand All @@ -205,11 +206,11 @@ services:
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
# HTTP Routers
- "traefik.http.routers.traefik-rtr.entrypoints=https"
- "traefik.http.routers.traefik-rtr.rule=Host(`$DOMAINNAME_HOME_SERVER`,`traefik.$DOMAINNAME_HOME_SERVER` )"
- "traefik.http.routers.traefik-rtr.rule=Host(`$DOMAINNAME_HOME_SYNOLOGY`,`traefik.$DOMAINNAME_HOME_SYNOLOGY` )"
## Services - API
- "traefik.http.routers.traefik-rtr.service=api@internal"
## Healthcheck/ping
#- "traefik.http.routers.ping.rule=Host(`traefik.$DOMAINNAME_HOME_SERVER`) && Path(`/ping`)"
#- "traefik.http.routers.ping.rule=Host(`traefik.$DOMAINNAME_HOME_SYNOLOGY`) && Path(`/ping`)"
#- "traefik.http.routers.ping.tls=true"
#- "traefik.http.routers.ping.service=ping@internal"
## Middlewares
Expand Down Expand Up @@ -278,9 +279,9 @@ services:
# command: --rule.sabnzbd.action=allow --rule.sabnzbd.rule="HeadersRegexp(`X-Forwarded-Uri`, `$SABNZBD_API_KEY`)"
environment:
- CONFIG=/config
- COOKIE_DOMAIN=$DOMAINNAME_HOME_SERVER
- COOKIE_DOMAIN=$DOMAINNAME_HOME_SYNOLOGY
- INSECURE_COOKIE=false
- AUTH_HOST=oauth.$DOMAINNAME_HOME_SERVER
- AUTH_HOST=oauth.$DOMAINNAME_HOME_SYNOLOGY
- URL_PATH=/_oauth
- LOG_LEVEL=warn
- LOG_FORMAT=text
Expand All @@ -295,7 +296,7 @@ services:
## HTTP Routers
- "traefik.http.routers.oauth-rtr.tls=true"
- "traefik.http.routers.oauth-rtr.entrypoints=https"
- "traefik.http.routers.oauth-rtr.rule=Host(`oauth.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.oauth-rtr.rule=Host(`oauth.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.oauth-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand Down Expand Up @@ -323,7 +324,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.portainer-rtr.entrypoints=https"
- "traefik.http.routers.portainer-rtr.rule=Host(`portainer.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.portainer-rtr.rule=Host(`portainer.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.portainer-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand All @@ -343,7 +344,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.autoindex-rtr.entrypoints=https"
- "traefik.http.routers.autoindex-rtr.rule=Host(`index.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.autoindex-rtr.rule=Host(`index.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.autoindex-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand Down Expand Up @@ -392,7 +393,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.qbittorrent-rtr.entrypoints=https"
- "traefik.http.routers.qbittorrent-rtr.rule=Host(`qbit.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.qbittorrent-rtr.rule=Host(`qbit.$DOMAINNAME_HOME_SYNOLOGY`)"
- "traefik.http.routers.qbittorrent-rtr.tls=true"
## Middlewares
- "traefik.http.routers.qbittorrent-rtr.middlewares=chain-oauth@file"
Expand Down Expand Up @@ -438,7 +439,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.plexms-rtr.entrypoints=https"
- "traefik.http.routers.plexms-rtr.rule=Host(`synplex.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.plexms-rtr.rule=Host(`synplex.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.plexms-rtr.middlewares=chain-no-auth@file"
## HTTP Services
Expand Down Expand Up @@ -473,7 +474,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.tdarr-rtr.entrypoints=https"
- "traefik.http.routers.tdarr-rtr.rule=Host(`tdarr.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.tdarr-rtr.rule=Host(`tdarr.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.tdarr-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand Down Expand Up @@ -560,7 +561,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.rclone-drive-rtr.entrypoints=https"
- "traefik.http.routers.rclone-drive-rtr.rule=Host(`rclone.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.rclone-drive-rtr.rule=Host(`rclone.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.rclone-drive-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand Down Expand Up @@ -644,7 +645,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.firefox-rtr.entrypoints=https"
- "traefik.http.routers.firefox-rtr.rule=Host(`firefox.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.firefox-rtr.rule=Host(`firefox.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.firefox-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand Down Expand Up @@ -675,7 +676,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.qdirstat-rtr.entrypoints=https"
- "traefik.http.routers.qdirstat-rtr.rule=Host(`qdir.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.qdirstat-rtr.rule=Host(`qdir.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.qdirstat-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand All @@ -701,7 +702,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.syncthing-rtr.entrypoints=https"
- "traefik.http.routers.syncthing-rtr.rule=Host(`stnas.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.syncthing-rtr.rule=Host(`stnas.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.syncthing-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand Down Expand Up @@ -732,7 +733,7 @@ services:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.vscode-rtr.entrypoints=https"
- "traefik.http.routers.vscode-rtr.rule=Host(`code.$DOMAINNAME_HOME_SERVER`)"
- "traefik.http.routers.vscode-rtr.rule=Host(`code.$DOMAINNAME_HOME_SYNOLOGY`)"
## Middlewares
- "traefik.http.routers.vscode-rtr.middlewares=chain-oauth@file"
## HTTP Services
Expand Down Expand Up @@ -770,7 +771,7 @@ services:
image: oznu/cloudflare-ddns:latest
environment:
API_KEY_FILE: /run/secrets/cf_token
ZONE: $DOMAINNAME_HOME_SERVER
ZONE: $DOMAINNAME_HOME_SYNOLOGY
#SUBDOMAIN: home
PROXIED: "true"
RRTYPE: A
Expand Down
1 change: 1 addition & 0 deletions docker-compose-t2-web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ services:
- CF_API_EMAIL_FILE=/run/secrets/cf_email
- CF_API_KEY_FILE=/run/secrets/cf_api_key
- HTPASSWD_FILE=/run/secrets/htpasswd # HTPASSWD_FILE can be whatever as it is not used/called anywhere.
- DOMAINNAME_SHB # Passing the domain name to traefik container to be able to use the variable in rules.
secrets:
- cf_email
- cf_api_key
Expand Down
7 changes: 4 additions & 3 deletions docker-compose-t2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ services:
# Touch (create empty files) traefik.log and acme/acme.json. Set acme.json permissions to 600.
# touch $DOCKERDIR/traefik2/acme/acme.json
# chmod 600 $DOCKERDIR/traefik2/acme/acme.json
# touch $DOCKERDIR/logs/homeserver/traefik.log # customize this
# touch $DOCKERDIR/logs/cloudserver/traefik.log # customize this
traefik:
<<: *common-keys-core # See EXTENSION FIELDS at the top
container_name: traefik
Expand Down Expand Up @@ -200,14 +200,15 @@ services:
# protocol: tcp
# mode: host
volumes:
- $DOCKERDIR/appdata/traefik2/rules/homeserver:/rules # file provider directory
- $DOCKERDIR/appdata/traefik2/rules/cloudserver:/rules # file provider directory
# - /var/run/docker.sock:/var/run/docker.sock:ro # Use Docker Socket Proxy instead for improved security
- $DOCKERDIR/appdata/traefik2/acme/acme.json:/acme.json # cert location - you must touch this file and change permissions to 600
- $DOCKERDIR/logs/homeserver/traefik.log:/traefik.log # for fail2ban - make sure to touch file before starting container
- $DOCKERDIR/logs/cloudserver/traefik.log:/traefik.log # for fail2ban - make sure to touch file before starting container
environment:
- CF_API_EMAIL_FILE=/run/secrets/cf_email
- CF_API_KEY_FILE=/run/secrets/cf_api_key
- HTPASSWD_FILE=/run/secrets/htpasswd # HTPASSWD_FILE can be whatever as it is not used/called anywhere.
- DOMAINNAME_CLOUD_SERVER # Passing the domain name to traefik container to be able to use the variable in rules.
secrets:
- cf_email
- cf_api_key
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ export RCLONE_USER_AGENT

# Local Mount - Ensure this is set to your local disk only.
#LOCAL=/media/shb-drive/media
EXCLUDES=$DOCKERFOLDER/scripts/homeserver/upload-excludes.log
LOGFILE=$DOCKERFOLDER/logs/homeserver/drive-to-crypt.log
EXCLUDES=$DOCKERFOLDER/scripts/cloudserver/upload-excludes.log
LOGFILE=$DOCKERFOLDER/logs/cloudserver/drive-to-crypt.log

# Name of your Rclone Remote, likely cloud or cloudcrypt
REMOTE_CRYPT=shb-crypt
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ seconds=$((rounds * 5))

if [[ "$mounted" -eq "$num_drives" ]]; then
echo -e "All drives mounted: \n\n - $drive1 in $drive1_seconds \n - $drive2 in $drive2_seconds \n - $drive3 in $drive3_seconds\n\nStarting media containers." | mail -s "[cDoc MSG] Starting media containers" [email protected] -aFrom:[email protected]
sudo docker start $(cat /home/USER/docker/scripts/homeserver/media-services.txt)
sudo docker start $(cat /home/USER/docker/scripts/cloudserver/media-services.txt)
else
echo -e "Not all drives mounted after reboot: \n\n - $drive1 is $drive1_status \n - $drive2 is $drive2_status \n - $drive3 is $drive3_status\n\nTimed out after $seconds seconds." | mail -s "[cDoc ERROR] Mounted not equal to $num_drives." [email protected] -aFrom:[email protected]
sudo docker stop $(cat /home/USER/docker/scripts/homeserver/media-services.txt)
sudo docker stop $(cat /home/USER/docker/scripts/cloudserver/media-services.txt)
fi
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ export RCLONE_USER_AGENT

# Local Mount - Ensure this is set to your local disk only.
LOCAL=/media/data/local/media
EXCLUDES=$DOCKERFOLDER/scripts/homeserver/upload-excludes.log
LOGFILE=$DOCKERFOLDER/logs/homeserver/upload-media.log
EXCLUDES=$DOCKERFOLDER/scripts/cloudserver/upload-excludes.log
LOGFILE=$DOCKERFOLDER/logs/cloudserver/upload-media.log

# Name of your Rclone Remote, likely cloud or cloudcrypt
REMOTE=shb-crypt
Expand All @@ -34,7 +34,7 @@ then
ps -ef | grep "$pscheck"
exit
else
echo -e "\n\n### `date +'%Y-%m-%d %H:%M'`: No currently running processes found. Starting rclone job.\n" >> $DOCKERFOLDER/logs/homeserver/upload-media.log
echo -e "\n\n### `date +'%Y-%m-%d %H:%M'`: No currently running processes found. Starting rclone job.\n" >> $DOCKERFOLDER/logs/cloudserver/upload-media.log
fi

# Exclude File Check
Expand Down
2 changes: 1 addition & 1 deletion scripts/systemd/rclone-crypt.service.example
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Type=notify
ExecStart=/usr/bin/rclone mount shb-crypt: /media/crypt \
#--read-only \
--config /home/USER/docker/appdata/rclone/rclone.conf \
--log-file=/home/USER/docker/logs/homeserver/rclone-crypt.log \
--log-file=/home/USER/docker/logs/systemd/rclone-crypt.log \
--log-level NOTICE \
--allow-other \
--no-modtime \
Expand Down
2 changes: 1 addition & 1 deletion scripts/systemd/rclone-drive.service.example
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ After=network-online.target
Type=notify
ExecStart=/usr/bin/rclone mount shb-drive: /media/drive \
--config /home/USER/docker/appdata/rclone/rclone.conf \
--log-file=/home/USER/docker/logs/homeserver/rclone-drive.log \
--log-file=/home/USER/docker/logs/systemd/rclone-drive.log \
--log-level NOTICE \
--allow-other \
--no-modtime \
Expand Down
Loading

0 comments on commit 7383242

Please sign in to comment.