diff --git a/files/docker/.smbcreds b/files/docker/.smbcreds
new file mode 100644
index 0000000..e95af06
--- /dev/null
+++ b/files/docker/.smbcreds
@@ -0,0 +1,3 @@
+username=adminuser
+password=8ung1e1!
+domain=akanealw
diff --git a/files/docker/.ubuntucreds b/files/docker/.ubuntucreds
new file mode 100644
index 0000000..7be3b76
--- /dev/null
+++ b/files/docker/.ubuntucreds
@@ -0,0 +1,3 @@
+akanealw
+8ung1e1!
+
diff --git a/files/docker/Caddyfile.txt b/files/docker/Caddyfile.txt
new file mode 100644
index 0000000..ea024a2
--- /dev/null
+++ b/files/docker/Caddyfile.txt
@@ -0,0 +1,13 @@
+{
+ # Global options block. Entirely optional, https is on by default
+ # Optional email key for lets encrypt
+ email akanealw@gmail.com
+ # Optional staging lets encrypt for testing. Comment out for production.
+ # acme_ca https://acme-staging-v02.api.letsencrypt.org/directory
+}
+myghost.mydomain.com {
+ reverse_proxy ghost:2368
+}
+www.myghost.mydomain.com {
+ redir https://myghost.mydomain.com{uri}
+}
diff --git a/files/docker/certbotmanual.txt b/files/docker/certbotmanual.txt
new file mode 100644
index 0000000..0075d17
--- /dev/null
+++ b/files/docker/certbotmanual.txt
@@ -0,0 +1 @@
+certbot certonly --manual --preferred-challenges=dns -m akanealw@gmail.com --agree-tos -d akanealw.com
\ No newline at end of file
diff --git a/files/docker/docker_template_agent1.xml b/files/docker/docker_template_agent1.xml
new file mode 100644
index 0000000..aa44947
--- /dev/null
+++ b/files/docker/docker_template_agent1.xml
@@ -0,0 +1,1910 @@
+
+
+ 5.0
+ 2020-07-23T07:41:34Z
+
+
+ Templates/Applications
+
+
+
+
+ Template App Docker - Agent 1
+ Template App Docker - Agent 1
+ Get Docker engine metrics using zabbix-agent 1
+
+
+ Templates/Applications
+
+
+
+
+ Docker
+
+
+ Zabbix raw items
+
+
+
+ -
+ Docker: Get info
+ docker.api[{$DOCKER.SOCKET},info]
+ 0
+ 0
+ TEXT
+
+
+ Zabbix raw items
+
+
+
+ -
+ Docker: Get data_usage
+ docker.api[{$DOCKER.SOCKET},system/df]
+ 0
+ 0
+ TEXT
+
+
+ Zabbix raw items
+
+
+
+ -
+ Docker: Get version info
+ docker.api[{$DOCKER.SOCKET},version]
+ 0
+ 0
+ TEXT
+
+
+ Zabbix raw items
+
+
+
+ -
+ Docker: Ping
+ docker.api[{$DOCKER.SOCKET},_ping]
+ 7h
+
+
+ Docker
+
+
+
+ Service state
+
+
+
+ JAVASCRIPT
+ return (value === 'OK') ? 1 : 0;
+
+
+ DISCARD_UNCHANGED_HEARTBEAT
+ 10m
+
+
+
+
+ {last()}=0
+ Docker: Service is down
+ AVERAGE
+ YES
+
+
+
+ -
+ Docker: API version
+ DEPENDENT
+ docker.api_version
+ 0
+ 7d
+ 0
+ CHAR
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.ApiVersion
+
+
+ DISCARD_UNCHANGED_HEARTBEAT
+ 1d
+
+
+
+ docker.api[{$DOCKER.SOCKET},version]
+
+
+ -
+ Docker: Containers paused
+ DEPENDENT
+ docker.containers.paused
+ 0
+ Total number of containers paused on this host
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.ContainersPaused
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Containers running
+ DEPENDENT
+ docker.containers.running
+ 0
+ Total number of containers running on this host
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.ContainersRunning
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Containers stopped
+ DEPENDENT
+ docker.containers.stopped
+ 0
+ Total number of containers stopped on this host
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.ContainersStopped
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Containers total
+ DEPENDENT
+ docker.containers.total
+ 0
+ Total number of containers on this host
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.Containers
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Containers size
+ DEPENDENT
+ docker.containers_size
+ 0
+ B
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.Containers[*].SizeRw.sum()
+
+
+
+ docker.api[{$DOCKER.SOCKET},system/df]
+
+
+ -
+ Docker: Debug enabled
+ DEPENDENT
+ docker.debug.enabled
+ 0
+ 7d
+
+
+ Docker
+
+
+
+ Docker flag
+
+
+
+ JSONPATH
+ $.Debug
+
+
+ BOOL_TO_DECIMAL
+
+
+
+ DISCARD_UNCHANGED_HEARTBEAT
+ 1d
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Goroutines
+ DEPENDENT
+ docker.goroutines
+ 0
+ 7d
+ Number of goroutines
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.NGoroutines
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Images size
+ DEPENDENT
+ docker.images_size
+ 0
+ B
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.Images[*].Size.sum()
+
+
+
+ docker.api[{$DOCKER.SOCKET},system/df]
+
+
+ -
+ Docker: Info Text
+ DEPENDENT
+ docker.info.text
+ 0
+ 1d
+ 0
+ TEXT
+
+
+ Docker
+
+
+
+
+ JAVASCRIPT
+ data = JSON.parse(value);
+
+var dockerName = "Docker Name: " + data.Name;
+var dockerRootDir = "Root Directory: " + data.DockerRootDir;
+var debugEnabled = "Debug Enabled: " + (data.Debug ? "TRUE" : "FALSE");
+
+return dockerName +
+"\n" + dockerRootDir +
+"\n" + debugEnabled +
+"\n";
+
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Version Text
+ DEPENDENT
+ docker.info.version_text
+ 0
+ 1d
+ 0
+ TEXT
+
+
+ Docker
+
+
+
+
+ JAVASCRIPT
+ data = JSON.parse(value);
+
+var dockerVersion = "Docker Version: " + data.Version;
+var apiVersion = "API Version: " + data.ApiVersion;
+
+return dockerVersion +
+"\n" + apiVersion +
+"\n";
+
+
+
+
+ docker.api[{$DOCKER.SOCKET},version]
+
+
+ -
+ Docker: Layers size
+ DEPENDENT
+ docker.layers_size
+ 0
+ B
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.LayersSize
+
+
+
+ docker.api[{$DOCKER.SOCKET},system/df]
+
+
+ -
+ Docker: Name
+ DEPENDENT
+ docker.name
+ 0
+ 1h
+ 0
+ CHAR
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.Name
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+
+ {nodata(30m)}=1
+ Docker: Failed to fetch info data (or no data for 30m)
+ WARNING
+ Zabbix has not received data for items for the last 30 minutes
+ YES
+
+
+ Docker: Service is down
+ {Template App Docker - Agent 1:docker.api[{$DOCKER.SOCKET},_ping].last()}=0
+
+
+
+
+
+ -
+ Docker: FD
+ DEPENDENT
+ docker.nfd
+ 0
+ 7d
+ Number of used File Descriptors
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.NFd
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Docker root dir
+ DEPENDENT
+ docker.root_dir
+ 0
+ 7d
+ 0
+ CHAR
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.DockerRootDir
+
+
+ DISCARD_UNCHANGED_HEARTBEAT
+ 1d
+
+
+
+ docker.api[{$DOCKER.SOCKET},info]
+
+
+ -
+ Docker: Version
+ DEPENDENT
+ docker.version
+ 0
+ 7d
+ 0
+ CHAR
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.Version
+
+
+ DISCARD_UNCHANGED_HEARTBEAT
+ 1d
+
+
+
+ docker.api[{$DOCKER.SOCKET},version]
+
+
+
+ {diff()}=1 and {strlen()}>0
+ Docker: Version has changed (new version: {ITEM.VALUE})
+ INFO
+ Docker version has changed. Ack to close.
+ YES
+
+
+
+ -
+ Docker: Volumes size
+ DEPENDENT
+ docker.volumes_size
+ 0
+ B
+
+
+ Docker
+
+
+
+
+ JSONPATH
+ $.Volumes[*].UsageData.Size.sum()
+
+
+
+ docker.api[{$DOCKER.SOCKET},system/df]
+
+
+
+
+
+ Images discovery
+ docker.api[{$DOCKER.SOCKET},images/json]
+ 15m
+
+
+
+ {#NAME}
+ {$DOCKER.LLD.FILTER.IMAGE.MATCHES}
+ A
+
+
+ {#NAME}
+ {$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}
+ NOT_MATCHES_REGEX
+ B
+
+
+
+ {$DOCKER.IMAGE.KEEP}
+ Discovery for images metrics
+
+
+ Docker: Image {#NAME} Created
+ CALCULATED
+ docker.image.created[{#ID}]
+ 0
+ unixtime
+ {#CREATED}
+
+
+ Docker Image {#NAME}
+
+
+
+
+ Docker: Image {#NAME} Size
+ CALCULATED
+ docker.image.size[{#ID}]
+ B
+ {#SIZE}
+
+
+ Docker Image {#NAME}
+
+
+
+
+
+
+ {#ID}
+ $.Id
+
+
+ {#NAME}
+ $.Name
+
+
+ {#SIZE}
+ $.Size
+
+
+ {#CREATED}
+ $.Created
+
+
+
+
+ JAVASCRIPT
+ var data = JSON.parse(value);
+var ix;
+
+for (ix in data) {
+ var name = data[ix].RepoTags[0];
+ var result = name.match(/dkr\.ecr\..+\.amazon.+\/(.+):(.+)/);
+ if (result) {
+ data[ix].Name = result[2];
+ data[ix].Repo = result[1];
+ var typeIx = result[2].indexOf('_');
+ var revIx = result[2].lastIndexOf('_');
+ data[ix].Type = result[2].slice(0, typeIx);
+ data[ix].Revision = result[2].slice(typeIx+1, revIx);
+ data[ix].Flag = result[2].slice(revIx+1);
+ } else {
+ data[ix].Name = data[ix].RepoTags[0];
+ data[ix].Repo = name.slice(0, name.indexOf('/'));
+ data[ix].Type = '';
+ data[ix].Revision = '';
+ data[ix].Flag = '';
+ }
+};
+
+return JSON.stringify(data);
+
+
+
+
+ Containers discovery
+ docker.containers.list[{$DOCKER.SOCKET}]
+ 15m
+
+ AND
+
+
+ {#NAME}
+ {$DOCKER.LLD.FILTER.CONTAINER.MATCHES}
+ A
+
+
+ {#NAME}
+ {$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}
+ NOT_MATCHES_REGEX
+ B
+
+
+
+ {$DOCKER.CONTAINER.KEEP}
+ Discovery for containers metrics
+
+
+ Docker: Container {#NAME}: Inspect
+ docker.api[{$DOCKER.SOCKET},containers/{#ID}/json]
+ 0
+ 0
+ TEXT
+
+
+ Docker Container {#NAME}
+
+
+
+
+ CPU Number
+ DEPENDENT
+ docker.container.cpu.number[{#ID}]
+ 0
+ 1d
+ 30d
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.cpu_stats.cpu_usage.percpu_usage.length()
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ CPU System
+ DEPENDENT
+ docker.container.cpu.system[{#ID}]
+ 0
+ 1d
+ 30d
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.cpu_stats.system_cpu_usage
+
+
+ SIMPLE_CHANGE
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ CPU Total
+ DEPENDENT
+ docker.container.cpu.total[{#ID}]
+ 0
+ 1d
+ 30d
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.cpu_stats.cpu_usage.total_usage
+
+
+ SIMPLE_CHANGE
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ CPU Usage
+ CALCULATED
+ docker.container.cpu.usage[{#ID}]
+ FLOAT
+ %
+ (last("docker.container.cpu.total[{#ID}]")/last("docker.container.cpu.system[{#ID}]")) * last("docker.container.cpu.number[{#ID}]") * 100.0
+
+
+ Docker Container {#NAME}
+
+
+
+
+ {min(5m)}>{$DOCKER.CPU.USAGE_HIGH}
+ Docker: Container {#NAME}: CPU Usage is high (>{$DOCKER.CPU.USAGE_HIGH}% for 5min)
+ WARNING
+
+
+
+
+ Docker: Container {#NAME}: Created
+ CALCULATED
+ docker.container.created[{#ID}]
+ 0
+ unixtime
+ {#CREATED}
+
+
+ Docker Container {#NAME}
+
+
+
+
+ Docker: Container {#NAME}: ID
+ DEPENDENT
+ docker.container.id[{#ID}]
+ 0
+ 1h
+ 0
+ CHAR
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.Id
+
+
+
+ docker.api[{$DOCKER.SOCKET},containers/{#ID}/json]
+
+
+
+ IO Read
+ DEPENDENT
+ docker.container.io.read[{#ID}]
+ 0
+ FLOAT
+ Bps
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.blkio_stats.io_service_bytes_recursive[?(@.op=='Read')].value.sum()
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ IO Write
+ DEPENDENT
+ docker.container.io.write[{#ID}]
+ 0
+ FLOAT
+ Bps
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.blkio_stats.io_service_bytes_recursive[?(@.op=='Write')].value.sum()
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ Memory Available
+ CALCULATED
+ docker.container.mem.available[{#ID}]
+ FLOAT
+ B
+ last("docker.container.mem.total[{#ID}]") - last("docker.container.mem.used[{#ID}]")
+
+
+ Docker Container {#NAME}
+
+
+
+
+ Memory Cache
+ DEPENDENT
+ docker.container.mem.cache[{#ID}]
+ 0
+ B
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.memory_stats.stats.cache
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ Memory Total
+ DEPENDENT
+ docker.container.mem.total[{#ID}]
+ 0
+ 7d
+ B
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.memory_stats.limit
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ Memory Usage
+ CALCULATED
+ docker.container.mem.usage[{#ID}]
+ FLOAT
+ %
+ (last("docker.container.mem.used[{#ID}]")/last("docker.container.mem.total[{#ID}]")) * 100.0
+
+
+ Docker Container {#NAME}
+
+
+
+
+ {min(5m)}>{$DOCKER.MEM.USAGE_CRITICAL}
+ Docker: Container {#NAME}: Memory usage is critical (>{$DOCKER.MEM.USAGE_CRITICAL}% for 5min)
+ AVERAGE
+
+
+ {min(5m)}>{$DOCKER.MEM.USAGE_HIGH}
+ Docker: Container {#NAME}: Memory usage is high (>{$DOCKER.MEM.USAGE_HIGH}% for 5min)
+ WARNING
+
+
+ Docker: Container {#NAME}: Memory usage is critical (>{$DOCKER.MEM.USAGE_CRITICAL}% for 5min)
+ {Template App Docker - Agent 1:docker.container.mem.usage[{#ID}].min(5m)}>{$DOCKER.MEM.USAGE_CRITICAL}
+
+
+
+
+
+
+ Memory Used
+ CALCULATED
+ docker.container.mem.used[{#ID}]
+ B
+ last("docker.container.mem.used_cache[{#ID}]") - last("docker.container.mem.cache[{#ID}]")
+
+
+ Docker Container {#NAME}
+
+
+
+
+ Memory Used With Cache
+ DEPENDENT
+ docker.container.mem.used_cache[{#ID}]
+ 0
+ B
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.memory_stats.usage
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ rx_bytes
+ DEPENDENT
+ docker.container.net.rx_bytes[{#ID}]
+ 0
+ FLOAT
+ bps
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.networks.[*].rx_bytes.sum()
+
+
+ MULTIPLIER
+ 8
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ rx_dropped
+ DEPENDENT
+ docker.container.net.rx_dropped[{#ID}]
+ 0
+ FLOAT
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.networks.[*].rx_dropped.sum()
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ rx_errors
+ DEPENDENT
+ docker.container.net.rx_errors[{#ID}]
+ 0
+ FLOAT
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.networks.[*].rx_errors.sum()
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ rx_packets
+ DEPENDENT
+ docker.container.net.rx_packets[{#ID}]
+ 0
+ FLOAT
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.networks.[*].rx_packets.sum()
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ tx_bytes
+ DEPENDENT
+ docker.container.net.tx_bytes[{#ID}]
+ 0
+ FLOAT
+ bps
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.networks.[*].tx_bytes.sum()
+
+
+ MULTIPLIER
+ 8
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ tx_dropped
+ DEPENDENT
+ docker.container.net.tx_dropped[{#ID}]
+ 0
+ FLOAT
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.networks.[*].tx_dropped.sum()
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ tx_errors
+ DEPENDENT
+ docker.container.net.tx_errors[{#ID}]
+ 0
+ FLOAT
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.networks.[*].tx_errors.sum()
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ tx_packets
+ DEPENDENT
+ docker.container.net.tx_packets[{#ID}]
+ 0
+ FLOAT
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.networks.[*].tx_packets.sum()
+
+
+ CHANGE_PER_SECOND
+
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ PIDs
+ DEPENDENT
+ docker.container.pids[{#ID}]
+ 0
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.pids_stats.current
+
+
+
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+
+
+
+ Docker: Container {#NAME}: Size
+ CALCULATED
+ docker.container.size[{#ID}]
+ B
+ {#SIZERW}
+
+
+ Docker Container {#NAME}
+
+
+
+
+ State
+ DEPENDENT
+ docker.container.state[{#ID}]
+ 0
+ 0
+ CHAR
+
+
+ Docker Container {#NAME}
+
+
+
+
+ JSONPATH
+ $.State.Status
+
+
+ DISCARD_UNCHANGED
+
+
+
+
+ docker.api[{$DOCKER.SOCKET},containers/{#ID}/json]
+
+
+
+ {last()}<>"running"
+ Docker: Container {#NAME}: Not running
+ WARNING
+
+
+ Docker: Service is down
+ {Template App Docker - Agent 1:docker.api[{$DOCKER.SOCKET},_ping].last()}=0
+
+
+
+
+
+
+ Docker: Container {#NAME}: Stats
+ docker.containers.stats[{$DOCKER.SOCKET},{#ID}]
+ 0
+ 0
+ TEXT
+
+
+ Docker Container {#NAME}
+
+
+
+
+
+
+ {Template App Docker - Agent 1:docker.container.net.rx_errors[{#ID}].min(3m)}>{$DOCKER.NET.ERROR_THRESHOLD} or {Template App Docker - Agent 1:docker.container.net.tx_errors[{#ID}].min(3m)}>{$DOCKER.NET.ERROR_THRESHOLD} or {Template App Docker - Agent 1:docker.container.net.tx_dropped[{#ID}].min(3m)}>{$DOCKER.NET.ERROR_THRESHOLD} or {Template App Docker - Agent 1:docker.container.net.rx_dropped[{#ID}].min(3m)}>{$DOCKER.NET.ERROR_THRESHOLD}
+ Docker: Container {#NAME}: Network errors (>{$DOCKER.NET.ERROR_THRESHOLD} for 3min)
+ WARNING
+
+
+
+
+ Docker: Container {#NAME}: CPU & PID
+
+
+ 1A7C11
+ -
+ Template App Docker - Agent 1
+ docker.container.cpu.usage[{#ID}]
+
+
+
+ 1
+ 0288D1
+ RIGHT
+ -
+ Template App Docker - Agent 1
+ docker.container.pids[{#ID}]
+
+
+
+
+
+ Docker: Container {#NAME}: IO Rate
+
+
+ 1A7C11
+ -
+ Template App Docker - Agent 1
+ docker.container.io.read[{#ID}]
+
+
+
+ 1
+ 0288D1
+ -
+ Template App Docker - Agent 1
+ docker.container.io.write[{#ID}]
+
+
+
+
+
+ Docker: Container {#NAME}: Memory Usage
+ FIXED
+ ITEM
+
+ Template App Docker - Agent 1
+ docker.container.mem.total[{#ID}]
+
+
+
+ 1A7C11
+ -
+ Template App Docker - Agent 1
+ docker.container.mem.total[{#ID}]
+
+
+
+ 1
+ GRADIENT_LINE
+ 0288D1
+ -
+ Template App Docker - Agent 1
+ docker.container.mem.available[{#ID}]
+
+
+
+
+
+ Docker: Container {#NAME}: Network
+
+
+ GRADIENT_LINE
+ 66BB6A
+ -
+ Template App Docker - Agent 1
+ docker.container.net.rx_bytes[{#ID}]
+
+
+
+ 1
+ DASHED_LINE
+ 2E7D32
+ RIGHT
+ -
+ Template App Docker - Agent 1
+ docker.container.net.rx_packets[{#ID}]
+
+
+
+ 2
+ FF5722
+ RIGHT
+ -
+ Template App Docker - Agent 1
+ docker.container.net.rx_dropped[{#ID}]
+
+
+
+ 3
+ FFEB3B
+ RIGHT
+ -
+ Template App Docker - Agent 1
+ docker.container.net.rx_errors[{#ID}]
+
+
+
+ 4
+ 4DD0E1
+ -
+ Template App Docker - Agent 1
+ docker.container.net.tx_bytes[{#ID}]
+
+
+
+ 5
+ DASHED_LINE
+ 00838F
+ RIGHT
+ -
+ Template App Docker - Agent 1
+ docker.container.net.tx_packets[{#ID}]
+
+
+
+ 6
+ C2185B
+ RIGHT
+ -
+ Template App Docker - Agent 1
+ docker.container.net.tx_dropped[{#ID}]
+
+
+
+ 7
+ 303F9F
+ RIGHT
+ -
+ Template App Docker - Agent 1
+ docker.container.net.tx_errors[{#ID}]
+
+
+
+
+
+
+
+ {#ID}
+ $.Id
+
+
+ {#NAME}
+ $.Name
+
+
+ {#CREATED}
+ $.Created
+
+
+ {#IMAGEID}
+ $.ImageID
+
+
+ {#SIZERW}
+ $.SizeRw
+
+
+ {#SIZEROOTFS}
+ $.SizeRootFs
+
+
+ {#COMMAND}
+ $.Command
+
+
+
+
+ JAVASCRIPT
+ var data = JSON.parse(value);
+var ix;
+
+for (ix in data) {
+ var name;
+ name = data[ix].Names[0];
+ if (name.indexOf('/') === 0) {
+ name = name.slice(1);
+ }
+
+ data[ix].Name = name;
+
+ if (!data[ix].SizeRw) {
+ data[ix].SizeRw = 0;
+ }
+};
+
+return JSON.stringify(data);
+
+
+
+
+
+
+ {$DOCKER.CONTAINER.KEEP}
+ 14d
+ Time to keep the data about old containers that are no longer discovered on the host. Min: 1h
+
+
+ {$DOCKER.CPU.USAGE_HIGH}
+ 80
+ Percent of container CPU usage to trigger warning
+
+
+ {$DOCKER.IMAGE.KEEP}
+ 14d
+ Time to keep the data about old images that are no longer discovered on the host. Min: 1h
+
+
+ {$DOCKER.LLD.FILTER.CONTAINER.MATCHES}
+ .*
+ Filter of discoverable containers
+
+
+ {$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}
+ CHANGE_IF_NEEDED
+ Filter to exclude discovered containers
+
+
+ {$DOCKER.LLD.FILTER.IMAGE.MATCHES}
+ .*
+ Filter of discoverable images
+
+
+ {$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}
+ CHANGE_IF_NEEDED
+ Filter to exclude discovered images
+
+
+ {$DOCKER.MEM.USAGE_CRITICAL}
+ 90
+ Percent of container memory usage considered critical
+
+
+ {$DOCKER.MEM.USAGE_HIGH}
+ 80
+ Percent of container memory usage to trigger warning
+
+
+ {$DOCKER.NET.ERROR_THRESHOLD}
+ 0
+ Number of dropped packets or errors in a container to trigger a warning
+
+
+ {$DOCKER.SOCKET}
+ /var/run/docker.sock
+ Docker socket to use for API access
+
+
+
+
+ Docker overview
+ 4
+ 6
+
+
+ 3
+
+
+ docker.info.version_text
+ Template App Docker - Agent 1
+
+ 500
+ 100
+ 0
+ 0
+ 2
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ 3
+
+
+ 0
+
+
+ Docker: Resources
+ Template App Docker - Agent 1
+
+ 750
+ 100
+ 2
+ 0
+ 2
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 3
+
+
+ 3
+
+
+ docker.info.text
+ Template App Docker - Agent 1
+
+ 500
+ 100
+ 0
+ 1
+ 2
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ 3
+
+
+ 0
+
+
+ Docker: Containers
+ Template App Docker - Agent 1
+
+ 750
+ 100
+ 0
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 3
+
+
+ 0
+
+
+ Docker: Sizes
+ Template App Docker - Agent 1
+
+ 750
+ 100
+ 2
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 3
+
+
+ 19
+
+
+ docker.image.size[{#ID}]
+ Template App Docker - Agent 1
+
+ 600
+ 100
+ 0
+ 3
+ 4
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 3
+
+
+ 20
+
+
+ Docker: Container {#NAME}: Network
+ Template App Docker - Agent 1
+
+ 380
+ 80
+ 0
+ 4
+ 4
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 4
+
+
+ 19
+
+
+ docker.container.size[{#ID}]
+ Template App Docker - Agent 1
+
+ 380
+ 80
+ 0
+ 5
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+
+
+ 20
+
+
+ Docker: Container {#NAME}: IO Rate
+ Template App Docker - Agent 1
+
+ 380
+ 80
+ 1
+ 5
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+
+
+ 20
+
+
+ Docker: Container {#NAME}: CPU & PID
+ Template App Docker - Agent 1
+
+ 380
+ 80
+ 2
+ 5
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+
+
+ 20
+
+
+ Docker: Container {#NAME}: Memory Usage
+ Template App Docker - Agent 1
+
+ 380
+ 80
+ 3
+ 5
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+
+
+
+
+
+
+
+
+ Docker: Containers
+
+
+ GRADIENT_LINE
+ 1A7C11
+ -
+ Template App Docker - Agent 1
+ docker.containers.running
+
+
+
+ 1
+ BOLD_LINE
+ 2774A4
+ -
+ Template App Docker - Agent 1
+ docker.containers.paused
+
+
+
+ 2
+ BOLD_LINE
+ F63100
+ -
+ Template App Docker - Agent 1
+ docker.containers.stopped
+
+
+
+ 3
+ BOLD_LINE
+ A54F10
+ -
+ Template App Docker - Agent 1
+ docker.containers.total
+
+
+
+
+
+ Docker: Resources
+
+
+ 1A7C11
+ -
+ Template App Docker - Agent 1
+ docker.goroutines
+
+
+
+ 1
+ F63100
+ -
+ Template App Docker - Agent 1
+ docker.nfd
+
+
+
+
+
+ Docker: Sizes
+
+
+ BOLD_LINE
+ 1A7C11
+ -
+ Template App Docker - Agent 1
+ docker.images_size
+
+
+
+ 1
+ BOLD_LINE
+ 2774A4
+ -
+ Template App Docker - Agent 1
+ docker.layers_size
+
+
+
+ 2
+ BOLD_LINE
+ F63100
+ -
+ Template App Docker - Agent 1
+ docker.containers_size
+
+
+
+ 3
+ BOLD_LINE
+ A54F10
+ -
+ Template App Docker - Agent 1
+ docker.volumes_size
+
+
+
+
+
+
+
+ Docker flag
+
+
+ 0
+ False
+
+
+ 1
+ True
+
+
+
+
+ Service state
+
+
+ 0
+ Down
+
+
+ 1
+ Up
+
+
+
+
+
diff --git a/files/docker/fstab b/files/docker/fstab
new file mode 100644
index 0000000..f5eaa4f
--- /dev/null
+++ b/files/docker/fstab
@@ -0,0 +1,21 @@
+# /etc/fstab: static file system information.
+#
+# Use 'blkid' to print the universally unique identifier for a
+# device; this may be used with UUID= as a more robust way to name devices
+# that works even if disks are added and removed. See fstab(5).
+#
+#
+# / was on /dev/sda2 during curtin installation
+/dev/disk/by-uuid/60213de4-f1f8-47ee-a6eb-043607aba0a7 / ext4 defaults 0 0
+/swap.img none swap sw 0 0
+#Windows Shares
+//192.168.1.21/nzbs /mnt/nzbs cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.21/torrents /mnt/torrents cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.10/music /mnt/music cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.10/movies /mnt/movies cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.10/tvshows /mnt/tvshows cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.10/storage /mnt/mediapc cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.17/storage /mnt/hypervhost-01 cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.17/mediadownloads /mnt/downloads cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.17/mediadownloads/youtubedl /docker/config/appdata/youtubedl/users/admin/video cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
+//192.168.1.17/mediadownloads/youtubedl /docker/config/appdata/youtubedl/users/admin/audio cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
diff --git a/files/docker/individual-docker-compose-files/airsonic-advanced-docker-compose.yml b/files/docker/individual-docker-compose-files/airsonic-advanced-docker-compose.yml
new file mode 100644
index 0000000..12910d9
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/airsonic-advanced-docker-compose.yml
@@ -0,0 +1,20 @@
+version: '3'
+
+services:
+ airsonic:
+ container_name: airsonic
+ hostname: airsonic
+ image: binhex/arch-airsonic-advanced:latest
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - UMASK=000
+ - MAX_MEMORY=512
+ - CONTEXT_PATH=\
+ ports:
+ - 4040:4040/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/airsonic:/config
+ - /mnt/music:/media
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-configuration-backup.yml b/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-configuration-backup.yml
new file mode 100644
index 0000000..5f53b94
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-configuration-backup.yml
@@ -0,0 +1,141 @@
+theme: dark
+jwt_secret: 9DGPzQy8SZQ7rV57V3DJnw
+
+#default_redirection_url: https://www.google.com/
+
+server:
+ host: 0.0.0.0
+ port: 9091
+ path: ""
+ read_buffer_size: 4096
+ write_buffer_size: 4096
+ enable_pprof: false
+ enable_expvars: false
+ disable_healthcheck: false
+ tls:
+ key: ""
+ certificate: ""
+
+ntp:
+ address: "0.debian.pool.ntp.org:123"
+ version: 3
+ max_desync: 3s
+ disable_startup_check: true
+ disable_failure: true
+
+log:
+ level: info
+
+totp:
+ disable: false
+ issuer: akanealw.com
+ algorithm: sha1
+ digits: 6
+ period: 30
+ skew: 1
+ secret_size: 32
+
+authentication_backend:
+ disable_reset_password: true
+ refresh_interval: 5m
+ file:
+ path: /config/users_database.yml
+ password:
+ algorithm: argon2id
+ iterations: 1
+ salt_length: 16
+ parallelism: 8
+ memory: 64
+
+access_control:
+ default_policy: deny
+ rules:
+ # bypass rule
+ - domain: "auth.akanealw.com"
+ policy: bypass
+ - domain: "bitwarden.akanealw.com"
+ policy: bypass
+ - domain: "gitea.akanealw.com"
+ policy: bypass
+ - domain: "meshcentral.akanealw.com"
+ policy: bypass
+ - domain: "owncloud.akanealw.com"
+ policy: bypass
+ - domain: "overseerr.akanealw.com"
+ policy: bypass
+ - domain: "plex.akanealw.com"
+ policy: bypass
+
+ # two_factor rule
+ - domain: "akanealw.com"
+ policy: two_factor
+ - domain: "codeserver.akanealw.com"
+ policy: two_factor
+ - domain: "freshrss.akanealw.com"
+ policy: two_factor
+ - domain: "jackett.akanealw.com"
+ policy: two_factor
+ - domain: "jdownloader.akanealw.com"
+ policy: two_factor
+ - domain: "kavita.akanealw.com"
+ policy: two_factor
+ - domain: "lidarr.akanealw.com"
+ policy: two_factor
+ - domain: "metube.akanealw.com"
+ policy: two_factor
+ - domain: "monitorr.akanealw.com"
+ policy: two_factor
+ - domain: "mstream.akanealw.com"
+ policy: two_factor
+ - domain: "nzbhydra.akanealw.com"
+ policy: two_factor
+ - domain: "portainer.akanealw.com"
+ policy: two_factor
+ - domain: "prowlarr.akanealw.com"
+ policy: two_factor
+ - domain: "qbittorrent.akanealw.com"
+ policy: two_factor
+ - domain: "radarr.akanealw.com"
+ policy: two_factor
+ - domain: "sabnzbd.akanealw.com"
+ policy: two_factor
+ - domain: "sonarr.akanealw.com"
+ policy: two_factor
+ - domain: "www.akanealw.com"
+ policy: two_factor
+
+session:
+ name: authelia_session
+ domain: akanealw.com
+ same_site: lax
+ secret: 8r9y4d8mY7NfQtpCe2oU
+ expiration: 6h
+ inactivity: 5m
+ remember_me_duration: 1w
+
+regulation:
+ max_retries: 3
+ find_time: 10m
+ ban_time: 12h
+
+storage:
+ local:
+ path: /config/db.sqlite3
+ encryption_key: iiB7C8Bn4A2gAhzs2fWaggUug76PZ4LU
+
+notifier:
+ disable_startup_check: true
+ smtp:
+ username: akanealw@gmail.com
+ password: qlvmffuzpscltdgz
+ host: smtp.gmail.com
+ port: 587
+ sender: akanealw@gmail.com
+ identifier: dockerserver
+ subject: "[Authelia] {title}"
+ startup_check_address: akanealw@gmail.com
+ disable_require_tls: false
+ disable_html_emails: false
+ tls:
+ skip_verify: false
+ minimum_version: TLS1.2
diff --git a/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-nginx.conf b/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-nginx.conf
new file mode 100644
index 0000000..37a181f
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-nginx.conf
@@ -0,0 +1,33 @@
+location / {
+set $upstream_authelia http://192.168.1.30:9091;
+proxy_pass $upstream_authelia;
+client_body_buffer_size 128k;
+
+#Timeout if the real server is dead
+proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
+
+# Advanced Proxy Config
+send_timeout 5m;
+proxy_read_timeout 360;
+proxy_send_timeout 360;
+proxy_connect_timeout 360;
+
+# Basic Proxy Config
+proxy_set_header Host $host;
+proxy_set_header X-Real-IP $remote_addr;
+proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+proxy_set_header X-Forwarded-Proto $scheme;
+proxy_set_header X-Forwarded-Host $http_host;
+proxy_set_header X-Forwarded-Uri $request_uri;
+proxy_set_header X-Forwarded-Ssl on;
+proxy_redirect http:// $scheme://;
+proxy_http_version 1.1;
+proxy_set_header Connection "";
+proxy_cache_bypass $cookie_session;
+proxy_no_cache $cookie_session;
+proxy_buffers 64 256k;
+
+# If behind reverse proxy, forwards the correct IP, assumes you're using Cloudflare. Adjust IP for your Docker network.
+set_real_ip_from 192.168.1.0/24;
+real_ip_recursive on;
+}
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/authelia/OldConfig/protected-domain-nginx.conf b/files/docker/individual-docker-compose-files/authelia/OldConfig/protected-domain-nginx.conf
new file mode 100644
index 0000000..9ca3a2f
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/authelia/OldConfig/protected-domain-nginx.conf
@@ -0,0 +1,75 @@
+location /authelia {
+internal;
+set $upstream_authelia http://192.168.1.34:9091/api/verify;
+proxy_pass_request_body off;
+proxy_pass $upstream_authelia;
+proxy_set_header Content-Length "";
+
+# Timeout if the real server is dead
+proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
+client_body_buffer_size 128k;
+proxy_set_header Host $host;
+proxy_set_header X-Original-URL $scheme://$http_host$request_uri;
+proxy_set_header X-Real-IP $remote_addr;
+proxy_set_header X-Forwarded-For $remote_addr;
+proxy_set_header X-Forwarded-Proto $scheme;
+proxy_set_header X-Forwarded-Host $http_host;
+proxy_set_header X-Forwarded-Uri $request_uri;
+proxy_set_header X-Forwarded-Ssl on;
+proxy_redirect http:// $scheme://;
+proxy_http_version 1.1;
+proxy_set_header Connection "";
+proxy_cache_bypass $cookie_session;
+proxy_no_cache $cookie_session;
+proxy_buffers 4 32k;
+
+send_timeout 5m;
+proxy_read_timeout 240;
+proxy_send_timeout 240;
+proxy_connect_timeout 240;
+}
+
+location / {
+set $upstream_$hostname $forward_scheme://$server:$port;
+proxy_pass $upstream_$hostname;
+
+auth_request /authelia;
+auth_request_set $target_url https://$http_host$request_uri;
+auth_request_set $user $upstream_http_remote_user;
+auth_request_set $email $upstream_http_remote_email;
+auth_request_set $groups $upstream_http_remote_groups;
+proxy_set_header Remote-User $user;
+proxy_set_header Remote-Email $email;
+proxy_set_header Remote-Groups $groups;
+
+error_page 401 =302 https://auth.akanealw.com/?rd=$target_url;
+
+client_body_buffer_size 128k;
+
+proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
+
+send_timeout 5m;
+proxy_read_timeout 360;
+proxy_send_timeout 360;
+proxy_connect_timeout 360;
+
+proxy_set_header Host $host;
+proxy_set_header Upgrade $http_upgrade;
+proxy_set_header Connection upgrade;
+proxy_set_header Accept-Encoding gzip;
+proxy_set_header X-Real-IP $remote_addr;
+proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+proxy_set_header X-Forwarded-Proto $scheme;
+proxy_set_header X-Forwarded-Host $http_host;
+proxy_set_header X-Forwarded-Uri $request_uri;
+proxy_set_header X-Forwarded-Ssl on;
+proxy_redirect http:// $scheme://;
+proxy_http_version 1.1;
+proxy_set_header Connection "";
+proxy_cache_bypass $cookie_session;
+proxy_no_cache $cookie_session;
+proxy_buffers 64 256k;
+
+set_real_ip_from 192.168.1.0/24;
+real_ip_recursive on;
+}
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/bitwarden-docker-compose.yml b/files/docker/individual-docker-compose-files/bitwarden-docker-compose.yml
new file mode 100644
index 0000000..7dbb122
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/bitwarden-docker-compose.yml
@@ -0,0 +1,26 @@
+version: '3'
+
+services:
+ bitwarden:
+ container_name: bitwarden
+ hostname: bitwarden
+ image: bitwardenrs/server
+ environment:
+ - TZ=America/Chicago
+ - ADMIN_TOKEN=h/oRssGu83I1E1WQGiSchYMAJnM0JcDXmjeI/A3QgMCasn/IK9zZldH5FXim0rSi
+ - DATABASE_URL=data/db.sqlite3
+ - DISABLE_ADMIN_TOKEN=false
+ - DOMAIN=https://bitwarden.akanealw.com
+ - ENABLE_DB_WAL=true
+ - INVITATIONS_ALLOWED=false
+ - SHOW_PASSWORD_HINT=false
+ - SIGNUPS_ALLOWED=false
+ - SIGNUPS_VERIFY=false
+ - SMTP_PORT=587
+ - SMTP_SSL=true
+ ports:
+ - 8013:80/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/bitwarden:/data
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/cloudflareddns-docker-compose.yml b/files/docker/individual-docker-compose-files/cloudflareddns-docker-compose.yml
new file mode 100644
index 0000000..f9355e8
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/cloudflareddns-docker-compose.yml
@@ -0,0 +1,23 @@
+version: '3'
+
+services:
+ cloudflareddns:
+ container_name: cloudflareddns
+ hostname: cloudflareddns
+ image: hotio/cloudflareddns
+ environment:
+ - PGID=1000
+ - PUID=1000
+ - TZ=America/Chicago
+ - CF_APIKEY=5d3a327a9d5abce38c73c4c4e6a4cd3897957
+ - CF_HOSTS=akanealw.com;akanealw.net
+ - CF_RECORDTYPES=A;A
+ - CF_USER=akanealw@gmail.com
+ - CF_ZONES=akanealw.com;akanealw.net
+ - DETECTION_MODE=dig-whoami.cloudflare
+ - INTERVAL=300
+ - LOG_LEVEL=2
+ restart: always
+ volumes:
+ - /mnt/docker/appdata/cloudflareddns/config:/config
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/deemix-docker-compose.yml b/files/docker/individual-docker-compose-files/deemix-docker-compose.yml
new file mode 100644
index 0000000..f010597
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/deemix-docker-compose.yml
@@ -0,0 +1,21 @@
+version: '3'
+
+services:
+ deemix:
+ container_name: deemix
+ hostname: deemix
+ image: registry.gitlab.com/bockiii/deemix-docker
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ - ARL=b5ad4c03f6161f0b56bc0d0ed4f5fa4eead21e8693e7fe9599fc99c0fc30e8c32ffa5a56d39f2541aade61c38a98a596629ebb6052510b37187da4120579eb34ae331ca8678241b14db1b232ec670a4d6817a039114f7bc5b2b611c29042f95f
+ - DEEZUI=false
+ - UMASK=022
+ ports:
+ - 6595:6595/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/deemix:/config
+ - /mnt/downloads/music:/downloads
+ - /etc/localtime:/etc/localtime:ro
diff --git a/files/docker/individual-docker-compose-files/filerun-docker-compose.yml b/files/docker/individual-docker-compose-files/filerun-docker-compose.yml
new file mode 100644
index 0000000..e785289
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/filerun-docker-compose.yml
@@ -0,0 +1,40 @@
+version: '3'
+
+services:
+ filerun-mariadb:
+ container_name: filerun-mariadb
+ hostname: filerun-mariadb
+ image: mariadb:10.1
+ environment:
+ MYSQL_ROOT_PASSWORD: 8ung1e1!
+ MYSQL_USER: filerun
+ MYSQL_PASSWORD: filerun
+ MYSQL_DATABASE: filerun
+ restart: always
+ volumes:
+ - /docker/appdata/filerun/db:/var/lib/mysql
+
+ filerun:
+ container_name: filerun
+ hostname: filerun
+ image: afian/filerun
+ environment:
+ FR_DB_HOST: filerun-mariadb
+ FR_DB_PORT: 3306
+ FR_DB_NAME: filerun
+ FR_DB_USER: filerun
+ FR_DB_PASS: filerun
+ APACHE_RUN_USER: www-data
+ APACHE_RUN_USER_ID: 33
+ APACHE_RUN_GROUP: www-data
+ APACHE_RUN_GROUP_ID: 33
+ ports:
+ - 8087:80
+ restart: always
+ depends_on:
+ - filerun-mariadb
+ links:
+ - filerun-mariadb:db
+ volumes:
+ - /docker/appdata/filerun/html:/var/www/html
+ - /mnt/hypervhost-03:/user-files
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/freshrss-docker-compose.yml b/files/docker/individual-docker-compose-files/freshrss-docker-compose.yml
new file mode 100644
index 0000000..a0214bf
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/freshrss-docker-compose.yml
@@ -0,0 +1,36 @@
+version: '3'
+
+services:
+ freshrss:
+ container_name: freshrss
+ hostname: freshrss
+ image: freshrss/freshrss:latest
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - CRON_MIN=*/20
+ - TZ=America/Chicago
+ ports:
+ - 8080:80/tcp
+ restart: always
+ depends_on:
+ - freshrss-db
+ volumes:
+ - /docker/appdata/freshrss/data:/var/www/FreshRSS/data
+ - /docker/appdata/freshrss/extensions:/var/www/FreshRSS/extensions
+ - /etc/localtime:/etc/localtime:ro
+
+ freshrss-db:
+ container_name: freshrss-db
+ hostname: freshrss-db
+ image: postgres:12-alpine
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - POSTGRES_USER=freshrss
+ - POSTGRES_PASSWORD=freshrss
+ - POSTGRES_DB=freshrss
+ restart: always
+ volumes:
+ - /docker/appdata/freshrss-db/data:/var/lib/postgresql/data
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/goaccess-docker-compose.yml b/files/docker/individual-docker-compose-files/goaccess-docker-compose.yml
new file mode 100644
index 0000000..fa3f06c
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/goaccess-docker-compose.yml
@@ -0,0 +1,21 @@
+version: '3'
+
+services:
+ goaccess:
+ container_name: goaccess
+ image: 'xavierh/goaccess-for-nginxproxymanager:latest'
+ environment:
+ - TZ=${TZ}
+ - SKIP_ARCHIVED_LOGS=False #optional
+ - DEBUG=False #optional
+ - BASIC_AUTH=False #optional
+ - BASIC_AUTH_USERNAME=${ADMIN_USERNAME} #optional
+ - BASIC_AUTH_PASSWORD=${ADMIN_PASSWORD} #optional
+ - EXCLUDE_IPS=127.0.0.1 #optional - comma delimited
+ - LOG_TYPE=NPM #optional - more information below
+ ports:
+ - 7880:7880
+ restart: always
+ volumes:
+ - ${DOCKERCONFIGS}/nginxproxymanager/data/logs:/opt/log
+ - ${DOCKERCONFIGS}/goaccess/custom/logs:/opt/custom
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/jackett-docker-compose.yml b/files/docker/individual-docker-compose-files/jackett-docker-compose.yml
new file mode 100644
index 0000000..c405566
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/jackett-docker-compose.yml
@@ -0,0 +1,19 @@
+version: '3'
+
+services:
+ jackett:
+ container_name: jackett
+ hostname: jackett
+ image: binhex/arch-jackett
+ environment:
+ - PGID=1000
+ - PUID=1000
+ - UMASK=000
+ ports:
+ - 9117:9117/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/jackett:/config
+ - /docker/appdata/jackett/data:/data
+ - /mnt/torrents:/torrents
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/jdownloader2-myjd-api-docker-compose.yml b/files/docker/individual-docker-compose-files/jdownloader2-myjd-api-docker-compose.yml
new file mode 100644
index 0000000..ab01759
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/jdownloader2-myjd-api-docker-compose.yml
@@ -0,0 +1,42 @@
+version: '3'
+
+services:
+ jdownloader2:
+ container_name: jdownloader2
+ hostname: jdownloader2
+ image: jlesage/jdownloader-2
+ environment:
+ - PGID=1000
+ - PUID=1000
+ - UMASK=000
+ - TZ=America/Chicago
+ - KEEP_APP_RUNNING=1
+ - CLEAN_TMP_DIR=1
+ - MYJD_USER=akanealw@gmail.com
+ - MYJD_PASSWORD=trUKY4X8wzGiCr75ZmC9
+ - MYJD_DEVICE_NAME=dockerserver
+ - XDG_DOWNLOAD_DIR=/output
+ ports:
+ - 3129:3129/tcp
+ - 5800:5800/tcp
+ - 5900:5900/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/jdownloader2:/config
+ - /mnt/downloads:/output
+ - /etc/localtime:/etc/localtime:ro
+
+ myjd-api:
+ container_name: myjd-api
+ hostname: myjd-api
+ image: rix1337/docker-myjd-api
+ environment:
+ - USER=akanealw@gmail.com
+ - PASS=trUKY4X8wzGiCr75ZmC9
+ - DEVICE=JDownloader
+ ports:
+ - 8009:8080/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/myjdapi/config:/config
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/kutt/kutt-docker-compose.yml b/files/docker/individual-docker-compose-files/kutt/kutt-docker-compose.yml
new file mode 100644
index 0000000..b676a89
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/kutt/kutt-docker-compose.yml
@@ -0,0 +1,40 @@
+version: "3"
+
+services:
+ kutt:
+ container_name: kutt
+ hostname: kutt
+ image: kutt/kutt
+ environment:
+ DB_HOST: kutt-postgres
+ DB_NAME: kutt
+ DB_USER: kutt
+ DB_PASSWORD: kutt
+ REDIS_HOST: kutt-redis
+ env_file:
+ - .env
+ ports:
+ - 3000:3000/tcp
+ restart: always
+ depends_on:
+ - kutt-postgres
+ - kutt-redis
+ command: ["./wait-for-it.sh", "kutt-postgres:5432", "--", "npm", "start"]
+
+ kutt-redis:
+ container_name: kutt-redis
+ hostname: kutt-redis
+ image: redis:6.0-alpine
+ volumes:
+ - /opt/docker/appdata/kutt/redis_data:/data
+
+ kutt-postgres:
+ container_name: kutt-postgres
+ hostname: kutt-postgres
+ image: postgres:12-alpine
+ environment:
+ POSTGRES_USER: kutt
+ POSTGRES_PASSWORD: kutt
+ POSTGRES_DB: kutt
+ volumes:
+ - /opt/docker/appdata/kutt/postgres_data:/var/lib/postgresql/data
diff --git a/files/docker/individual-docker-compose-files/kutt/kutt.env b/files/docker/individual-docker-compose-files/kutt/kutt.env
new file mode 100644
index 0000000..9dc08b6
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/kutt/kutt.env
@@ -0,0 +1,84 @@
+# App port to run on
+PORT=3000
+
+# The name of the site where Kutt is hosted
+SITE_NAME=kutt.akanealw.com
+
+# The domain that this website is on
+DEFAULT_DOMAIN=localhost:3000
+
+# Generated link length
+LINK_LENGTH=6
+
+# Postgres database credential details
+DB_HOST=postgres
+DB_PORT=5432
+DB_NAME=kutt
+DB_USER=kutt
+DB_PASSWORD=kutt
+DB_SSL=false
+
+# Redis host and port
+REDIS_HOST=redis
+REDIS_PORT=6379
+REDIS_PASSWORD=kutt
+
+# Disable registration
+DISALLOW_REGISTRATION=false
+
+# Disable anonymous link creation
+DISALLOW_ANONYMOUS_LINKS=true
+
+# The daily limit for each user
+USER_LIMIT_PER_DAY=50
+
+# Create a cooldown for non-logged in users in minutes
+# Set 0 to disable
+NON_USER_COOLDOWN=0
+
+# Max number of visits for each link to have detailed stats
+DEFAULT_MAX_STATS_PER_LINK=5000
+
+# Use HTTPS for links with custom domain
+CUSTOM_DOMAIN_USE_HTTPS=false
+
+# A passphrase to encrypt JWT. Use a long and secure key.
+JWT_SECRET=%5qCnXx%My^W6tXQCSz4
+
+# Admin emails so they can access admin actions on settings page
+# Comma seperated
+ADMIN_EMAILS=akanealw@gmail.com
+
+# Invisible reCaptcha secret key
+# Create one in https://www.google.com/recaptcha/intro/
+#RECAPTCHA_SITE_KEY=
+#RECAPTCHA_SECRET_KEY=
+
+# Google Cloud API to prevent from users from submitting malware URLs.
+# Get it from https://developers.google.com/safe-browsing/v4/get-started
+#GOOGLE_SAFE_BROWSING_KEY=
+
+# Google Analytics tracking ID for universal analytics.
+# Example: UA-XXXX-XX
+#GOOGLE_ANALYTICS=
+#GOOGLE_ANALYTICS_UNIVERSAL=
+
+# Google Analytics tracking ID for universal analytics
+# This one is used for links
+# GOOGLE_ANALYTICS_UNIVERSAL=
+
+# Your email host details to use to send verification emails.
+# More info on http://nodemailer.com/
+# Mail from example "Kutt ". Leave empty to use MAIL_USER
+MAIL_HOST=smtp.gmail.com
+MAIL_PORT=587
+MAIL_SECURE=true
+MAIL_USER=akanealw@gmail.com
+MAIL_FROM=akanealw@gmail.com
+MAIL_PASSWORD=bzslssyiffjqgdwm
+
+# The email address that will receive submitted reports.
+REPORT_EMAIL=akanealw@gmail.com
+
+# Support email to show on the app
+#CONTACT_EMAIL=
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/meshcentral2/config.json b/files/docker/individual-docker-compose-files/meshcentral2/config.json
new file mode 100644
index 0000000..6f6e47b
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/meshcentral2/config.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "http://info.meshcentral.com/downloads/meshcentral-config-schema.json",
+ "settings": {
+ "cert": "meshcentral.akanealw.com",
+ "_WANonly": true,
+ "_LANonly": true,
+ "_sessionKey": "8ung1e1!",
+ "port": 443,
+ "_aliasPort": 443,
+ "redirPort": 80,
+ "_redirAliasPort": 80,
+ "AgentPong": 300,
+ "TLSOffload": false,
+ "SelfUpdate": false,
+ "AllowFraming": false,
+ "WebRTC": false
+ }
+}
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/meshcentral2/meshcentral2-docker-compose.yml b/files/docker/individual-docker-compose-files/meshcentral2/meshcentral2-docker-compose.yml
new file mode 100644
index 0000000..1a1e7b3
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/meshcentral2/meshcentral2-docker-compose.yml
@@ -0,0 +1,19 @@
+version: '3'
+services:
+ meshcentral:
+ container_name: meshcentral
+ hostname: meshcentral
+ image: typhonragewind/meshcentral
+ environment:
+ - HOSTNAME=dockerserver-01
+ - REVERSE_PROXY=false
+ - IFRAME=true
+ - ALLOW_NEW_ACCOUNTS=false
+ - WEBRTC=true
+ ports:
+ - 443:443/tcp
+ - 80:80/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/meshcentral/data:/opt/meshcentral/meshcentral-data
+ - /docker/appdata/meshcentral/user_files:/opt/meshcentral/meshcentral-files
diff --git a/files/docker/individual-docker-compose-files/metube-docker-compose.yml b/files/docker/individual-docker-compose-files/metube-docker-compose.yml
new file mode 100644
index 0000000..1684f5b
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/metube-docker-compose.yml
@@ -0,0 +1,13 @@
+version: "3"
+
+services:
+ metube:
+ container_name: metube
+ hostname: metube
+ image: alexta69/metube
+ user: "1000:1000"
+ ports:
+ - 8082:8081
+ restart: always
+ volumes:
+ - /mnt/downloads/youtubedl:/downloads
diff --git a/files/docker/individual-docker-compose-files/monitorr-docker-compose.yml b/files/docker/individual-docker-compose-files/monitorr-docker-compose.yml
new file mode 100644
index 0000000..2e0d88f
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/monitorr-docker-compose.yml
@@ -0,0 +1,19 @@
+version: '3'
+
+services:
+ monitorr:
+ container_name: monitorr
+ hostname: monitorr
+ image: monitorr/monitorr
+ environment:
+ - PGID=1000
+ - PUID=1000
+ - TZ=America/Chicago
+ ports:
+ - 8081:80/tcp
+ restart: always
+ volumes:
+ - /:/HD:ro
+ - /mnt/docker/appdata/monitorr/app:/app
+ - /mnt/docker/appdata/monitorr/config:/config
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/nextcloud-docker-compose.yml b/files/docker/individual-docker-compose-files/nextcloud-docker-compose.yml
new file mode 100644
index 0000000..fd58c4c
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/nextcloud-docker-compose.yml
@@ -0,0 +1,32 @@
+version: '3'
+
+services:
+ nextcloud:
+ container_name: nextcloud
+ hostname: nextcloud
+ image: nextcloud:latest
+ depends_on:
+ - nextcloud-mariadb
+ ports:
+ - 8083:80/tcp
+ restart: always
+ volumes:
+ - ./appdata/nextcloud/html:/var/www/html
+ - /mnt/storage:/truenas
+ - /etc/localtime:/etc/localtime:ro
+
+ nextcloud-mariadb:
+ container_name: nextcloud-mariadb
+ hostname: nextcloud-mariadb
+ image: mariadb:latest
+ environment:
+ - MYSQL_ROOT_PASSWORD=nextcloud
+ - MYSQL_PASSWORD=nextcloud
+ - MYSQL_DATABASE=nextcloud
+ - MYSQL_USER=nextcloud
+ expose:
+ - 3306/tcp
+ restart: always
+ volumes:
+ - ./appdata/nextcloud-mariadb/mysql:/var/lib/mysql
+ - /etc/localtime:/etc/localtime:ro
diff --git a/files/docker/individual-docker-compose-files/nginx-proxy-manager-docker-compose.yml b/files/docker/individual-docker-compose-files/nginx-proxy-manager-docker-compose.yml
new file mode 100644
index 0000000..66be778
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/nginx-proxy-manager-docker-compose.yml
@@ -0,0 +1,19 @@
+version: '3'
+
+services:
+ nginxproxymanager:
+ container_name: nginxproxymanager
+ hostname: nginxproxymanager
+ image: jc21/nginx-proxy-manager:latest
+ environment:
+ - X_FRAME_OPTIONS=sameorigin
+ - DB_SQLITE_FILE=/data/database.sqlite
+ ports:
+ - 443:443/tcp
+ - 80:80/tcp
+ - 81:81/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/nginxproxymanager/data:/data
+ - /docker/appdata/nginxproxymanager/letsencrypt:/etc/letsencrypt
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/nginx-proxy-manager-mariadb-docker-compose.yml b/files/docker/individual-docker-compose-files/nginx-proxy-manager-mariadb-docker-compose.yml
new file mode 100644
index 0000000..751df68
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/nginx-proxy-manager-mariadb-docker-compose.yml
@@ -0,0 +1,38 @@
+version: '3'
+
+services:
+ nginxproxymanager:
+ container_name: nginxproxymanager
+ hostname: nginxproxymanager
+ image: jc21/nginx-proxy-manager:2.9.4
+ environment:
+ - X_FRAME_OPTIONS=sameorigin
+ - DB_MYSQL_HOST=npmdb
+ - DB_MYSQL_PORT=3306
+ - DB_MYSQL_USER=npm
+ - DB_MYSQL_PASSWORD=npm
+ - DB_MYSQL_NAME=npm
+ ports:
+ - 443:443/tcp
+ - 80:80/tcp
+ - 81:81/tcp
+ restart: always
+ depends_on:
+ - npmdb
+ volumes:
+ - /docker/appdata/npm/data:/data
+ - /docker/appdata/npm/letsencrypt:/etc/letsencrypt
+ - /etc/localtime:/etc/localtime:ro
+
+ npmdb:
+ container_name: npmdb
+ hostname: npmdb
+ image: jc21/mariadb-aria:latest
+ restart: always
+ environment:
+ - MYSQL_ROOT_PASSWORD=npm
+ - MYSQL_DATABASE=npm
+ - MYSQL_USER=npm
+ - MYSQL_PASSWORD=npm
+ volumes:
+ - /docker/appdata/npm/mysql:/var/lib/mysql
diff --git a/files/docker/individual-docker-compose-files/nginxwebdav-docker-compose.yml b/files/docker/individual-docker-compose-files/nginxwebdav-docker-compose.yml
new file mode 100644
index 0000000..1c4008d
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/nginxwebdav-docker-compose.yml
@@ -0,0 +1,18 @@
+ nginxwebdav:
+ container_name: nginxwebdav
+ hostname: nginxwebdav
+ image: dgraziotin/nginx-webdav-nononsense
+ environment:
+ - PUID=0
+ - PGID=0
+ - TZ=$TZ
+ - SERVER_NAMES=localhost,192.168.1.32,webdav.akanealw.com
+ - TIMEOUTS_S=1200
+ - CLIENT_MAX_BODY_SIZE=120M
+ ports:
+ - 32080:80
+ restart: always
+ volumes:
+ - ./appdata/nginxwebdav/.htpasswd:/etc/nginx/htpasswd
+ - ./appdata/nginxwebdav/config:/config
+ - /mnt/data/bookmarks:/data
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/airsonic-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/airsonic-docker-compose.yml
new file mode 100644
index 0000000..4159a77
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/airsonic-docker-compose.yml
@@ -0,0 +1,18 @@
+version: '3'
+
+services:
+ airsonic:
+ container_name: airsonic
+ hostname: airsonic
+ image: binhex/arch-airsonic:latest
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - UMASK=000
+ ports:
+ - 4040:4040/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/airsonic:/config
+ - /mnt/music:/media
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/delugevpn/WebAPI-0.4.0-py3.8.egg b/files/docker/individual-docker-compose-files/notused/delugevpn/WebAPI-0.4.0-py3.8.egg
new file mode 100644
index 0000000..e0a9f21
Binary files /dev/null and b/files/docker/individual-docker-compose-files/notused/delugevpn/WebAPI-0.4.0-py3.8.egg differ
diff --git a/files/docker/individual-docker-compose-files/notused/delugevpn/delugevpn-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/delugevpn/delugevpn-docker-compose.yml
new file mode 100644
index 0000000..ef4d24e
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/delugevpn/delugevpn-docker-compose.yml
@@ -0,0 +1,34 @@
+version: '3'
+
+services:
+ delugevpn:
+ container_name: delugevpn
+ hostname: delugevpn
+ image: binhex/arch-delugevpn
+ environment:
+ - ENABLE_PRIVOXY=no
+ - LAN_NETWORK=192.168.1.0/24
+ - NAME_SERVERS=209.222.18.222,84.200.69.80,37.235.1.174,1.1.1.1,209.222.18.218,37.235.1.177,84.200.70.40,1.0.0.1
+ - PGID=0
+ - PUID=0
+ - TZ=America/Chicago
+ - VPN_ENABLED=yes
+ - VPN_PROV=airvpn
+ - VPN_CLIENT=openvpn
+ - DELUGE_DAEMON_LOG_LEVEL=info
+ - DELUGE_WEB_LOG_LEVEL=info
+ - UMASK=000
+ cap_add:
+ - NET_ADMIN
+ ports:
+ - 58846:58846/tcp
+ - 46640:46640/tcp
+ - 8112:8112/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/delugevpn:/config
+ - /docker/appdata/delugevpn/data:/data
+ - /docker/appdata/delugevpn/openvpn:/config/openvpn
+ - /mnt/downloads:/downloads
+ - /mnt/torrents:/torrents
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/docker-updater-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/docker-updater-docker-compose.yml
new file mode 100644
index 0000000..f2891ce
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/docker-updater-docker-compose.yml
@@ -0,0 +1,11 @@
+version: '3'
+
+services:
+ docker-updater:
+ container_name: docker-updater
+ hostname: docker-updater
+ image: dockupdater/dockupdater:latest
+ restart: always
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/grafana-stack/grafana-stack-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/grafana-stack/grafana-stack-docker-compose.yml
new file mode 100644
index 0000000..680a622
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/grafana-stack/grafana-stack-docker-compose.yml
@@ -0,0 +1,48 @@
+version: '3.3'
+
+services:
+ influxdb:
+ container_name: influxdb
+ hostname: influxdb
+ image: influxdb:1.8.1
+ environment:
+ - INFLUXDB_DB=telegraf
+ ports:
+ - 8086:8086
+ restart: always
+ volumes:
+ - /docker/appdata/influxdb/data:/var/lib/influxdb
+ logging:
+ driver: "journald"
+
+ grafana:
+ container_name: grafana
+ hostname: grafana
+ image: grafana/grafana:7.1.3
+ user: "1000"
+ ports:
+ - 3000:3000
+ restart: always
+ depends_on:
+ - influxdb
+ volumes:
+ - /docker/appdata/grafana/data:/var/lib/grafana
+ - /docker/appdata/grafana/config/provisioning:/etc/grafana/provisioning
+ - /docker/appdata/grafana/config/dashboards:/var/lib/grafana/dashboards
+ logging:
+ driver: "journald"
+
+ loki:
+ container_name: loki
+ hostname: loki
+ image: grafana/loki:1.6.0
+ user: "1000"
+ ports:
+ - 3100:3100
+ command: -config.file=/etc/loki/local-config.yaml
+ restart: always
+ volumes:
+ - /docker/appdata/loki/config/loki-config.yaml:/etc/loki/local-config.yaml
+ - /docker/appdata/loki/data:/loki
+ logging:
+ driver: "journald"
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/guacamole-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/guacamole-docker-compose.yml
new file mode 100644
index 0000000..cb21fa7
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/guacamole-docker-compose.yml
@@ -0,0 +1,15 @@
+version: '3'
+
+services:
+ guacamole:
+ container_name: guacamole
+ hostname: guacamole
+ image: oznu/guacamole
+ environment:
+ - TZ=America/Chicago
+ ports:
+ - 8082:8080/tcp
+ restart: always
+ volumes:
+ - /mnt/docker/appdata/guacamole/config:/config
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/kitana-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/kitana-docker-compose.yml
new file mode 100644
index 0000000..4f403f9
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/kitana-docker-compose.yml
@@ -0,0 +1,13 @@
+version: '3'
+
+services:
+ kitana:
+ container_name: kitana
+ hostname: kitana
+ image: pannal/kitana:latest
+ ports:
+ - 31337:31337/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/kitana/data:/app/data
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/ombi-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/ombi-docker-compose.yml
new file mode 100644
index 0000000..9a366d4
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/ombi-docker-compose.yml
@@ -0,0 +1,17 @@
+version: '3'
+
+services:
+ ombi:
+ container_name: ombi
+ hostname: ombi
+ image: linuxserver/ombi:latest
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ ports:
+ - 3579:3579/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/ombi/config:/config
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/ouroboros-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/ouroboros-docker-compose.yml
new file mode 100644
index 0000000..f0ac518
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/ouroboros-docker-compose.yml
@@ -0,0 +1,18 @@
+version: '3'
+
+services:
+ ouroboros:
+ container_name: ouroboros
+ hostname: ouroboros
+ image: pyouroboros/ouroboros
+ environment:
+ - CLEANUP=true
+ - 'CRON=0 4 * * *'
+ - INTERVAL=300
+ - LOG_LEVEL=info
+ - SELF_UPDATE=true
+ - TZ=America/Chicago
+ restart: always
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/plex-db-sync-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/plex-db-sync-docker-compose.yml
new file mode 100644
index 0000000..42f7d82
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/plex-db-sync-docker-compose.yml
@@ -0,0 +1,31 @@
+version: '3'
+
+services:
+ plex-db-sync:
+ container_name: plex-db-sync
+ hostname: plexdbsync
+ image: nowsci/plex-db-sync
+ environment:
+ - CRON=0 4 * * *
+ - S1_SSH_KEY=/sshkey/dockerserver-03.pds
+ - S1_SSH_USER=akanealw
+ - S1_SSH_HOST=192.168.1.33
+ - S1_SSH_PORT=22
+ - S1_SSH_PATH=""/docker/appdata/plex/Library/Application Support/Plex Media Server/Plug-in Support/Databases/""
+ - S1_START=ssh -oStrictHostKeyChecking=no -i /sshkey/dockerserver-03.pds akanealw@192.168.1.33 'cd /docker/compose; sudo docker start plex'
+ - S1_STOP=ssh -oStrictHostKeyChecking=no -i /sshkey/dockerserver-03.pds akanealw@192.168.1.33 'cd /docker/compose; sudo docker stop plex'
+ - S2_DB_PATH=/mnt/DB2
+ - S2_START=cd /docker/compose; sudo docker start plex
+ - S2_STOP=cd /docker/compose; sudo docker stop plex
+ - INITIALRUN=false
+ cap_add:
+ - SYS_ADMIN
+ devices:
+ - /dev/fuse
+ security_opt:
+ - apparmor:unconfined
+ restart: always
+ volumes:
+ - /docker/appdata/plex-db-sync/sshkey:/sshkey
+ - /docker/appdata/plex/Library/Application Support/Plex Media Server/Plug-in Support/Databases:/mnt/DB2
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/rssbridge-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/rssbridge-docker-compose.yml
new file mode 100644
index 0000000..ad38dc6
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/rssbridge-docker-compose.yml
@@ -0,0 +1,12 @@
+version: '2'
+services:
+ rssbridge:
+ container_name: rssbridge
+ hostname: rssbridge
+ image: rssbridge/rss-bridge:latest
+ ports:
+ - 3001:80/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/rssbridge/whitelist.txt:/app/whitelist.txt
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/sslh-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/sslh-docker-compose.yml
new file mode 100644
index 0000000..f0bfc3a
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/sslh-docker-compose.yml
@@ -0,0 +1,18 @@
+version: '3'
+services:
+ sslh:
+ container_name: sslh
+ hostname: sslh
+ image: oorabona/sslh:latest
+ environment:
+ SSH_HOST: 192.168.1.31
+ SSH_PORT: 2222
+ OPENVPN_HOST: 192.168.1.31
+ OPENVPN_PORT: 1194
+ HTTPS_HOST: 192.168.1.32
+ HTTPS_PORT: 8443
+ command:
+ - -f
+ ports:
+ - 0.0.0.0:443:443
+ restart: always
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/tdarr-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/tdarr-docker-compose.yml
new file mode 100644
index 0000000..c7d6cb1
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/tdarr-docker-compose.yml
@@ -0,0 +1,64 @@
+version: '3'
+
+services:
+ tdarr-node-02:
+ container_name: tdarr-node-02
+ hostname: tdarr-node-02
+ image: haveagitgat/tdarr_node:v2-preview
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ - nodeID=node-02-dockerserver-02
+ - nodeIP=192.168.1.32
+ - nodePort=8267
+ - serverIP=192.168.1.32
+ - serverPort=8266
+ ports:
+ - 8267:8267/tcp
+ restart: unless-stopped
+ volumes:
+ - /mnt/movies:/mnt/movies
+ - /mnt/tvshows:/mnt/tvshows
+ - /mnt/tvshows2:/mnt/tvshows2
+ - /mnt/vods:/mnt/vods
+ - /mnt/tvshowstranscode:/mnt/tvhsowstranscode
+ - /mnt/tvshows2transcode:/mnt/tvshows2transcode
+ - /mnt/moviestranscode:/mnt/moviestranscode
+ - /mnt/vodstranscode:/mnt/vodstranscode
+ - /mnt/downloads/complete:/mnt/input
+ - /mnt/downloads/converted:/mnt/output
+ - /mnt/downloads/transcode:/mnt/inputtranscode
+ - /docker/appdata/tdarr/node-02:/app/node
+ - /etc/localtime:/etc/localtime:ro
+
+ tdarr-server:
+ container_name: tdarr-server
+ hostname: tdarr-server
+ image: haveagitgat/tdarr:v2-preview
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ - serverIP=192.168.1.32
+ - webUIPort=8265
+ - serverPort=8266
+ ports:
+ - 8265:8265/tcp
+ - 8266:8266/tcp
+ restart: unless-stopped
+ volumes:
+ - /mnt/movies:/mnt/movies
+ - /mnt/tvshows:/mnt/tvshows
+ - /mnt/tvshows2:/mnt/tvshows2
+ - /mnt/vods:/mnt/vods
+ - /mnt/tvshowstranscode:/mnt/tvhsowstranscode
+ - /mnt/tvshows2transcode:/mnt/tvshows2transcode
+ - /mnt/moviestranscode:/mnt/moviestranscode
+ - /mnt/vodstranscode:/mnt/vodstranscode
+ - /mnt/downloads/complete:/mnt/input
+ - /mnt/downloads/converted:/mnt/output
+ - /mnt/downloads/transcode:/mnt/inputtranscode
+ - /docker/appdata/tdarr/server:/app/server
+ - /etc/localtime:/etc/localtime:ro
+
diff --git a/files/docker/individual-docker-compose-files/notused/watchtower-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/watchtower-docker-compose.yml
new file mode 100644
index 0000000..9de3daf
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/watchtower-docker-compose.yml
@@ -0,0 +1,13 @@
+version: '3'
+
+services:
+ watchtower:
+ container_name: watchtower
+ hostname: watchtower
+ image: containrrr/watchtower:latest
+ environment:
+ - WATCHTOWER_CLEANUP=TRUE
+ restart: always
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/notused/youtubedl-material-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/youtubedl-material-docker-compose.yml
new file mode 100644
index 0000000..da2df96
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/notused/youtubedl-material-docker-compose.yml
@@ -0,0 +1,22 @@
+version: '3'
+
+services:
+ youtubedl-material:
+ container_name: youtubedl-material
+ hostname: youtubedl-material
+ image: tzahi12345/youtubedl-material
+ environment:
+ - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ - UID=1000
+ - GID=1000
+ - USER=youtube
+ ports:
+ - 8998:17442/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/youtubedl/appdata:/app/appdata
+ - /docker/appdata/youtubedl/subscriptions:/app/subscriptions
+ - /docker/appdata/youtubedl/users:/app/users
+ - /mnt/downloads/youtubedl:/app/audio
+ - /mnt/downloads/youtubedl:/app/video
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/nzbhydra2-docker-compose.yml b/files/docker/individual-docker-compose-files/nzbhydra2-docker-compose.yml
new file mode 100644
index 0000000..0b8c629
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/nzbhydra2-docker-compose.yml
@@ -0,0 +1,20 @@
+version: '3'
+
+services:
+ nzbhydra2:
+ container_name: nzbhydra2
+ hostname: nzbhydra2
+ image: binhex/arch-nzbhydra2
+ environment:
+ - PGID=1000
+ - PUID=1000
+ - UMASK=000
+ ports:
+ - 5076:5076/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/nzbhydra2/data:/data
+ - /docker/appdata/nzbhydra2:/config
+ - /mnt/nzbs:/nzbs
+ - /mnt/torrents:/torrents
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/openvpn-docker-compose.yml b/files/docker/individual-docker-compose-files/openvpn-docker-compose.yml
new file mode 100644
index 0000000..ef8e2e6
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/openvpn-docker-compose.yml
@@ -0,0 +1,12 @@
+version: '2'
+services:
+ openvpn:
+ cap_add:
+ - NET_ADMIN
+ image: kylemanna/openvpn
+ container_name: openvpn
+ ports:
+ - 1194:1194/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/openvpn/conf:/etc/openvpn
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/organizr-docker-compose.yml b/files/docker/individual-docker-compose-files/organizr-docker-compose.yml
new file mode 100644
index 0000000..3202a41
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/organizr-docker-compose.yml
@@ -0,0 +1,17 @@
+version: '3'
+
+services:
+ organizr:
+ container_name: organizr
+ hostname: organizr
+ image: organizr/organizr
+ environment:
+ - PGID=1000
+ - PUID=1000
+ - FPM=false
+ ports:
+ - 8083:80/tcp
+ restart: always
+ volumes:
+ - /mnt/docker/appdata/organizr/config:/config
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/overseerr-docker-compose.yml b/files/docker/individual-docker-compose-files/overseerr-docker-compose.yml
new file mode 100644
index 0000000..a9a5152
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/overseerr-docker-compose.yml
@@ -0,0 +1,16 @@
+version: '3'
+
+services:
+ overseerr:
+ container_name: overseerr
+ hostname: overseerr
+ image: sctx/overseerr
+ environment:
+ - LOG_LEVEL=info
+ - TZ=America/Chicago
+ ports:
+ - 5055:5055
+ restart: always
+ volumes:
+ - /docker/appdata/overseerr/config:/app/config
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/pihole-unbound/.env b/files/docker/individual-docker-compose-files/pihole-unbound/.env
new file mode 100644
index 0000000..dec5451
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/pihole-unbound/.env
@@ -0,0 +1,11 @@
+#PIHOLE
+FTLCONF_LOCAL_IPV4=192.168.1.30
+REV_SERVER=false
+REV_SERVER_DOMAIN=
+REV_SERVER_TARGET=
+REV_SERVER_CIDR=
+HOSTNAME=pihole
+DOMAIN_NAME=pihole.local
+PIHOLE_WEBPORT=8000
+WEBTHEME=default-dark
+WEBPASSWORD=8PVkCY4FbyKWEACiG22^
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/pihole-unbound/pihole-unbound-docker-compose.yml b/files/docker/individual-docker-compose-files/pihole-unbound/pihole-unbound-docker-compose.yml
new file mode 100644
index 0000000..5813da6
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/pihole-unbound/pihole-unbound-docker-compose.yml
@@ -0,0 +1,28 @@
+version: '3'
+
+services:
+ pihole:
+ container_name: pihole
+ image: cbcrowe/pihole-unbound:latest
+ hostname: ${HOSTNAME}
+ domainname: ${DOMAIN_NAME}
+ environment:
+ - FTLCONF_LOCAL_IPV4=${FTLCONF_LOCAL_IPV4}
+ - TZ=${TZ}
+ - WEBPASSWORD=${WEBPASSWORD}
+ - WEBTHEME=${WEBTHEME:-default-dark}
+ - REV_SERVER=${REV_SERVER:-false}
+ - REV_SERVER_TARGET=${REV_SERVER_TARGET}
+ - REV_SERVER_DOMAIN=${REV_SERVER_DOMAIN}
+ - REV_SERVER_CIDR=${REV_SERVER_CIDR}
+ - PIHOLE_DNS_=127.0.0.1#5335
+ - DNSSEC="true"
+ - DNSMASQ_LISTENING=single
+ ports:
+ - 53:53/tcp
+ - 53:53/udp
+ - 8000:80/tcp
+ restart: always
+ volumes:
+ - ${DOCKERCONFIGS}/pihole/unbound:/etc/pihole:rw
+ - ${DOCKERCONFIGS}/pihole/dnsmasq-unbound:/etc/dnsmasq.d:rw
diff --git a/files/docker/individual-docker-compose-files/plex-docker-compose.yml b/files/docker/individual-docker-compose-files/plex-docker-compose.yml
new file mode 100644
index 0000000..80308dc
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/plex-docker-compose.yml
@@ -0,0 +1,18 @@
+ plex:
+ container_name: plex
+ hostname: plex
+ image: lscr.io/linuxserver/plex:latest
+ environment:
+ - PUID=$PUID
+ - PGID=$PGID
+ - VERSION=docker
+ - PLEX_CLAIM=claim-XkD2rruFZdzs4i-epJVB
+ ports:
+ - 32400:32400
+ restart: always
+ volumes:
+ - ./appdata/plex:/config
+ - /mnt/movies:/movies
+ - /mnt/music:/music
+ - /mnt/tvshows:/tvshows
+ - /mnt/vods:/vods
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose-with-secret.yml b/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose-with-secret.yml
new file mode 100644
index 0000000..e5b80a4
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose-with-secret.yml
@@ -0,0 +1,16 @@
+version: '3'
+
+services:
+ portainer-agent:
+ container_name: portainer-agent
+ hostname: portainer-agent
+ image: portainer/agent
+ environment:
+ - AGENT_SECRET=8ung1e1!
+ ports:
+ - 9001:9001/tcp
+ restart: always
+ volumes:
+ - /var/lib/docker/volumes:/var/lib/docker/volumes
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose.yml b/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose.yml
new file mode 100644
index 0000000..5d9a668
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose.yml
@@ -0,0 +1,14 @@
+version: '3'
+
+services:
+ portainer-agent:
+ container_name: portainer-agent
+ hostname: portainer-agent
+ image: portainer/agent:latest
+ ports:
+ - 9001:9001/tcp
+ restart: always
+ volumes:
+ - /var/lib/docker/volumes:/var/lib/docker/volumes
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose-with-secret.yml b/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose-with-secret.yml
new file mode 100644
index 0000000..fb6ce5e
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose-with-secret.yml
@@ -0,0 +1,30 @@
+version: '3'
+
+services:
+ portainer:
+ container_name: portainer
+ hostname: DockerServer-04
+ image: portainer/portainer-ce
+ environment:
+ - AGENT_SECRET=8ung1e1!
+ ports:
+ - 9000:9000/tcp
+ restart: always
+ volumes:
+ - /mnt/data/docker/appdata/portainer/data:/data
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
+
+ portainer-agent:
+ container_name: portainer-agent
+ hostname: portainer-agent
+ image: portainer/agent
+ environment:
+ - AGENT_SECRET=8ung1e1!
+ ports:
+ - 9001:9001/tcp
+ restart: always
+ volumes:
+ - /var/lib/docker/volumes:/var/lib/docker/volumes
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose.yml b/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose.yml
new file mode 100644
index 0000000..888b936
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose.yml
@@ -0,0 +1,26 @@
+version: '3'
+
+services:
+ portainer:
+ container_name: portainer
+ hostname: DockerServer-04
+ image: portainer/portainer-ce
+ ports:
+ - 9000:9000/tcp
+ restart: always
+ volumes:
+ - /mnt/data/docker/appdata/portainer/data:/data
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
+
+ portainer-agent:
+ container_name: portainer-agent
+ hostname: portainer-agent
+ image: portainer/agent:latest
+ ports:
+ - 9001:9001/tcp
+ restart: always
+ volumes:
+ - /var/lib/docker/volumes:/var/lib/docker/volumes
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-standalone-install-command.txt b/files/docker/individual-docker-compose-files/portainer/portainer-standalone-install-command.txt
new file mode 100644
index 0000000..00c4f7d
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/portainer/portainer-standalone-install-command.txt
@@ -0,0 +1 @@
+docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -e AGENT_SECRET=8ung1e1! -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/data/docker/appdata/portainer/data:/data portainer/portainer-ce
diff --git a/files/docker/individual-docker-compose-files/privoxyvpn-docker-compose.yml b/files/docker/individual-docker-compose-files/privoxyvpn-docker-compose.yml
new file mode 100644
index 0000000..d4e31b6
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/privoxyvpn-docker-compose.yml
@@ -0,0 +1,30 @@
+version: '3'
+
+services:
+ privoxyvpn:
+ container_name: privoxyvpn
+ hostname: privoxyvpn
+ image: binhex/arch-privoxyvpn
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - UMASK=000
+ - VPN_ENABLED=yes
+ - VPN_PROV=airvpn
+ - VPN_CLIENT=openvpn
+ - LAN_NETWORK=192.168.1.0/24
+ - NAME_SERVERS=209.222.18.222,84.200.69.80,37.235.1.174,1.1.1.1,209.222.18.218,37.235.1.177,84.200.70.40,1.0.0.1
+ - ENABLE_SOCKS=yes
+ - ENABLE_PRIVOXY=yes
+ - DEBUG=true
+ - SOCKS_USER=akanealw
+ - SOCKS_PASS=N^k6vK!ocKLDa%iHb7Ag
+ cap_add:
+ - NET_ADMIN
+ ports:
+ - 8118:8118/tcp
+ - 9118:9118/tcp
+ restart: always
+ volumes:
+ - /mnt/docker/appdata/privoxyvpn/config:/config
+ - /etc/localtime:/etc/localtime:ro
diff --git a/files/docker/individual-docker-compose-files/prowlarr-docker-compose.yml b/files/docker/individual-docker-compose-files/prowlarr-docker-compose.yml
new file mode 100644
index 0000000..8f9ef8a
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/prowlarr-docker-compose.yml
@@ -0,0 +1,15 @@
+version: '3'
+services:
+ prowlarr:
+ container_name: prowlarr
+ hostname: prowlarr
+ image: ghcr.io/linuxserver/prowlarr:develop
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ ports:
+ - 9696:9696
+ restart: always
+ volumes:
+ - /docker/appdata/prowlarr/config:/config
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/qbittorrentvpn-docker-compose.yml b/files/docker/individual-docker-compose-files/qbittorrentvpn-docker-compose.yml
new file mode 100644
index 0000000..766922e
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/qbittorrentvpn-docker-compose.yml
@@ -0,0 +1,32 @@
+version: '3'
+
+services:
+ qbittorrentvpn:
+ container_name: qbittorrentvpn
+ hostname: qbittorrentvpn
+ image: binhex/arch-qbittorrentvpn:latest
+ environment:
+ - ENABLE_PRIVOXY=no
+ - LAN_NETWORK=192.168.1.0/24
+ - NAME_SERVERS=.1.1.1,8.8.8.8,1.0.0.1,8.8.4.4,9.9.9.9
+ - PGID=0
+ - PUID=0
+ - TZ=$TZ
+ - VPN_ENABLED=yes
+ - VPN_PROV=custom
+ - VPN_CLIENT=wireguard
+ - WEBUI_PORT=8282
+ - UMASK=$UMASK
+ privileged: true
+ sysctls:
+ - net.ipv4.conf.all.src_valid_mark=1
+ ports:
+ - 58483:58483/tcp
+ - 8282:8282/tcp
+ restart: always
+ volumes:
+ - ./appdata/qbittorrentvpn:/config
+ - ./appdata/qbittorrentvpn/openvpn:/config/openvpn
+ - /mnt/data:/data
+ - /mnt/data/downloads/torrents:/torrents
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/sabnzbdvpn-docker-compose.yml b/files/docker/individual-docker-compose-files/sabnzbdvpn-docker-compose.yml
new file mode 100644
index 0000000..a744eaa
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/sabnzbdvpn-docker-compose.yml
@@ -0,0 +1,31 @@
+version: '3'
+
+services:
+ sabnzbdvpn:
+ container_name: sabnzbdvpn
+ hostname: sabnzbdvpn
+ image: binhex/arch-sabnzbdvpn:3.6.1-1-03
+ environment:
+ - ENABLE_PRIVOXY=no
+ - LAN_NETWORK=192.168.1.0/24
+ - NAME_SERVERS=1.1.1.1,8.8.8.8,1.0.0.1,8.8.4.4,9.9.9.9
+ - PGID=0
+ - PUID=0
+ - TZ=$TZ
+ - VPN_ENABLED=yes
+ - VPN_PROV=custom
+ - VPN_CLIENT=wireguard
+ - UMASK=$UMASK
+ privileged: true
+ sysctls:
+ - net.ipv4.conf.all.src_valid_mark=1
+ ports:
+ - 8181:8080/tcp
+ - 8191:8090/tcp
+ restart: always
+ volumes:
+ - ./appdata/sabnzbdvpn:/config
+ - ./appdata/sabnzbdvpn/openvpn:/config/openvpn
+ - /mnt/data:/data
+ - /mnt/data/downloads/nzbs:/nzbs
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/sshserver-docker-compose.yml b/files/docker/individual-docker-compose-files/sshserver-docker-compose.yml
new file mode 100644
index 0000000..89f7dc0
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/sshserver-docker-compose.yml
@@ -0,0 +1,18 @@
+version: "2.1"
+
+services:
+ openssh-server:
+ container_name: openssh-server
+ hostname: openssh-server
+ image: ghcr.io/linuxserver/openssh-server
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ - USER_NAME=akanealw
+ - PUBLIC_KEY_FILE=/etc/ssh/sshusers_authorized_keys
+ ports:
+ - 2222:2222
+ restart: always
+ volumes:
+ - /docker/appdata/openssh-server/config:/config
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/syncthing/URLs.txt b/files/docker/individual-docker-compose-files/syncthing/URLs.txt
new file mode 100644
index 0000000..71b6e1b
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/syncthing/URLs.txt
@@ -0,0 +1,5 @@
+tcp://0.0.0.0, quic://0.0.0.0, relay://137.184.207.232:22067/?id=HXGF73B-NNVNG26-FD4R75H-NCL3TOT-OQTTSW3-GV3GIEL-VOU6QAG-36RISAD
+https://137.184.207.232:22026/?id=HXGF73B-NNVNG26-FD4R75H-NCL3TOT-OQTTSW3-GV3GIEL-VOU6QAG-36RISAD
+
+tcp://0.0.0.0, quic://0.0.0.0, relay://akanealw.com:22067/?id=HXGF73B-NNVNG26-FD4R75H-NCL3TOT-OQTTSW3-GV3GIEL-VOU6QAG-36RISAD
+https://akanealw.com:22026/?id=HXGF73B-NNVNG26-FD4R75H-NCL3TOT-OQTTSW3-GV3GIEL-VOU6QAG-36RISAD
diff --git a/files/docker/individual-docker-compose-files/syncthing/syncthing-relay-discovery-docker-compose.yml b/files/docker/individual-docker-compose-files/syncthing/syncthing-relay-discovery-docker-compose.yml
new file mode 100644
index 0000000..4fe6d51
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/syncthing/syncthing-relay-discovery-docker-compose.yml
@@ -0,0 +1,28 @@
+version: '3'
+
+services:
+ syncthing-relay-discovery:
+ container_name: syncthing
+ image: t4skforce/syncthing-relay-discovery:latest
+ environment:
+ RELAY_OPTS: '-debug'
+ DISC_OPTS: '-debug -http'
+ POOLS:
+ ports:
+ - 22067:22067
+ - 22026:22026
+ restart: always
+ volumes:
+ - ./appdata/syncthing:/home/syncthing/certs
+
+ portainer:
+ container_name: portainer
+ image: portainer/portainer-ce
+ ports:
+ - 9000:9000/tcp
+ restart: always
+ volumes:
+ - ./appdata/portainer/data:/data
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
+
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/tautulli-docker-compose.yml b/files/docker/individual-docker-compose-files/tautulli-docker-compose.yml
new file mode 100644
index 0000000..77f0f47
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/tautulli-docker-compose.yml
@@ -0,0 +1,19 @@
+version: '3'
+
+services:
+ tautulli:
+ container_name: tautulli
+ hostname: tautulli
+ image: linuxserver/tautulli
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ ports:
+ - 8183:8181/tcp
+ restart: always
+ volumes:
+ - /docker/appdata/tautulli:/config
+ - /docker/appdata/tautulli/logs:/logs
+ - /mnt/plexlogs:/plexlogs
+ - /etc/localtime:/etc/localtime:ro
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/testing/debian-docker-run.txt b/files/docker/individual-docker-compose-files/testing/debian-docker-run.txt
new file mode 100644
index 0000000..2849f0f
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/debian-docker-run.txt
@@ -0,0 +1 @@
+docker run --name minideb --h minideb bitnami/minideb:latest exec -t /bin/bash
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/testing/debian-slim-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/debian-slim-docker-compose.yml
new file mode 100644
index 0000000..77eea63
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/debian-slim-docker-compose.yml
@@ -0,0 +1,11 @@
+version: '3'
+
+services:
+ debian-buster-slim:
+ image: debian:buster-slim
+ container_name: debian-buster-slim
+ hostname: debian-buster-slim
+ environment:
+ - TZ=America/Chicago
+ volumes:
+ - /docker/appdata/debian-buster-slim:/
diff --git a/files/docker/individual-docker-compose-files/testing/jellyfin-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/jellyfin-docker-compose.yml
new file mode 100644
index 0000000..64a4299
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/jellyfin-docker-compose.yml
@@ -0,0 +1,24 @@
+version: "2.1"
+services:
+ jellyfin:
+ image: ghcr.io/linuxserver/jellyfin
+ container_name: jellyfin
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ - JELLYFIN_PublishedServerUrl=192.168.1.33
+ ports:
+ - 8096:8096/tcp
+ - 8920:8920/tcp
+ - 7359:7359/udp
+ - 1900:1900/udp
+ restart: always
+ volumes:
+ - /docker/appdata/jellyfin/config:/config
+ - /mnt/tvshows:/data/tvshows
+ - /mnt/tvshows2:/data/tvshows2
+ - /mnt/movies:/data/movies
+ - /mnt/movies2:/data/movies2
+ - /mnt/vods:/data/vods
+ - /opt/vc/lib:/opt/vc/lib
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/testing/petio-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/petio-docker-compose.yml
new file mode 100644
index 0000000..f1d78e3
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/petio-docker-compose.yml
@@ -0,0 +1,26 @@
+version: '3'
+
+services:
+ petio:
+ image: ghcr.io/petio-team/petio:latest
+ container_name: 'petio'
+ hostname: petio
+ ports:
+ - '7777:7777'
+ user: '1000:1000'
+ depends_on:
+ - petio-mongodb
+ environment:
+ - TZ=America/Chicago
+ volumes:
+ - /docker/appdata/petio/config:/app/api/config
+ - /docker/appdata/petio/logs:/app/logs
+
+ petio-mongodb:
+ image: mongo:latest
+ container_name: 'petio-mongodb'
+ hostname: petio-mongodb
+ user: '1000:1000'
+ volumes:
+ - /docker/appdata/petio-mongodb/db:/data/db
+ - /docker/appdata/petio-mongodb/configdb:/data/configdb
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/testing/pihole-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/pihole-docker-compose.yml
new file mode 100644
index 0000000..ebce894
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/pihole-docker-compose.yml
@@ -0,0 +1,20 @@
+version: "3"
+
+services:
+ pihole:
+ container_name: pihole
+ image: pihole/pihole:latest
+ ports:
+ - "53:53/tcp"
+ - "53:53/udp"
+ - "80:80/tcp"
+ environment:
+ TZ: 'America/Chicago'
+ WEBPASSWORD: 'set a secure password here or it will be random'
+ # Volumes store your data between container upgrades
+ volumes:
+ - '/docker/appdata/pihole/etc-pihole/:/etc/pihole/'
+ - '/docker/appdata/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/'
+ # run `touch /docker/appdata/pihole/var-log/pihole.log` first unless you like errors
+ - '/docker/appdata/pihole/var-log/pihole.log:/var/log/pihole.log'
+ restart: unless-stopped
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/testing/seafile-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/seafile-docker-compose.yml
new file mode 100644
index 0000000..36a65da
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/seafile-docker-compose.yml
@@ -0,0 +1,38 @@
+version: "2"
+
+services:
+ seafile-mysql:
+ container_name: seafile-mysql
+ hostname: seafilemysql
+ image: mariadb:10.5
+ environment:
+ - MYSQL_ROOT_PASSWORD=8ung1e1!
+ - MYSQL_LOG_CONSOLE=true
+ volumes:
+ - /docker/appdata/seafile/seafile-mysql/db:/var/lib/mysql
+
+ memcached:
+ container_name: seafile-memcached
+ hostname: seafilememcached
+ image: memcached:1.5.6
+ entrypoint: memcached -m 256
+
+ seafile:
+ container_name: seafile
+ hostname: seafile
+ image: seafileltd/seafile-mc:latest
+ environment:
+ - DB_HOST=seafilemysql
+ - DB_ROOT_PASSWD=8ung1e1!
+ - TIME_ZONE=America/Chicago
+ - SEAFILE_ADMIN_EMAIL=akanealw@gmail.com
+ - SEAFILE_ADMIN_PASSWORD=8ung1e1!
+ - SEAFILE_SERVER_LETSENCRYPT=false
+ - SEAFILE_SERVER_HOSTNAME=seafile.akanealw.com
+ ports:
+ - "80:80"
+ depends_on:
+ - seafile-mysql
+ - memcached
+ volumes:
+ - /docker/appdata/seafile/seafile-data:/shared
diff --git a/files/docker/individual-docker-compose-files/testing/tubearchivist-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/tubearchivist-docker-compose.yml
new file mode 100644
index 0000000..b1cc6b7
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/tubearchivist-docker-compose.yml
@@ -0,0 +1,50 @@
+version: '3.3'
+
+services:
+ tubearchivist:
+ container_name: tubearchivist
+ hostname: tubearchivist
+ image: bbilly1/tubearchivist:latest
+ environment:
+ - ES_URL=http://archivist-es:9200
+ - REDIS_HOST=archivist-redis
+ - HOST_UID=1000
+ - HOST_GID=1000
+ depends_on:
+ - archivist-es
+ - archivist-redis
+ ports:
+ - 8000:8000
+ restart: always
+ volumes:
+ - /mnt/downloads/youtubedl:/youtube
+ - /docker/appdata/tubearchivist/cache:/cache
+
+ archivist-redis:
+ container_name: archivist-redis
+ hostname: archivist-redis
+ image: redislabs/rejson:latest
+ depends_on:
+ - archivist-es
+ ports:
+ - 6379:6379
+ restart: always
+ volumes:
+ - /docker/appdata/tubearchivist/redis:/data
+
+ archivist-es:
+ container_name: archivist-es
+ hostname: archivist-es
+ image: docker.elastic.co/elasticsearch/elasticsearch:7.15.1
+ environment:
+ - "discovery.type=single-node"
+ - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+ ulimits:
+ memlock:
+ soft: -1
+ hard: -1
+ ports:
+ - 9200:9200
+ restart: always
+ volumes:
+ - /docker/appdata/tubearchivist/es:/usr/share/elasticsearch/data
diff --git a/files/docker/individual-docker-compose-files/testing/ubooquity-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/ubooquity-docker-compose.yml
new file mode 100644
index 0000000..6114fd6
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/ubooquity-docker-compose.yml
@@ -0,0 +1,20 @@
+version: "2.1"
+services:
+ ubooquity:
+ container_name: ubooquity
+ hostname: ubooquity
+ image: ghcr.io/linuxserver/ubooquity
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ - MAXMEM=512
+ ports:
+ - 2202:2202
+ - 2203:2203
+ restart: always
+ volumes:
+ - /docker/appdata/ubooquity/config:/config
+ - /mnt/mediaserver/onedrive/ebooks:/books
+ - /mnt/mediaserver/onedrive/comicsandmanga:/comics
+ - /mnt/mediaserver/onedrive:/files
diff --git a/files/docker/individual-docker-compose-files/testing/wg-easy-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/wg-easy-docker-compose.yml
new file mode 100644
index 0000000..ba25db5
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/wg-easy-docker-compose.yml
@@ -0,0 +1,27 @@
+version: "3.3"
+
+services:
+ wg-easy:
+ container_name: wg-easy
+ hostname: wg-easy
+ image: weejewel/wg-easy
+ environment:
+ - WG_HOST=dockerserver-03.ad.akanealw.com
+ - PASSWORD=foobar123
+ - WG_PORT=51820
+ - WG_DEFAULT_ADDRESS=10.0.0.x
+ - WG_DEFAULT_DNS=1.1.1.1
+ - WG_MTU=1420
+ - WG_ALLOWED_IPS=192.168.1.0/24
+ cap_add:
+ - NET_ADMIN
+ - SYS_MODULE
+ sysctls:
+ - net.ipv4.ip_forward=1
+ - net.ipv4.conf.all.src_valid_mark=1
+ ports:
+ - "51820:51820/udp"
+ - "51821:51821/tcp"
+ restart: always
+ volumes:
+ - ./appdata/wgeasy:/etc/wireguard
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/testing/wireguard-server-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/wireguard-server-docker-compose.yml
new file mode 100644
index 0000000..ae9c775
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/testing/wireguard-server-docker-compose.yml
@@ -0,0 +1,56 @@
+version: "2.1"
+
+services:
+ wireguard:
+ container_name: wireguard
+ hostname: wireguard
+ image: lscr.io/linuxserver/wireguard
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ - SERVERURL=wg.aknlw.com #optional
+ - SERVERPORT=51820 #optional
+ - PEERS=3 #optional
+ - PEERDNS=auto #optional
+ - INTERNAL_SUBNET=10.13.13.0 #optional
+ - ALLOWEDIPS=0.0.0.0/0 #optional
+ cap_add:
+ - NET_ADMIN
+ - SYS_MODULE
+ ports:
+ - 51820:51820/udp
+ sysctls:
+ - net.ipv4.conf.all.src_valid_mark=1
+ restart: always
+ volumes:
+ - /docker/appdata/wireguard/config:/config
+ - /lib/modules:/lib/modules
+
+
+ wireguard2:
+ container_name: wireguard2
+ hostname: wireguard2
+ image: lscr.io/linuxserver/wireguard
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=America/Chicago
+ - SERVERURL=wg.aknlw.com
+ - SERVERPORT=51820
+ - PEERS=GamingPC,LaptopPC,LGV30S
+ - INTERNAL_SUBNET=192.168.0.0
+ - ALLOWEDIPS=192.168.0.0/23
+ cap_add:
+ - NET_ADMIN
+ - SYS_MODULE
+ ports:
+ - 51820:51820/udp
+ dns:
+ - 192.168.1.2
+ sysctls:
+ - net.ipv4.conf.all.src_valid_mark=1
+ restart: always
+ volumes:
+ - /docker/appdata/wireguard/config:/config
+ - /lib/modules:/lib/modules
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/trilium-docker-compose.yml b/files/docker/individual-docker-compose-files/trilium-docker-compose.yml
new file mode 100644
index 0000000..d3befb0
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/trilium-docker-compose.yml
@@ -0,0 +1,11 @@
+ trilium:
+ container_name: trilium
+ hostname: trilium
+ image: zadam/trilium
+ environment:
+ - TRILIUM_DATA_DIR=/home/node/trilium-data
+ ports:
+ - "8080:8080"
+ restart: always
+ volumes:
+ - ./appdata/trilium:/home/node/trilium-data
\ No newline at end of file
diff --git a/files/docker/individual-docker-compose-files/webdav-nginx-compose.yml b/files/docker/individual-docker-compose-files/webdav-nginx-compose.yml
new file mode 100644
index 0000000..33efeaf
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/webdav-nginx-compose.yml
@@ -0,0 +1,18 @@
+version: '3.3'
+services:
+ nginxwebdav:
+ container_name: nginxwebdav
+ image: dgraziotin/nginx-webdav-nononsense
+ environment:
+ - PUID=${PUID}
+ - PGID=${PGID}
+ - TZ=${TZ}
+ - WEBDAV_USERNAME=akanealw
+ - WEBDAV_PASSWORD=REBHv599XdhU4VScXXq7
+ - SERVER_NAMES=localhost,192.168.1.33,webdav.akanealw.com
+ - TIMEOUTS_S=1200 # these are seconds
+ - CLIENT_MAX_BODY_SIZE=120M # must end with M(egabytes) or G(igabytes)
+ ports:
+ - 32080:80
+ volumes:
+ - ${DOCKERCONFIGS}/webdav:/data
diff --git a/files/docker/individual-docker-compose-files/xbrowsersync/settings.json b/files/docker/individual-docker-compose-files/xbrowsersync/settings.json
new file mode 100644
index 0000000..c7dad41
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/xbrowsersync/settings.json
@@ -0,0 +1,5 @@
+{
+ "db": {
+ "host": "xbs-mongodb"
+ }
+}
diff --git a/files/docker/individual-docker-compose-files/xbrowsersync/xbrowsersync-docker-compose.yml b/files/docker/individual-docker-compose-files/xbrowsersync/xbrowsersync-docker-compose.yml
new file mode 100644
index 0000000..8d89470
--- /dev/null
+++ b/files/docker/individual-docker-compose-files/xbrowsersync/xbrowsersync-docker-compose.yml
@@ -0,0 +1,32 @@
+version: '3'
+
+services:
+ xbs-mongodb:
+ container_name: xbs-mongodb
+ hostname: xbs-mongodb
+ image: mongo:4.2.0
+ environment:
+ - MONGO_INITDB_DATABASE=xbrowsersync
+ - MONGO_INITDB_ROOT_PASSWORD=xbsmongodb
+ - MONGO_INITDB_ROOT_USERNAME=xbsmongodb
+ restart: always
+ volumes:
+ - /docker/appdata/xbs-mongodb/data/db:/data/db
+ - /docker/appdata/xbs-mongodb/data/configdb:/data/configdb
+ - /docker/appdata/xbs-mongodb/mongoconfig.js:/docker-entrypoint-initdb.d/mongoconfig.js
+
+ xbs-api:
+ container_name: xbs-api
+ hostname: xbs-api
+ image: xbrowsersync/api:latest
+ environment:
+ - XBROWSERSYNC_DB_PWD=xbsmongodb
+ - XBROWSERSYNC_DB_USER=xbsmongodb
+ ports:
+ - 8086:8080/tcp
+ restart: always
+ depends_on:
+ - xbs-mongodb
+ volumes:
+# Create setttings.json with relevant settings at host location first
+ - /docker/appdata/xbs-api/settings.json:/usr/src/api/config/settings.json
\ No newline at end of file
diff --git a/files/docker/media-docker-compose.yml b/files/docker/media-docker-compose.yml
new file mode 100644
index 0000000..65fa78c
--- /dev/null
+++ b/files/docker/media-docker-compose.yml
@@ -0,0 +1,241 @@
+version: '3'
+
+services:
+ gluetun:
+ container_name: gluetun
+ image: qmcgaw/gluetun
+ environment:
+ - VPN_SERVICE_PROVIDER=mullvad
+ - VPN_TYPE=wireguard
+ - WIREGUARD_PRIVATE_KEY=aOlTmJ/KpTi0qZeed3rXNcRPPTIw0InAvf1gMV4EtXo=
+ - WIREGUARD_ADDRESSES=10.66.182.60/32
+ - HTTPPROXY=on
+ - SERVER_CITIES=New York NY
+ - TZ=$TZ
+ cap_add:
+ - NET_ADMIN
+ devices:
+ - /dev/net/tun:/dev/net/tun
+ ports:
+ - 8888:8888/tcp # HTTP proxy
+ - 8388:8388/tcp # Shadowsocks
+ - 8388:8388/udp # Shadowsocks
+ - 8181:8080/tcp # SABnzbd
+ - 8191:8090/tcp # SABnzbd
+ - 8282:8282/tcp # qBittorrent
+ - 60395:6881/tcp # qBittorrent
+ - 60395:6881/udp # qBittorrent
+ - 58483:58483/tcp # qBittorrent
+ restart: always
+ volumes:
+ - ./appdata/gluetun:/gluetun
+
+ jackett:
+ container_name: jackett
+ hostname: jackett
+ image: binhex/arch-jackett:latest
+ environment:
+ - PGID=$PGID
+ - PUID=$PUID
+ - UMASK=$UMASK
+ ports:
+ - 9117:9117/tcp
+ restart: always
+ volumes:
+ - ./appdata/jackett:/config
+ - ./appdata/jackett/data:/data
+ - /mnt/data/downloads:/downloads
+ - /etc/localtime:/etc/localtime:ro
+
+ jdownloader2:
+ container_name: jdownloader2
+ hostname: jdownloader2
+ image: jlesage/jdownloader-2:latest
+ environment:
+ - PGID=$PGID
+ - PUID=$PUID
+ - UMASK=$UMASK
+ - TZ=$TZ
+ - KEEP_APP_RUNNING=1
+ - CLEAN_TMP_DIR=1
+ - MYJD_USER=akanealw@gmail.com
+ - MYJD_PASSWORD=trUKY4X8wzGiCr75ZmC9
+ - MYJD_DEVICE_NAME=dockerserver
+ - XDG_DOWNLOAD_DIR=/output
+ ports:
+ - 3129:3129/tcp
+ - 5800:5800/tcp
+ - 5900:5900/tcp
+ restart: always
+ volumes:
+ - ./appdata/jdownloader2:/config
+ - /mnt/data/downloads/jdownloader:/output
+ - /etc/localtime:/etc/localtime:ro
+
+ metube:
+ container_name: metube
+ hostname: metube
+ image: alexta69/metube
+ environment:
+ - STATE_DIR=/config
+ - PUID=$PUID
+ - PGID=$PGID
+ ports:
+ - 8082:8081
+ restart: always
+ volumes:
+ - /mnt/data/media/videos/youtubedl:/downloads
+ - ./appdata/metube:/config
+
+ monitorr:
+ container_name: monitorr
+ hostname: monitorr
+ image: monitorr/monitorr:latest
+ environment:
+ - PGID=$PGID
+ - PUID=$PUID
+ - TZ=$TZ
+ ports:
+ - 8084:80/tcp
+ restart: always
+ volumes:
+ - /mnt/data:/HD:ro
+ - ./appdata/monitorr/app:/app
+ - ./appdata/monitorr/config:/config
+ - /etc/localtime:/etc/localtime:ro
+
+ mstream:
+ image: lscr.io/linuxserver/mstream:latest
+ container_name: mstream
+ environment:
+ - PUID=$PUID
+ - PGID=$PGID
+ - TZ=$TZ
+ ports:
+ - 3001:3000
+ restart: always
+ volumes:
+ - ./appdata/mstream:/config
+ - /mnt/storage/music:/music
+
+ nzbhydra2:
+ container_name: nzbhydra2
+ hostname: nzbhydra2
+ image: binhex/arch-nzbhydra2:latest
+ environment:
+ - PGID=$PGID
+ - PUID=$PUID
+ - UMASK=$UMASK
+ ports:
+ - 5076:5076/tcp
+ restart: always
+ volumes:
+ - ./appdata/nzbhydra2/data:/data
+ - ./appdata/nzbhydra2:/config
+ - /mnt/data/downloads:/downloads
+ - /etc/localtime:/etc/localtime:ro
+
+ organizr:
+ container_name: organizr
+ hostname: organizr
+ image: organizr/organizr:latest
+ environment:
+ - PGID=$PGID
+ - PUID=$PUID
+ - FPM=false
+ ports:
+ - 8085:80/tcp
+ restart: always
+ volumes:
+ - ./appdata/organizr/config:/config
+ - /etc/localtime:/etc/localtime:ro
+
+ overseerr:
+ container_name: overseerr
+ hostname: overseerr
+ image: sctx/overseerr:latest
+ environment:
+ - LOG_LEVEL=info
+ - TZ=$TZ
+ ports:
+ - 5055:5055
+ restart: always
+ volumes:
+ - ./appdata/overseerr/config:/app/config
+ - /etc/localtime:/etc/localtime:ro
+
+ prowlarr:
+ container_name: prowlarr
+ hostname: prowlarr
+ image: ghcr.io/linuxserver/prowlarr:develop
+ environment:
+ - PUID=$PUID
+ - PGID=$PGID
+ - TZ=$TZ
+ ports:
+ - 9696:9696
+ restart: always
+ volumes:
+ - ./appdata/prowlarr/config:/config
+
+ qbittorrent:
+ container_name: qbittorrent
+ image: lscr.io/linuxserver/qbittorrent:latest
+ environment:
+ - PUID=$PUID
+ - PGID=$PGID
+ - TZ=$TZ
+ - WEBUI_PORT=8282
+ network_mode: "service:gluetun"
+ restart: unless-stopped
+ volumes:
+ - ./appdata/qbittorrent/config:/config
+ - /mnt/data:/data
+ - /mnt/data/downloads/torrents:/torrents
+
+ radarr:
+ container_name: radarr
+ hostname: radarr
+ image: lscr.io/linuxserver/radarr:latest
+ environment:
+ - PUID=$PUID
+ - PGID=$PGID
+ - TZ=$TZ
+ ports:
+ - 7878:7878
+ restart: always
+ volumes:
+ - ./appdata/radarr:/config
+ - /mnt/data:/data
+
+ sabnzbd:
+ container_name: sabnzbd
+ image: lscr.io/linuxserver/sabnzbd:latest
+ environment:
+ - PUID=$PUID
+ - PGID=$PGID
+ - TZ=$TZ
+ network_mode: "service:gluetun"
+ restart: unless-stopped
+ volumes:
+ - ./appdata/sabnzbd:/config
+ - /mnt/data:/data
+ - /mnt/data/downloads/nzbs:/nzbs
+
+ sonarr:
+ container_name: sonarr
+ hostname: sonarr
+ image: lscr.io/linuxserver/sonarr:latest
+ environment:
+ - PUID=$PUID
+ - PGID=$PGID
+ - TZ=$TZ
+ ports:
+ - 8989:8989
+ restart: always
+ volumes:
+ - ./appdata/sonarr:/config
+ - /mnt/data:/data
+
+networks:
+ default:
\ No newline at end of file
diff --git a/files/docker/netplan-static-ip.yaml b/files/docker/netplan-static-ip.yaml
new file mode 100644
index 0000000..4606096
--- /dev/null
+++ b/files/docker/netplan-static-ip.yaml
@@ -0,0 +1,11 @@
+# This is the network config written by 'subiquity'
+network:
+ version: 2
+ ethernets:
+ eth0:
+ dhcp4: false
+ addresses: [192.168.1.30/24]
+ gateway4: 192.168.1.1
+ nameservers:
+ addresses: [192.168.1.15,192.168.1.16]
+
diff --git a/files/docker/plex-db-sync.txt b/files/docker/plex-db-sync.txt
new file mode 100644
index 0000000..2c40665
--- /dev/null
+++ b/files/docker/plex-db-sync.txt
@@ -0,0 +1,6 @@
+wget https://raw.githubusercontent.com/Fmstrat/plex-db-sync/master/plex-db-sync
+apt-get install sshfs sqlite3
+mkdir -p /mnt/sshfs
+sshfs -o allow_other,IdentityFile=~/.ssh/mediapc.pds -p 22 nwettstein@192.168.1.10:"D:\Plex\Plex Media Server\Plug-in Support\Databases" /mnt/sshfs
+chmod +x plex-db-sync
+./plex-db-sync --backup true --plex-db-1 "/mnt/sshfs/com.plexapp.plugins.library.db" --plex-start-1 "ssh -oStrictHostKeyChecking=no -i ~/.ssh/mediapc.pds nwettstein@192.168.1.10 net start "Plex Media Server"" --plex-stop-1 "ssh -oStrictHostKeyChecking=no -i ~/.ssh/mediapc.pds nwettstein@192.168.1.10 net stop "Plex Media Server"" --plex-db-2 "/mnt/data/docker/appdata/plex/config/Library/Application Support/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db" --plex-start-2 "sudo docker start plex" --plex-stop-2 "sudo docker stop plex"
diff --git a/files/docker/portainer-agent.txt b/files/docker/portainer-agent.txt
new file mode 100644
index 0000000..8400e3e
--- /dev/null
+++ b/files/docker/portainer-agent.txt
@@ -0,0 +1,8 @@
+docker run -d \
+ -p 9001:9001 \
+ -e AGENT_SECRET=8ung1e1! \
+ --name portainer-agent \
+ --restart=always \
+ -v /var/run/docker.sock:/var/run/docker.sock \
+ -v /var/lib/docker/volumes:/var/lib/docker/volumes \
+ portainer/agent:2.16.2
diff --git a/files/docker/readme.md b/files/docker/readme.md
new file mode 100644
index 0000000..116b838
--- /dev/null
+++ b/files/docker/readme.md
@@ -0,0 +1 @@
+misc-docker-files
\ No newline at end of file
diff --git a/files/docker/smb.conf b/files/docker/smb.conf
new file mode 100644
index 0000000..c7fdcdd
--- /dev/null
+++ b/files/docker/smb.conf
@@ -0,0 +1,18 @@
+
+[akanealw]
+comment = akanealw
+path = /home/akanealw
+available = yes
+read only = yes
+browsable = yes
+public = yes
+writeable = no
+
+[docker]
+comment = docker
+path = /docker
+available = yes
+read only = yes
+browsable = yes
+public = yes
+writeable = no
diff --git a/files/docker/traefik/docker-compose.yml b/files/docker/traefik/docker-compose.yml
new file mode 100644
index 0000000..7c1f95b
--- /dev/null
+++ b/files/docker/traefik/docker-compose.yml
@@ -0,0 +1,145 @@
+version: '3'
+
+services:
+ dozzle:
+ container_name: dozzle
+ hostname: dozzle
+ image: amir20/dozzle:latest
+ environment:
+ - DOZZLE_ADDR=:1234
+ labels:
+ - traefik.enable=true
+ - traefik.http.routers.dozzle.entryPoints=https
+ - traefik.http.services.dozzle.loadbalancer.server.port=1234
+ ports:
+ - 9999:1234
+ restart: always
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock:ro
+
+ openvpn:
+ container_name: openvpn
+ hostname: openvpn
+ image: kylemanna/openvpn
+ cap_add:
+ - NET_ADMIN
+ ports:
+ - "1194:1194/tcp"
+ restart: always
+ volumes:
+ - ./appdata/openvpn/conf:/etc/openvpn
+
+ openssh-server:
+ container_name: openssh-server
+ hostname: openssh-server
+ image: lscr.io/linuxserver/openssh-server:latest
+ environment:
+ - PUID=$PUID
+ - PGID=$PGID
+ - TZ=$TZ
+ - PUBLIC_KEY_FILE=/config/aknlw.com.pub
+ - USER_NAME=akanealw
+ ports:
+ - 2222:2222
+ restart: always
+ volumes:
+ - ./appdata/openssh-server/config:/config
+
+ portainer:
+ container_name: portainer
+ hostname: portainer
+ image: portainer/portainer-ce:latest
+ environment:
+ - AGENT_SECRET=$ADMIN
+ labels:
+ - traefik.enable=true
+ - traefik.http.routers.portainer.entryPoints=https
+ - traefik.http.services.portainer.loadbalancer.server.port=9000
+ ports:
+ - 9000:9000/tcp
+ restart: always
+ volumes:
+ - ./appdata/portainer/data:/data
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
+
+ portainer-agent:
+ container_name: portainer-agent
+ hostname: portainer-agent
+ image: portainer/agent:latest
+ environment:
+ - AGENT_SECRET=$ADMIN
+ ports:
+ - 9001:9001/tcp
+ restart: always
+ volumes:
+ - /var/lib/docker/volumes:/var/lib/docker/volumes
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /etc/localtime:/etc/localtime:ro
+
+ privoxyvpn:
+ container_name: privoxyvpn
+ hostname: privoxyvpn
+ image: binhex/arch-privoxyvpn:latest
+ environment:
+ - PGID=0
+ - PUID=0
+ - UMASK=$UMASK
+ - TZ=$TZ
+ - VPN_ENABLED=yes
+ - VPN_PROV=airvpn
+ - VPN_CLIENT=wireguard
+ - ENABLE_SOCKS=no
+ - ENABLE_PRIVOXY=yes
+ - DEBUG=false
+ - LAN_NETWORK=192.168.1.0/24
+ - NAME_SERVERS=209.222.18.222,84.200.69.80,37.235.1.174,1.1.1.1,209.222.18.218,37.235.1.177,84.200.70.40,1.0.0.1
+ labels:
+ - traefik.enable=true
+ - traefik.http.routers.privoxyvpn.entryPoints=https
+ - traefik.http.services.privoxyvpn.loadbalancer.server.port=8118
+ privileged: true
+ sysctls:
+ - net.ipv4.conf.all.src_valid_mark=1
+ ports:
+ - 8118:8118/tcp
+ restart: always
+ volumes:
+ - ./appdata/privoxyvpn/config:/config
+ - /etc/localtime:/etc/localtime:ro
+
+ redis:
+ container_name: redis
+ hostname: redis
+ image: "redis:alpine"
+ command: redis-server /redis.conf
+ ports:
+ - 6379:6379
+ restart: always
+ volumes:
+ - ./appdata/redis/data:/var/lib/redis
+ - ./appdata/redis/redis.conf:/redis.conf
+
+ traefik:
+ container_name: traefik
+ image: traefik:2.5
+ ports:
+ - 8080:80
+ - 8443:443
+ - 8081:8080
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock:ro
+ - ./appdata/traefik/:/etc/traefik/
+ networks:
+ - default
+ labels:
+ traefik.http.routers.api.rule: Host(`traefik.aknlw.com`)
+ traefik.http.routers.api.entryPoints: https
+ traefik.http.routers.api.service: api@internal
+ traefik.enable: true
+ environment:
+ DO_AUTH_TOKEN: dop_v1_0c437a780149010ce186a09117fa6edec29bda0afecc8831cd8c025798990891
+ restart: unless-stopped
+
+networks:
+ default:
\ No newline at end of file
diff --git a/files/docker/traefik/fileConfig.yml b/files/docker/traefik/fileConfig.yml
new file mode 100644
index 0000000..3576def
--- /dev/null
+++ b/files/docker/traefik/fileConfig.yml
@@ -0,0 +1,81 @@
+http:
+ ## EXTERNAL ROUTING EXAMPLE - Only use if you want to proxy something manually ##
+ routers:
+# homeassistant:
+# entryPoints:
+# - https
+# rule: 'Host(`homeassistant.domain.com`)'
+# service: homeassistant
+# middlewares:
+# - "auth"
+# ## SERVICES EXAMPLE ##
+ services:
+# homeassistant:
+# loadBalancer:
+# servers:
+# - url: http://192.168.60.5:8123/
+
+# ## MIDDLEWARES ##
+ middlewares:
+# Only Allow Local networks
+# local-ipwhitelist:
+# ipWhiteList:
+# sourceRange:
+# - 127.0.0.1/32 # localhost
+# - 192.168.1.1/24 # LAN Subnet
+
+# # Authelia guard
+# authelia:
+# forwardauth:
+# address: http://authelia:9091/api/verify?rd=https://identity.aknlw.com/ # replace auth with your authelia container name
+# trustForwardHeader: true
+# authResponseHeaders:
+# - Remote-User
+# - Remote-Groups
+# - Remote-Name
+# - Remote-Email
+
+# # Authelia basic auth guard
+# authelia-basic:
+# forwardauth:
+# address: http://authelia:9091/api/verify?auth=basic # replace auth with your authelia container name
+# trustForwardHeader: true
+# authResponseHeaders:
+# - Remote-User
+# - Remote-Groups
+# - Remote-Name
+# - Remote-Email
+
+ # Security headers
+ securityHeaders:
+ headers:
+ customResponseHeaders:
+ X-Robots-Tag: "none,noarchive,nosnippet,notranslate,noimageindex"
+ server: ""
+ X-Forwarded-Proto: "https"
+ sslProxyHeaders:
+ X-Forwarded-Proto: https
+ referrerPolicy: "strict-origin-when-cross-origin"
+ hostsProxyHeaders:
+ - "X-Forwarded-Host"
+ customRequestHeaders:
+ X-Forwarded-Proto: "https"
+ contentTypeNosniff: true
+ browserXssFilter: true
+ forceSTSHeader: true
+ stsIncludeSubdomains: true
+ stsSeconds: 63072000
+ stsPreload: true
+
+# Only use secure ciphers - https://ssl-config.mozilla.org/#server=traefik&version=2.6.0&config=intermediate&guideline=5.6
+tls:
+ options:
+ default:
+ minVersion: VersionTLS12
+ cipherSuites:
+ - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
+ - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
+ - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
+ - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
+ - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
+ - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
diff --git a/files/docker/traefik/traefik.yml b/files/docker/traefik/traefik.yml
new file mode 100644
index 0000000..097aa1a
--- /dev/null
+++ b/files/docker/traefik/traefik.yml
@@ -0,0 +1,74 @@
+global:
+ checkNewVersion: true
+ sendAnonymousUsage: false
+
+serversTransport:
+ insecureSkipVerify: true
+
+entryPoints:
+ # Not used in apps, but redirect everything from HTTP to HTTPS
+ http:
+ address: :80
+ http:
+ redirections:
+ entryPoint:
+ to: https
+ scheme: https
+
+ # HTTPS endpoint, with domain wildcard
+ https:
+ address: :443
+ http:
+ tls:
+ # Generate a wildcard domain certificate
+ certResolver: letsencrypt
+ domains:
+ - main: aknlw.com
+ sans:
+ - '*.aknlw.com'
+ middlewares:
+ - securityHeaders@file
+
+providers:
+ providersThrottleDuration: 2
+
+ # File provider for connecting things that are outside of docker / defining middleware
+ file:
+ filename: /etc/traefik/fileConfig.yml
+ watch: true
+
+ # Docker provider for connecting all apps that are inside of the docker network
+ docker:
+ watch: true
+ network: docker_default # Add Your Docker Network Name Here
+ # Default host rule to containername.domain.example
+ defaultRule: "Host(`{{ index .Labels \"com.docker.compose.service\"}}.aknlw.com`)"
+ swarmModeRefreshSeconds: 15
+ exposedByDefault: false
+ redis:
+ endpoints:
+ - 192.168.1.30:6379
+
+# Enable traefik ui
+api:
+ dashboard: true
+ insecure: true
+
+# Log level INFO|DEBUG|ERROR
+log:
+ level: DEBUG
+
+# Use letsencrypt to generate ssl serficiates
+certificatesResolvers:
+ letsencrypt:
+ acme:
+ caServer: https://acme-staging-v02.api.letsencrypt.org/directory
+ email: akanealw@gmail.com
+ storage: /etc/traefik/acme.json
+ dnsChallenge:
+ provider: digitalocean
+ delayBeforeCheck: 0
+ # Used to make sure the dns challenge is propagated to the rights dns servers
+ resolvers:
+ - "8.8.8.8:53"
+ - "8.8.4.4:53"