Compare commits
292 Commits
3b6e8f7e94
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
747a35e172 | ||
| abdf5f660a | |||
|
|
9dde4b5a25 | ||
|
|
1a004a8490 | ||
|
|
72f4eb56f9 | ||
|
|
f412d0889c | ||
|
|
4f0d9f10a4 | ||
|
|
e830b0983b | ||
|
|
f552e62ada | ||
|
|
bff16494fa | ||
|
|
96fb419f7d | ||
|
|
70896a9c83 | ||
|
|
ab7fced15f | ||
|
|
fd74551bc2 | ||
|
|
a6dfd7c820 | ||
|
|
30c22ce093 | ||
|
|
c85101b221 | ||
|
|
00128f9b55 | ||
|
|
ce78560129 | ||
|
|
e91cec5420 | ||
|
|
8b73baa31d | ||
|
|
2bd7e71378 | ||
|
|
003a4ccfef | ||
|
|
3221d41d93 | ||
|
|
97c6848dab | ||
|
|
7085b45442 | ||
|
|
b2b7a0eec0 | ||
|
|
b923f5bb10 | ||
|
|
78609fbc13 | ||
|
|
9fb4fbc8d3 | ||
|
|
df2ed521c9 | ||
|
|
a92189f5a1 | ||
|
|
f2d5f3008d | ||
|
|
1ae807cc67 | ||
|
|
cd3fe20478 | ||
|
|
07d1218d72 | ||
|
|
0a7c2633b1 | ||
|
|
78f66e8491 | ||
|
|
b34ba31747 | ||
|
|
07a7e94edf | ||
|
|
80dcec9d92 | ||
|
|
475420360d | ||
|
|
4c22177292 | ||
|
|
728b2dbc8d | ||
|
|
5721b4514f | ||
|
|
0b822f745e | ||
|
|
cd79daf119 | ||
|
|
e6d07e9963 | ||
|
|
935e745439 | ||
|
|
b99f34a04b | ||
|
|
1aec701fe9 | ||
|
|
327ca86aad | ||
|
|
43c2b03abe | ||
|
|
20b2192f68 | ||
|
|
5aa762bc5e | ||
|
|
6c5dbadba0 | ||
|
|
e1661dbca1 | ||
|
|
ec8140f6d2 | ||
|
|
991de88e49 | ||
|
|
87a1f81889 | ||
|
|
9dc11bc8c8 | ||
|
|
b59c6513db | ||
|
|
0f7ed5e246 | ||
|
|
e23ebb79c2 | ||
|
|
89ad4f5a05 | ||
|
|
bf7136ee30 | ||
|
|
889742a37d | ||
|
|
365a8f73a1 | ||
|
|
0e3134823f | ||
|
|
acd91a3a55 | ||
|
|
1ed2a5fa07 | ||
|
|
4a699fb629 | ||
|
|
7bc6daf63a | ||
|
|
8e420e560c | ||
|
|
387d6101c3 | ||
|
|
3c16f0c085 | ||
|
|
4c1d7f3e69 | ||
|
|
5eee444cb3 | ||
|
|
3f6ad61cfb | ||
|
|
f723483e5e | ||
|
|
f5ef0be165 | ||
|
|
a7b674d8cc | ||
|
|
1e2f4b8465 | ||
|
|
3446d6c929 | ||
|
|
beaeefad5f | ||
|
|
9d99d823b3 | ||
|
|
5658db7b0f | ||
|
|
94d8f69180 | ||
|
|
bd92e1b108 | ||
|
|
ae23036c55 | ||
|
|
bd32058e1f | ||
|
|
45b93a61aa | ||
|
|
6284afa3e1 | ||
|
|
506f20c7d0 | ||
|
|
e34f86d00b | ||
|
|
e76ee2cab8 | ||
|
|
e1b38bc561 | ||
|
|
49370f3ab3 | ||
|
|
264feb1d39 | ||
|
|
450be180c6 | ||
|
|
de57e96202 | ||
|
|
c3cd07da10 | ||
|
|
66946993bb | ||
|
|
8f119e24bd | ||
|
|
a536375267 | ||
|
|
eaaf7346aa | ||
|
|
979d22b7f6 | ||
|
|
7e5b20e338 | ||
|
|
92e73c1ac1 | ||
|
|
e79c7176f9 | ||
|
|
e93d60b51b | ||
|
|
cd18308637 | ||
|
|
20257097a4 | ||
|
|
13471578f0 | ||
|
|
2d454a7fc6 | ||
|
|
592522edbc | ||
|
|
379f1aaccb | ||
|
|
1f141269cf | ||
|
|
060c29d2b3 | ||
|
|
72e2873ea9 | ||
|
|
c5086123d3 | ||
|
|
e8922ad8ae | ||
|
|
b199e5ec88 | ||
|
|
0e483150fc | ||
|
|
d9451f4104 | ||
|
|
837bd5e3e8 | ||
|
|
bc545bb169 | ||
|
|
4b596afd10 | ||
|
|
a1ef92c742 | ||
|
|
008c4beedf | ||
|
|
829f46b929 | ||
|
|
3f2add04d1 | ||
|
|
1d19d4bbe1 | ||
|
|
c81532f87c | ||
|
|
435e83f123 | ||
|
|
035c359b63 | ||
|
|
97e0249961 | ||
|
|
73d4b94171 | ||
|
|
1684f897e1 | ||
|
|
ef92ad0399 | ||
|
|
867eec7785 | ||
|
|
45ff8948c7 | ||
|
|
cac8659404 | ||
|
|
7a6660a332 | ||
|
|
b1648aa415 | ||
|
|
917f0bbb3d | ||
|
|
aeb434f85a | ||
|
|
4ff92a01e7 | ||
|
|
78de7fae23 | ||
|
|
1aebc61fff | ||
|
|
e847188920 | ||
|
|
bd34627909 | ||
|
|
1550b66e40 | ||
|
|
cd156efa5c | ||
|
|
d4bcf4808f | ||
|
|
752474cf94 | ||
|
|
600820ff2e | ||
|
|
8dd5949ff5 | ||
|
|
946d4c04df | ||
|
|
e451d957f8 | ||
|
|
e484bbdaa5 | ||
|
|
8a1a96dc09 | ||
|
|
5fa2fc92db | ||
|
|
a3f18e9ebd | ||
|
|
486070e365 | ||
|
|
de742a00e7 | ||
|
|
2574854ac1 | ||
|
|
70c8991c40 | ||
|
|
581831ac4a | ||
|
|
3884d1144a | ||
|
|
cfcef26d69 | ||
|
|
18d0297938 | ||
|
|
f62d046637 | ||
|
|
1f9a899245 | ||
|
|
3d17dff42b | ||
|
|
00ff840f23 | ||
|
|
3c9d972172 | ||
|
|
13058e4d18 | ||
|
|
86fa1d5220 | ||
|
|
d821ca935c | ||
|
|
ca1799c230 | ||
|
|
277bdd8679 | ||
|
|
cd4a455835 | ||
|
|
1e035c5709 | ||
|
|
621697ecc1 | ||
|
|
4654e9cfee | ||
|
|
c2e83985eb | ||
|
|
5ee577ae1a | ||
|
|
856aff3b72 | ||
|
|
bd74207304 | ||
|
|
9232728de9 | ||
|
|
82640b8ca0 | ||
|
|
0993c9984e | ||
|
|
5f32bb3eee | ||
|
|
6dfa02eb96 | ||
|
|
20de526189 | ||
|
|
ed4913ff80 | ||
|
|
e109c58a57 | ||
|
|
2e89a07dd0 | ||
|
|
cb5c39a774 | ||
|
|
9b627c44b2 | ||
|
|
2b7c2374dc | ||
|
|
6f55177b34 | ||
|
|
9099910dd9 | ||
|
|
cf31a104ab | ||
|
|
2edc6fea8e | ||
|
|
39b14aa91b | ||
|
|
ad8d63857b | ||
|
|
73aa80bd81 | ||
|
|
a60acf4cf0 | ||
|
|
2a72258f3b | ||
|
|
5bffce8c5c | ||
|
|
6175fa7a9d | ||
|
|
c395802df1 | ||
|
|
9b204c330a | ||
|
|
bea11241a9 | ||
|
|
e7e4e191f1 | ||
|
|
3700f45209 | ||
|
|
a22874a598 | ||
|
|
9a399c643b | ||
|
|
c0156ee76a | ||
|
|
09e4438da3 | ||
|
|
d4b067273f | ||
|
|
ec7b350dc9 | ||
|
|
54677ac8bd | ||
|
|
5041baea6f | ||
|
|
be21565b81 | ||
|
|
45a66df0b1 | ||
|
|
2321d3eaca | ||
|
|
9e3bb1218f | ||
|
|
d5973dc289 | ||
|
|
9e6f89631d | ||
|
|
ccbbca3887 | ||
|
|
f503167d3a | ||
|
|
f480718c8a | ||
|
|
8e7e0ee937 | ||
|
|
6b56615eba | ||
|
|
22730685f1 | ||
|
|
8737b37369 | ||
|
|
a4220c73f6 | ||
|
|
85b62225fa | ||
|
|
43292b0a10 | ||
|
|
a55fc818c5 | ||
|
|
010410774b | ||
|
|
7cafc99eb6 | ||
|
|
34706e61f7 | ||
|
|
a8fbda747c | ||
|
|
f371aa6ba4 | ||
|
|
04416731aa | ||
|
|
42489dc839 | ||
|
|
640b6297ad | ||
|
|
629fbe0181 | ||
|
|
5be302d607 | ||
|
|
45c789a0e9 | ||
|
|
764bb69c6c | ||
|
|
952a363537 | ||
|
|
03a012e724 | ||
|
|
ce2c9481a6 | ||
|
|
1fff77ff62 | ||
|
|
c09d7b3b34 | ||
|
|
1c3da0d781 | ||
|
|
29c3e5069f | ||
|
|
36e3251d35 | ||
|
|
4891626d32 | ||
|
|
326f616058 | ||
|
|
e2a95ff9b6 | ||
|
|
54d9705e59 | ||
|
|
4ffa1683e4 | ||
|
|
0db826ba8b | ||
|
|
120c157571 | ||
|
|
99b598d1d4 | ||
|
|
807e0759d7 | ||
|
|
01ebb50a5f | ||
|
|
a4bcd5e40e | ||
|
|
3af36dfb46 | ||
|
|
23bcace5d0 | ||
|
|
462c208b1c | ||
|
|
6eae08232a | ||
|
|
3cd8dec497 | ||
|
|
6b5fe1d5c0 | ||
|
|
8dbb5578c7 | ||
|
|
85e2bc24f7 | ||
|
|
700d935a63 | ||
|
|
3f8561748c | ||
|
|
93d24ff97e | ||
|
|
ff3502be67 | ||
|
|
2ce8c5d28d | ||
|
|
49a38aa3d7 | ||
|
|
6c173462bf | ||
|
|
93f8a06b94 | ||
|
|
4da41f9304 | ||
|
|
12c4945ab7 |
20
README.md
20
README.md
@@ -1,13 +1,17 @@
|
||||
## Docker-Compose Files Borgals HomeLab
|
||||
<H1>Docker-Compose Files Borgals HomeLab</H1>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://tcude.net/content/images/size/w2000/2022/01/MainImage-2.jpeg" alt="Docker-Compose" width="400" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
|
||||
<H2>Environment Variablen</H2>
|
||||
|
||||
### Environment Variablen
|
||||
- **Benutzernamen** und **Passwörter**, sowie weitere Variablen sind in einer .env Datei ausgelagert
|
||||
- die **.env.sample** muss jeweils in **.env** umbenannt werden und die Variablen darin auf deine Bedürfnisse angepasst werden
|
||||
|
||||
- Benutzernamen und Passwörter, sowie weitere Variablen sind in einer .env Datei ausgelagert
|
||||
- die .env.sample muss jeweils in .env umbenannt werden und die Variablen darin auf deine Bedürfnisse angepasst werden
|
||||
----
|
||||
|
||||
<H2>Reverse Proxy</H2>
|
||||
|
||||
### Reverse Proxy
|
||||
|
||||
- als Reverse Proxy setze ich den Nginx Proxy Manager ein, daher sind keine Labels für Träfik vorhanden
|
||||
|
||||
- als **Reverse Proxy** setze ich den Nginx Proxy Manager ein, daher sind keine Labels für Träfik vorhanden
|
||||
566
adguard/conf/AdGuardHome.yaml
Normal file
566
adguard/conf/AdGuardHome.yaml
Normal file
@@ -0,0 +1,566 @@
|
||||
http:
|
||||
pprof:
|
||||
port: 6060
|
||||
enabled: false
|
||||
address: 0.0.0.0:3000
|
||||
session_ttl: 720h
|
||||
users:
|
||||
- name: Borgal
|
||||
password: $2a$10$HyZNzwrzK7z1cveWb6tONebiUL26A45LfwZB5lezB34nUy4PAcIKm
|
||||
auth_attempts: 5
|
||||
block_auth_min: 15
|
||||
http_proxy: ""
|
||||
language: de
|
||||
theme: auto
|
||||
dns:
|
||||
bind_hosts:
|
||||
- 0.0.0.0
|
||||
port: 53
|
||||
anonymize_client_ip: false
|
||||
ratelimit: 0
|
||||
ratelimit_subnet_len_ipv4: 24
|
||||
ratelimit_subnet_len_ipv6: 56
|
||||
ratelimit_whitelist: []
|
||||
refuse_any: true
|
||||
upstream_dns:
|
||||
- '############# Google'
|
||||
- 1.1.1.1
|
||||
- 1.0.0.1
|
||||
- '############# Cloudflare'
|
||||
- 8.8.8.8
|
||||
- 8.8.4.4
|
||||
- '############# Lokal'
|
||||
- '[/fritz.box/]192.168.0.1'
|
||||
- '[/168.192.in-addr.arpa/]192.168.0.1'
|
||||
upstream_dns_file: ""
|
||||
bootstrap_dns:
|
||||
- 1.1.1.1
|
||||
- 1.0.0.1
|
||||
- 8.8.8.8
|
||||
- 8.8.4.4
|
||||
fallback_dns: []
|
||||
upstream_mode: load_balance
|
||||
fastest_timeout: 1s
|
||||
allowed_clients: []
|
||||
disallowed_clients: []
|
||||
blocked_hosts:
|
||||
- version.bind
|
||||
- id.server
|
||||
- hostname.bind
|
||||
trusted_proxies:
|
||||
- 127.0.0.0/8
|
||||
- ::1/128
|
||||
cache_size: 4194304
|
||||
cache_ttl_min: 2400
|
||||
cache_ttl_max: 84600
|
||||
cache_optimistic: false
|
||||
bogus_nxdomain: []
|
||||
aaaa_disabled: true
|
||||
enable_dnssec: true
|
||||
edns_client_subnet:
|
||||
custom_ip: ""
|
||||
enabled: false
|
||||
use_custom: false
|
||||
max_goroutines: 300
|
||||
handle_ddr: true
|
||||
ipset: []
|
||||
ipset_file: ""
|
||||
bootstrap_prefer_ipv6: false
|
||||
upstream_timeout: 10s
|
||||
private_networks: []
|
||||
use_private_ptr_resolvers: false
|
||||
local_ptr_upstreams: []
|
||||
use_dns64: false
|
||||
dns64_prefixes: []
|
||||
serve_http3: false
|
||||
use_http3_upstreams: false
|
||||
serve_plain_dns: true
|
||||
hostsfile_enabled: true
|
||||
tls:
|
||||
enabled: false
|
||||
server_name: ""
|
||||
force_https: false
|
||||
port_https: 443
|
||||
port_dns_over_tls: 853
|
||||
port_dns_over_quic: 784
|
||||
port_dnscrypt: 0
|
||||
dnscrypt_config_file: ""
|
||||
allow_unencrypted_doh: false
|
||||
certificate_chain: ""
|
||||
private_key: ""
|
||||
certificate_path: ""
|
||||
private_key_path: ""
|
||||
strict_sni_check: false
|
||||
querylog:
|
||||
dir_path: ""
|
||||
ignored: []
|
||||
interval: 24h
|
||||
size_memory: 1000
|
||||
enabled: true
|
||||
file_enabled: true
|
||||
statistics:
|
||||
dir_path: ""
|
||||
ignored: []
|
||||
interval: 24h
|
||||
enabled: true
|
||||
filters:
|
||||
- enabled: true
|
||||
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
|
||||
name: AdGuard DNS filter
|
||||
id: 1
|
||||
- enabled: false
|
||||
url: https://adaway.org/hosts.txt
|
||||
name: AdAway Default Blocklist
|
||||
id: 2
|
||||
- enabled: true
|
||||
url: https://someonewhocares.org/hosts/zero/hosts
|
||||
name: Dan Pollock's List
|
||||
id: 1656587023
|
||||
- enabled: true
|
||||
url: https://pgl.yoyo.org/adservers/serverlist.php?hostformat=adblockplus&showintro=1&mimetype=plaintext
|
||||
name: Peter Lowe's List
|
||||
id: 1656587024
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/DandelionSprout/adfilt/master/Alternate%20versions%20Anti-Malware%20List/AntiMalwareAdGuardHome.txt
|
||||
name: Dandelion Sprout's Anti-Malware List
|
||||
id: 1656587025
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt
|
||||
name: NoCoin Filter List
|
||||
id: 1656587026
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites/master/hosts
|
||||
name: The Big List of Hacked Malware Web Sites
|
||||
id: 1656587027
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/durablenapkin/scamblocklist/master/adguard.txt
|
||||
name: Scam Blocklist by DurableNapkin
|
||||
id: 1656587028
|
||||
- enabled: true
|
||||
url: https://malware-filter.gitlab.io/malware-filter/urlhaus-filter-agh-online.txt
|
||||
name: Online Malicious URL Blocklist
|
||||
id: 1656587029
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
|
||||
name: WindowsSpyBlocker - Hosts spy rules
|
||||
id: 1656587030
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/Spam404/lists/master/main-blacklist.txt
|
||||
name: Spam404
|
||||
id: 1656587031
|
||||
- enabled: false
|
||||
url: https://raw.githubusercontent.com/notracking/hosts-blocklists/master/adblock/adblock.txt
|
||||
name: Notracking blocklist
|
||||
id: 1656587033
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_6_German/filter.txt
|
||||
name: EasyList German
|
||||
id: 1656587034
|
||||
- enabled: true
|
||||
url: https://raw.githubusercontent.com/0Zinc/easylists-for-pihole/master/easylist.txt
|
||||
name: EasyList
|
||||
id: 1664997237
|
||||
whitelist_filters: []
|
||||
user_rules:
|
||||
- '##'
|
||||
- '# Bild.de'
|
||||
- '##'
|
||||
- '@@||www.asadcdn.com^$important'
|
||||
- '@@||code.bildstatic.de^$important'
|
||||
- '@@||de.ioam.de^$important'
|
||||
- '@@||json.bild.de^$important'
|
||||
- '@@||script.ioam.de^$important'
|
||||
- '@@||tags.tiqcdn.com^$important'
|
||||
- '@@||tagger.opecloud.com^$important'
|
||||
- '##'
|
||||
- '# SKY'
|
||||
- '##'
|
||||
- '@@||somni.sky.de^$important'
|
||||
- '@@||csm-e-skyde-eb.cds1.yospace.com^$important'
|
||||
- '@@||skydeutschland.sc.omtrdc.net^$important'
|
||||
- '@@||dpm.demdex.net^$important'
|
||||
- '##'
|
||||
- '# YouTube'
|
||||
- '##'
|
||||
- /^r[0-9]-*sn-[a-z0-9]*-[0-9a-z]{4}\.googlevideo\.com/
|
||||
- /^r[0-9]{1,2}-*sn-[a-z0-9]*-[0-9a-z]{4}.googlevideo.com/
|
||||
- /^rr[0-9]-*sn-[a-z0-9]*-[0-9a-z]{4}\.googlevideo\.com/
|
||||
- '##'
|
||||
- '# PandaSecurity'
|
||||
- '##'
|
||||
- '||eventtrack.pandasecurity.com^$important'
|
||||
- '#####'
|
||||
- '# sonstige sperren'
|
||||
- '#####'
|
||||
- '@@||ad.doubleclick.net^$important'
|
||||
- '@@||app-measurement.com^$important'
|
||||
- '@@||benefits.sovendus.com^$important'
|
||||
- '@@||fhdi3gj7.r.us-east-1.awstrack.me^$important'
|
||||
- '@@||t.notifications.groupe-pvcp.com^$important'
|
||||
- '@@||metrics.brightcove.com^$important'
|
||||
- '@@||notify-bugs-fra1.rtl.de^$important'
|
||||
- '@@||ichnaea.netflix.com^$important'
|
||||
- '@@||customerevents.netflix.com^$important'
|
||||
- '@@||medumio96948.lt.acemlnb.com^$important'
|
||||
- '@@||hamburg.de^$important'
|
||||
- '@@||www.etracker.de^$important'
|
||||
- '@@||hunkemoller.com^$important'
|
||||
- '@@||as.bild.de^$important'
|
||||
- '@@||click.cptrack.de^$important'
|
||||
- '@@||lavieenrose.com^$important'
|
||||
- '@@||fast.skydeutschland.demdex.net^$client=''ROG'''
|
||||
- '@@||email.golfpost.de^$important'
|
||||
- '@@||adservice.google.com^$important'
|
||||
- '@@||rd.bizrate.com^$important'
|
||||
- '@@||telemetry-in.battle.net^$important'
|
||||
- '#'
|
||||
- '## Sperre für Luminar '
|
||||
- '#'
|
||||
- '||auth.macphun.com^$important'
|
||||
- '||luminar3win.update.skylum.com^$important'
|
||||
- '||luminar3.s3-accelerate.amazonaws.com^$important'
|
||||
- '@@||api.segment.io^$important'
|
||||
- '@@||googlevideo.com^$important'
|
||||
- '@@||invite.journiapp.com^$important'
|
||||
- '@@||googleads.g.doubleclick.net^$important'
|
||||
- '@@||event-collector.prd.data.s.joyn.de^$important'
|
||||
- '@@||vendor-list.consensu.org^$important'
|
||||
- ""
|
||||
dhcp:
|
||||
enabled: false
|
||||
interface_name: eth0
|
||||
local_domain_name: lan
|
||||
dhcpv4:
|
||||
gateway_ip: 192.168.9.1
|
||||
subnet_mask: 255.255.255.0
|
||||
range_start: 192.168.9.100
|
||||
range_end: 192.168.9.200
|
||||
lease_duration: 86400
|
||||
icmp_timeout_msec: 1000
|
||||
options: []
|
||||
dhcpv6:
|
||||
range_start: ""
|
||||
lease_duration: 86400
|
||||
ra_slaac_only: false
|
||||
ra_allow_slaac: false
|
||||
filtering:
|
||||
blocking_ipv4: ""
|
||||
blocking_ipv6: ""
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
protection_disabled_until: null
|
||||
safe_search:
|
||||
enabled: false
|
||||
bing: true
|
||||
duckduckgo: true
|
||||
google: true
|
||||
pixabay: true
|
||||
yandex: true
|
||||
youtube: true
|
||||
blocking_mode: default
|
||||
parental_block_host: family-block.dns.adguard.com
|
||||
safebrowsing_block_host: standard-block.dns.adguard.com
|
||||
rewrites: []
|
||||
safebrowsing_cache_size: 1048576
|
||||
safesearch_cache_size: 1048576
|
||||
parental_cache_size: 1048576
|
||||
cache_time: 30
|
||||
filters_update_interval: 1
|
||||
blocked_response_ttl: 10
|
||||
filtering_enabled: true
|
||||
parental_enabled: true
|
||||
safebrowsing_enabled: true
|
||||
protection_enabled: true
|
||||
clients:
|
||||
runtime_sources:
|
||||
whois: true
|
||||
arp: true
|
||||
rdns: true
|
||||
dhcp: true
|
||||
hosts: true
|
||||
persistent:
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: false
|
||||
duckduckgo: false
|
||||
google: false
|
||||
pixabay: false
|
||||
yandex: false
|
||||
youtube: false
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: Buero-PC
|
||||
ids:
|
||||
- 192.168.0.51
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-71e0-9a76-f7f93da1e64d
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: false
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: true
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: false
|
||||
duckduckgo: false
|
||||
google: false
|
||||
pixabay: false
|
||||
yandex: false
|
||||
youtube: false
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: FireTV-WZ
|
||||
ids:
|
||||
- 192.168.0.56
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-7d6c-a1d4-2f005d7c17ab
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: true
|
||||
filtering_enabled: false
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: false
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: false
|
||||
duckduckgo: false
|
||||
google: false
|
||||
pixabay: false
|
||||
yandex: false
|
||||
youtube: false
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: Fritz.Box
|
||||
ids:
|
||||
- 192.168.0.1
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-7f8d-95fe-fcfe6d363a29
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: false
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: true
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: false
|
||||
duckduckgo: false
|
||||
google: false
|
||||
pixabay: false
|
||||
yandex: false
|
||||
youtube: false
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: Galaxy Tab-A7
|
||||
ids:
|
||||
- 192.168.0.59
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-7739-bbc2-bf9b979f9913
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: false
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: true
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: false
|
||||
duckduckgo: false
|
||||
google: false
|
||||
pixabay: false
|
||||
yandex: false
|
||||
youtube: false
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: ROG
|
||||
ids:
|
||||
- 192.168.0.98
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-741f-9824-85cdb1315521
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: false
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: true
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: true
|
||||
duckduckgo: true
|
||||
google: true
|
||||
pixabay: true
|
||||
yandex: true
|
||||
youtube: true
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: ROG-980
|
||||
ids:
|
||||
- 192.168.0.58
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-70b1-8f0b-e7be87a33423
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: false
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: true
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: false
|
||||
duckduckgo: false
|
||||
google: false
|
||||
pixabay: false
|
||||
yandex: false
|
||||
youtube: false
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: S10-Lars
|
||||
ids:
|
||||
- 192.168.0.42
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-7e3c-a8e5-2d70f8580abb
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: false
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: true
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: true
|
||||
duckduckgo: true
|
||||
google: true
|
||||
pixabay: true
|
||||
yandex: true
|
||||
youtube: true
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: S20+ Lars
|
||||
ids:
|
||||
- 192.168.0.60
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-7acf-aa55-c000293947bc
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: false
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: true
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: true
|
||||
duckduckgo: true
|
||||
google: true
|
||||
pixabay: true
|
||||
yandex: true
|
||||
youtube: true
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: S7-Lars
|
||||
ids:
|
||||
- 192.168.0.62
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-7fb5-a762-4f4599510a9d
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: false
|
||||
filtering_enabled: true
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: true
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
- safe_search:
|
||||
enabled: false
|
||||
bing: false
|
||||
duckduckgo: false
|
||||
google: false
|
||||
pixabay: false
|
||||
yandex: false
|
||||
youtube: false
|
||||
blocked_services:
|
||||
schedule:
|
||||
time_zone: Europe/Berlin
|
||||
ids: []
|
||||
name: Sandra-P30
|
||||
ids:
|
||||
- 192.168.0.46
|
||||
tags: []
|
||||
upstreams: []
|
||||
uid: 018d7fa4-2a1d-729a-a02b-bb7bd6c6340f
|
||||
upstreams_cache_size: 0
|
||||
upstreams_cache_enabled: false
|
||||
use_global_settings: true
|
||||
filtering_enabled: false
|
||||
parental_enabled: false
|
||||
safebrowsing_enabled: false
|
||||
use_global_blocked_services: true
|
||||
ignore_querylog: false
|
||||
ignore_statistics: false
|
||||
log:
|
||||
file: ""
|
||||
max_backups: 0
|
||||
max_size: 100
|
||||
max_age: 3
|
||||
compress: false
|
||||
local_time: false
|
||||
verbose: false
|
||||
os:
|
||||
group: ""
|
||||
user: ""
|
||||
rlimit_nofile: 0
|
||||
schema_version: 28
|
||||
@@ -1,22 +1,18 @@
|
||||
version: '3.7'
|
||||
services:
|
||||
adguardhome:
|
||||
container_name: adguardhome
|
||||
hostname: adguardhome
|
||||
image: adguard/adguardhome:latest
|
||||
|
||||
volumes:
|
||||
- ./work:/opt/adguardhome/work
|
||||
- ./conf:/opt/adguardhome/conf
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
ports:
|
||||
- 192.168.0.111:53:53/tcp
|
||||
- 192.168.0.111:53:53/udp
|
||||
# - 1082:80/tcp
|
||||
# - 1443:443/tcp
|
||||
- 53:53/tcp
|
||||
- 53:53/udp
|
||||
- 3000:3000/tcp
|
||||
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
|
||||
restart: unless-stopped
|
||||
@@ -1,5 +1,51 @@
|
||||
## AdGuard
|
||||
|
||||

|
||||
|
||||
AdGuard Home ist eine netzwerkweite Software zum Sperren von Werbung und Tracking. Nachdem Sie es eingerichtet haben, deckt es ALLE Ihre Heimgeräte ab, und Sie brauchen dafür keine clientseitige Software. Mit dem Aufstieg von „Internet der Dinge” und vernetzten Geräten wird es immer wichtiger, Ihr gesamtes Netzwerk zu kontrollieren.
|
||||
<h2>AdGuard</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://ubuntu.com/wp-content/uploads/10b2/adguard-compressor.png" alt="Adguard" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>AdGuard Home</b> ist eine netzwerkweite Software zum Sperren von Werbung und Tracking. Nachdem Sie es eingerichtet haben, deckt es ALLE Ihre Heimgeräte ab, und Sie brauchen dafür keine clientseitige Software. Mit dem Aufstieg von „Internet der Dinge” und vernetzten Geräten wird es immer wichtiger, Ihr gesamtes Netzwerk zu kontrollieren.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://adguard.com/de/adguard-home/overview.html/" target="_blank">Adguard Home</a>
|
||||
<p></p>
|
||||
<h3>HowTo</h3>
|
||||
<hr>
|
||||
<p></p>
|
||||
<p>Upstream DNS Server</p>
|
||||
<pre>[/fritz.box/]192.168.0.1
|
||||
[/168.192.in-addr.arpa/]192.168.0.1</code></pre>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<h4>Port 53 Anpassung</h4>
|
||||
<p></p>
|
||||
<pre>systemctl stop systemd-resolved
|
||||
systemctl disable systemd-resolved</pre>
|
||||
<p></p>
|
||||
<pre>nano /etc/resolv.conf</pre>
|
||||
<p></p>
|
||||
<pre># This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
|
||||
# Do not edit.
|
||||
#
|
||||
# This file might be symlinked as /etc/resolv.conf. If you're looking at
|
||||
# /etc/resolv.conf and seeing this text, you have followed the symlink.
|
||||
#
|
||||
# This is a dynamic resolv.conf file for connecting local clients to the
|
||||
# internal DNS stub resolver of systemd-resolved. This file lists all
|
||||
# configured search domains.
|
||||
#
|
||||
# Run "resolvectl status" to see details about the uplink DNS servers
|
||||
# currently in use.
|
||||
#
|
||||
# Third party programs should typically not access this file directly, but only
|
||||
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
|
||||
# different way, replace this symlink by a static file or a different symlink.
|
||||
#
|
||||
# See man:systemd-resolved.service(8) for details about the supported modes of
|
||||
# operation for /etc/resolv.conf.
|
||||
#
|
||||
# nameserver 127.0.0.53 entfert für Port 53 von AdGuard Home
|
||||
#
|
||||
nameserver 127.0.0.1
|
||||
options edns0 trust-ad
|
||||
search .</pre>
|
||||
8
bitwarden/.env.sample
Normal file
8
bitwarden/.env.sample
Normal file
@@ -0,0 +1,8 @@
|
||||
# Admin-Token für die Anmeldung der Admin-Page
|
||||
# Anmeldung über https: bitwarden.MyDomain.de/admin
|
||||
# Hier ist das Passwort anzugeben, womit der Token erzeugt wurde
|
||||
# Den Token kann man z.B. über docker exec -it bitwarden ./vaultwarden hash erzeugen
|
||||
# WICHTIG - Wird die Admin Page nicht benötigt, dann sollte man die Zeile ADMIN_TOKEN in der docker-compose Datei mit einem # auskommentieren
|
||||
|
||||
|
||||
ADMIN_TOKEN='ChangeMe'
|
||||
@@ -1,8 +1,10 @@
|
||||
version: "2"
|
||||
services:
|
||||
bitwarden:
|
||||
image: vaultwarden/server:latest
|
||||
image: vaultwarden/server:latest-alpine
|
||||
container_name: bitwarden
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
# - ADMIN_TOKEN=${ADMIN_TOKEN} # Wird die Admin-Page nicht gebraucht, bitte auskommentieren
|
||||
volumes:
|
||||
- /opt/bitwarden/bwdata/:/data/
|
||||
ports:
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
## Bitwarden
|
||||
|
||||

|
||||
|
||||
Bitwarden ist der einfachste und sicherste Weg all deine Logins und Passwörter zu speichern, während du sie zwischen all deinen Geräten synchronisierst.
|
||||
<h2>Bitwarden/Vaultwarden</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://i.pcmag.com/imagery/reviews/05JPSXpKxx9c5oL8wwZMAkX-27..1622837895.png" alt="Bitwarden" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Bitwarden/Vaultwarden</b> ist der einfachste und sicherste Weg all deine Logins und Passwörter zu speichern, während du sie zwischen all deinen Geräten synchronisierst.
|
||||
|
||||
Passwort-Diebstahl ist ein echtes Problem. Die Webseiten und Apps, welche du verwendest, werden jeden Tag angegriffen und oftmals werden deine Passwörter dabei gestohlen. Wenn das gleiche Passwort bei mehreren Apps und Websites verwendet wird, können Hacker sich damit ganz einfach auch in deine E-Mails oder deinen Bank-Account einloggen.
|
||||
|
||||
Sicherheitsexperten empfehlen daher, dass du für jeden Account, den du erstellst, ein anderes, zufällig generiertes Passwort verwendest. Aber wie sollst du dir all diese Passwörter merken? bitwarden hilft dir dabei, deine Passwörter zu erstellen, speichern und zu verwalten.
|
||||
|
||||
Bitwarden speichert all deine Logins in einem verschlüsselten Tresor, der mit allen Geräten synchronisiert wird. Da er komplett verschlüsselt ist, bevor er überhaupt dein Gerät verlässt, hast nur du Zugriff auf deine Daten. Nicht einmal Bitwarden kann deine Daten lesen, selbst, wenn wir es wollten. Deine Daten sind mit einer AES-256-Bit-Verschlüsselung, sowie Salted Hashing und PBKDR2 SHA-256 abgesichert.
|
||||
<p></p>
|
||||
<a href="https://hub.docker.com/r/vaultwarden/server/" target="_blank">Vaultwarden</a>
|
||||
<p></p>
|
||||
@@ -1 +1,10 @@
|
||||
Beschreibung
|
||||
<h2>Bookstack</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://project.borgal.de/images/logo/bookstack.png" alt="Bookstack" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Bookstack</b> ist eine benutzerfreundliche und flexible Plattform für das Content-Management. Mit seiner intuitiven Oberfläche können Benutzer leicht Texte, Bilder, Dateien und Code-Blöcke erstellen und organisieren.
|
||||
<p></p>
|
||||
<a href="https://www.bookstackapp.com/" target="_blank">Bookstack</a>
|
||||
<p></p>
|
||||
@@ -1,4 +1,3 @@
|
||||
version: "3"
|
||||
services:
|
||||
bookstack:
|
||||
image: ghcr.io/linuxserver/bookstack
|
||||
@@ -6,6 +5,7 @@ services:
|
||||
environment:
|
||||
- APP_URL=https://${DOMAIN}
|
||||
- NGINX_ENABLE_FASTCGI_HTTPS=True
|
||||
- TZ=Europe/Berlin
|
||||
- DB_HOST=bookstack_db
|
||||
- DB_USER=${DB_USER}
|
||||
- DB_PASS=${DB_PASS}
|
||||
@@ -28,8 +28,6 @@ services:
|
||||
- MYSQL_DATABASE=bookstackapp
|
||||
- MYSQL_USER=${DB_USER}
|
||||
- MYSQL_PASSWORD=${DB_PASS}
|
||||
ports:
|
||||
- 3306:3306
|
||||
volumes:
|
||||
- /opt/bookstack:/config
|
||||
restart: unless-stopped
|
||||
@@ -1,8 +0,0 @@
|
||||
MYSQL_PASSWORD=changeMe
|
||||
MYSQL_DATABASE=nextcloud
|
||||
MYSQL_USER=nextcloud
|
||||
|
||||
MYSQL_ROOT_PASSWORD=changeMe
|
||||
|
||||
NFS_SERVER=192.168.0.xxx # oder hostname oder Domain
|
||||
PFAD=/Pfad/zum/Ordner
|
||||
@@ -1,58 +0,0 @@
|
||||
version: "3"
|
||||
services:
|
||||
|
||||
cloud_db:
|
||||
image: ghcr.io/linuxserver/mariadb
|
||||
container_name: cloud_db
|
||||
restart: always
|
||||
volumes:
|
||||
- ./database:/config
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||
- MYSQL_USER=${MYSQL_USER}
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=false"
|
||||
|
||||
|
||||
cloud_redis:
|
||||
image: redis:alpine
|
||||
volumes:
|
||||
- ./redis:/data
|
||||
container_name: cloud_redis
|
||||
restart: always
|
||||
|
||||
cloud:
|
||||
image: ghcr.io/linuxserver/nextcloud
|
||||
container_name: cloud
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
- MYSQL_HOST=cloud_db
|
||||
- REDIS_HOST=cloud_redis
|
||||
depends_on:
|
||||
- cloud_db
|
||||
- cloud_redis
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- cloud:/data
|
||||
ports:
|
||||
- 8100:443
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=false"
|
||||
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
cloud:
|
||||
name: cloud
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD}"
|
||||
23
code-server/README.md
Normal file
23
code-server/README.md
Normal file
@@ -0,0 +1,23 @@
|
||||
<h2>Code-Server</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://project.borgal.de/images/logo/code-server.png" alt="Code-Server" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Code-Server</b> Visual Studio Code fungiert als portable Entwicklungsumgebung, um die Qualitätssicherung, Downloads und vieles mehr zu beschleunigen. Die optionale IntelliSense-Funktion führt wortbasierte Vervollständigungen für viele Programmiersprachen out-of-the-box durch, und noch mehr sind als Erweiterungen verfügbar. Verwenden Sie eine Reihe flexibler Erweiterungen, um neue Sprachen hinzuzufügen und eine Verbindung zu den Diensten herzustellen, die Sie bereits verwenden.
|
||||
<p></p>
|
||||
<a href="https://github.com/coder/code-server/" target="_blank">Code-Server</a>
|
||||
<p></p>
|
||||
<h3>HowTo</h3>
|
||||
<hr>
|
||||
<p></p>
|
||||
<h3>Code-Server</h3>
|
||||
<p>Für den Code-Server muss im Nginx Proxy-Manager der Haken bei "Websockets Support" aktiviert werden</p>
|
||||
<p></p>
|
||||
<p><a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-visual-studio-code-for-php-projects" target="_blank">PHP Umgebung installieren</a></p>
|
||||
<p><a href="https://marketplace.visualstudio.com/" target="_blank">VS-Code Erweiterungen</a></p>
|
||||
<p></p>
|
||||
<p>Ihre Benutzereinstellungen befinden sich in /opt/code-server/config/data/User</p>
|
||||
<p>Sie können einfach die Dateien keybindings.json und settings.json in den entsprechenden Ordner auf Ihrem neuen Computer kopieren.</p>
|
||||
<p>Ihre Erweiterungen befinden sich in /opt/code-server/config/extensions.<br>Die meisten Erweiterungen verwenden keine nativen Bindungen und sollten beim Kopieren ordnungsgemäß funktionieren.<br>Sie können diejenigen, die dies nicht tun, manuell neu installieren.</p>
|
||||
<p></p>
|
||||
@@ -1,5 +1,3 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
code-server:
|
||||
image: ghcr.io/linuxserver/code-server
|
||||
@@ -19,8 +17,8 @@ services:
|
||||
- www:/www
|
||||
ports:
|
||||
- 8181:8443
|
||||
- 8184:5500
|
||||
- 5555:5555
|
||||
# - 8184:5500
|
||||
# - 5555:5555
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
@@ -28,6 +26,6 @@ volumes:
|
||||
name: www
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
type: nfs4
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD}"
|
||||
|
||||
10
dozzle/README.md
Normal file
10
dozzle/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
<h2>DOZZLE</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://developer.asustor.com/uploadIcons/0020_117518_1660879946_dozzle_256.png" alt="dozzle" width="200"/>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Dozzle</b> ist ein Realtime Docker Container Monitor für Logging.
|
||||
<p></p>
|
||||
<a href="https://dozzle.dev/" target="_blank">Dozzle</a>
|
||||
<p></p>
|
||||
9
dozzle/docker-compose.yml
Normal file
9
dozzle/docker-compose.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
services:
|
||||
dozzle:
|
||||
container_name: dozzle
|
||||
image: amir20/dozzle:latest
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
ports:
|
||||
- 9999:8080
|
||||
restart: unless-stopped
|
||||
10
drawio/README.md
Normal file
10
drawio/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
<h2>Draw.io</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn.worldvectorlogo.com/logos/draw-io.svg" alt="draw.io" width="200"/>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Draw.io</b> ist ein Online-Diagrammsoftware zum Erstellen von Flussdiagrammen, Prozessdiagrammen und Organigrammen.
|
||||
<p></p>
|
||||
<a href="https://draw.io/" target="_blank">Draw.io</a>
|
||||
<p></p>
|
||||
7
drawio/docker-compose.yml
Normal file
7
drawio/docker-compose.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
services:
|
||||
drawio:
|
||||
image: jgraph/drawio
|
||||
container_name: drawio
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 8085:8080
|
||||
@@ -1,2 +1,3 @@
|
||||
PASS=ChangeMe
|
||||
NFS_SERVER=192.168.0.xxx # oder hostname oder Domain
|
||||
PFAD=/Pfad/zum/Ordner
|
||||
10
duplicati/README.md
Normal file
10
duplicati/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
<h2>Duplicati</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://avatars.githubusercontent.com/u/8270231?s=280&v=4" alt="Duplicati" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Duplicati</b> ist eine Software, die verschlüsselte, komprimierte, inkrementelle Datensicherungen erstellt und diese auf Netzwerklaufwerke, integrierte oder externe USB-Festplatten oder Onlinespeicher überträgt.
|
||||
<p></p>
|
||||
<a href="https://duplicati.com/" target="_blank">Duplicati</a>
|
||||
<p></p>
|
||||
@@ -1,4 +1,3 @@
|
||||
version: "2.1"
|
||||
services:
|
||||
duplicati:
|
||||
image: ghcr.io/linuxserver/duplicati
|
||||
@@ -7,10 +6,11 @@ services:
|
||||
- PUID=0
|
||||
- PGID=0
|
||||
- TZ=Europe/Berlin
|
||||
- CLI_ARGS= #optional
|
||||
- DUPLICATI__WEBSERVICE_PASSWORD=${PASS}
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- backup:/backups
|
||||
- Immich:/mnt/immich
|
||||
- /opt:/source
|
||||
- ./shared:/shared
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
@@ -24,6 +24,14 @@ volumes:
|
||||
name: backup
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
type: nfs4
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD}"
|
||||
|
||||
Immich:
|
||||
name: Immich
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs4
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD2}"
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
version: "3.5"
|
||||
|
||||
services:
|
||||
ecodms:
|
||||
image: ecodms/allinone-18.09
|
||||
container_name: ecodms
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 17001:17001
|
||||
- 17004:8080
|
||||
- 17005:8180
|
||||
volumes:
|
||||
- ./data/ecodmsData:/srv/data
|
||||
- ./data/scaninput:/srv/scaninput
|
||||
- ./backup/ecodms-backup:/srv/backup
|
||||
- ./backup/ecodms-restore:/srv/restore
|
||||
@@ -1,37 +0,0 @@
|
||||
version: "3"
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:10.1.11
|
||||
container_name: fredbet_db
|
||||
volumes:
|
||||
- /opt/fredbet/mariadb:/var/lib/mysql
|
||||
ports:
|
||||
- "3307:3306"
|
||||
environment:
|
||||
- MYSQL_DATABASE=fredbetdb
|
||||
- MYSQL_ROOT_PASSWORD=secred
|
||||
- MYSQL_USER=fred
|
||||
- MYSQL_PASSWORD=fred
|
||||
restart: unless-stopped
|
||||
|
||||
fredbet:
|
||||
image: fred4jupiter/fredbet
|
||||
container_name: fredbet
|
||||
links:
|
||||
- mariadb:mariadb
|
||||
depends_on:
|
||||
- mariadb
|
||||
ports:
|
||||
- "8083:8080"
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb:3306/fredbetdb
|
||||
- SPRING_DATASOURCE_USERNAME=fred
|
||||
- SPRING_DATASOURCE_PASSWORD=fred
|
||||
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver
|
||||
- FREDBET_IMAGE_LOCATION_FILE=FILE_SYSTEM
|
||||
- FREDBET_IMAGE_FILE_SYSTEM_BASE_FOLDER=/home/fred/fredbet_images
|
||||
volumes:
|
||||
- "./fredbet_images:/home/fred/fredbet_images"
|
||||
- "./tmp:/tmp"
|
||||
restart: unless-stopped
|
||||
10
gitea/README.md
Normal file
10
gitea/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
<h2>Gitea</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/Gitea_Logo.svg/2560px-Gitea_Logo.svg.png" alt="Gitea" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Gitea</b> Gitea ist eine freie, in Go entwickelte Softwarelösung, die eine gehostete Softwareentwicklungsplattform bereitstellt. Diese unterstützt neben der Versionsverwaltung über Git auch kollaborative Werkzeuge, wie Bugtracker, Wiki und Code-Review. Die Benutzeroberfläche orientiert sich an GitHub.
|
||||
<p></p>
|
||||
<a href="https://about.gitea.com/" target="_blank">Gitea</a>
|
||||
<p></p>
|
||||
@@ -1,13 +1,11 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
image: gitea/gitea
|
||||
container_name: gitea
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
|
||||
12
gotify/README.md
Normal file
12
gotify/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
<h2>Gotify</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://avatars.githubusercontent.com/u/36410427?s=200&v=4" alt="Gotify" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Gotify</b> ist ein simpler Server zum Senden (via REST-API) und Empfangen (via Websocket) von Nachrichten.
|
||||
<p></p>
|
||||
<a href="https://gotify.net/" target="_blank">Gotify</a>
|
||||
<p></p>
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
version: "2"
|
||||
services:
|
||||
gotify:
|
||||
container_name: gotify
|
||||
|
||||
5
grafana/.env.sample
Normal file
5
grafana/.env.sample
Normal file
@@ -0,0 +1,5 @@
|
||||
GRAFANA_USERNAME=ChangeMe
|
||||
GRAFANA_PASSWORD=ChangeMe
|
||||
|
||||
INFLUXDB_USERNAME=ChangeMe
|
||||
INFLUXDB_PASSWORD=ChangeMe
|
||||
10
grafana/README.md
Normal file
10
grafana/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
<h2>Grafana</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://cdn.icon-icons.com/icons2/2699/PNG/512/grafana_logo_icon_171049.png" alt="Grafana" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Grafana</b> ist eine plattformübergreifende Open-Source-Anwendung zur grafischen Darstellung von Daten aus verschiedenen Datenquellen wie z. B. InfluxDB, MySQL, PostgreSQL, Prometheus und Graphite. Die erfassten Rohdaten lassen sich anschließend in verschiedenen Anzeigeformen ausgeben.
|
||||
<p></p>
|
||||
<a href="https://grafana.com/" target="_blank">Grafana</a>
|
||||
<p></p>
|
||||
47
grafana/docker-compose.yml
Normal file
47
grafana/docker-compose.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
services:
|
||||
influxdb:
|
||||
#image: influxdb
|
||||
image: influxdb:1.6.4
|
||||
container_name: influxdb
|
||||
ports:
|
||||
- 8096:8086
|
||||
volumes:
|
||||
- ./influxdb:/var/lib/influxdb
|
||||
environment:
|
||||
- INFLUXDB_DB=METRICS
|
||||
- INFLUXDB_USERNAME=${INFLUXDB_USERNAME}
|
||||
- INFLUXDB_PASSWORD=${INFLUXDB_PASSWORD}
|
||||
- INFLUXDB_REPORTING_DISABLED=true
|
||||
#Determines which level of logs will be emitted. The available levels are error, warn, info, and debug.
|
||||
- INFLUXDB_LOGGING_LEVEL=warn
|
||||
restart: unless-stopped
|
||||
|
||||
chronograf:
|
||||
image: chronograf:1.6
|
||||
container_name: chronograf
|
||||
volumes:
|
||||
- ./chronograf_data:/var/lib/chronograf
|
||||
ports:
|
||||
- 8088:8888
|
||||
depends_on:
|
||||
- influxdb
|
||||
environment:
|
||||
- INFLUXDB_URL=http://influxdb:8086
|
||||
- INFLUXDB_USERNAME=${INFLUXDB_USERNAME}
|
||||
- INFLUXDB_PASSWORD=${INFLUXDB_PASSWORD}
|
||||
restart: always
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana
|
||||
ports:
|
||||
- 3090:3000
|
||||
volumes:
|
||||
- ./grafana-storage:/var/lib/grafana
|
||||
- ./grafana-provisioning/:/etc/grafana/provisioning
|
||||
depends_on:
|
||||
- influxdb
|
||||
environment:
|
||||
- GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME}
|
||||
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
|
||||
restart: unless-stopped
|
||||
10
grocy/README.md
Normal file
10
grocy/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
<h2>Grocy</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://upload.wikimedia.org/wikipedia/commons/4/45/Grocy_logo.svg" alt="Grocy" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Grocy</b> ist eine selbst gehostete Webanwendung zur Lebensmittel- und Haushaltsverwaltung.
|
||||
<p></p>
|
||||
<a href="https://grocy.info/de/" target="_blank">Grocy</a>
|
||||
<p></p>
|
||||
@@ -1,5 +1,3 @@
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
grocy:
|
||||
image: lscr.io/linuxserver/grocy
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
PASSWORD=ChangeMe
|
||||
@@ -1,154 +0,0 @@
|
||||
# Guacamole with docker-compose
|
||||
This is a small documentation how to run a fully working **Apache Guacamole (incubating)** instance with docker (docker-compose). The goal of this project is to make it easy to test Guacamole.
|
||||
|
||||
## About Guacamole
|
||||
Apache Guacamole (incubating) is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. It is called clientless because no plugins or client software are required. Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser.
|
||||
|
||||
It supports RDP, SSH, Telnet and VNC and is the fastest HTML5 gateway I know. Checkout the projects [homepage](https://guacamole.incubator.apache.org/) for more information.
|
||||
|
||||
## Prerequisites
|
||||
You need a working **docker** installation and **docker-compose** running on your machine.
|
||||
|
||||
## Quick start
|
||||
Clone the GIT repository and start guacamole:
|
||||
|
||||
~~~bash
|
||||
git clone "https://github.com/boschkundendienst/guacamole-docker-compose.git"
|
||||
cd guacamole-docker-compose
|
||||
./prepare.sh
|
||||
docker-compose up -d
|
||||
~~~
|
||||
|
||||
Your guacamole server should now be available at `https://ip of your server:8443/`. The default username is `guacadmin` with password `guacadmin`.
|
||||
|
||||
## Details
|
||||
To understand some details let's take a closer look at parts of the `docker-compose.yml` file:
|
||||
|
||||
### Networking
|
||||
The following part of docker-compose.yml will create a network with name `guacnetwork_compose` in mode `bridged`.
|
||||
~~~python
|
||||
...
|
||||
# networks
|
||||
# create a network 'guacnetwork_compose' in mode 'bridged'
|
||||
networks:
|
||||
guacnetwork_compose:
|
||||
driver: bridge
|
||||
...
|
||||
~~~
|
||||
|
||||
### Services
|
||||
#### guacd
|
||||
The following part of docker-compose.yml will create the guacd service. guacd is the heart of Guacamole which dynamically loads support for remote desktop protocols (called "client plugins") and connects them to remote desktops based on instructions received from the web application. The container will be called `guacd_compose` based on the docker image `guacamole/guacd` connected to our previously created network `guacnetwork_compose`. Additionally we map the 2 local folders `./drive` and `./record` into the container. We can use them later to map user drives and store recordings of sessions.
|
||||
|
||||
~~~python
|
||||
...
|
||||
services:
|
||||
# guacd
|
||||
guacd:
|
||||
container_name: guacd_compose
|
||||
image: guacamole/guacd
|
||||
networks:
|
||||
guacnetwork_compose:
|
||||
restart: always
|
||||
volumes:
|
||||
- ./drive:/drive:rw
|
||||
- ./record:/record:rw
|
||||
...
|
||||
~~~
|
||||
|
||||
#### PostgreSQL
|
||||
The following part of docker-compose.yml will create an instance of PostgreSQL using the official docker image. This image is highly configurable using environment variables. It will for example initialize a database if an initialization script is found in the folder `/docker-entrypoint-initdb.d` within the image. Since we map the local folder `./init` inside the container as `docker-entrypoint-initdb.d` we can initialize the database for guacamole using our own script (`./init/initdb.sql`). You can read more about the details of the official postgres image [here](http://).
|
||||
|
||||
~~~python
|
||||
...
|
||||
postgres:
|
||||
container_name: postgres_guacamole_compose
|
||||
environment:
|
||||
PGDATA: /var/lib/postgresql/data/guacamole
|
||||
POSTGRES_DB: guacamole_db
|
||||
POSTGRES_PASSWORD: ChooseYourOwnPasswordHere1234
|
||||
POSTGRES_USER: guacamole_user
|
||||
image: postgres
|
||||
networks:
|
||||
guacnetwork_compose:
|
||||
restart: always
|
||||
volumes:
|
||||
- ./init:/docker-entrypoint-initdb.d:ro
|
||||
- ./data:/var/lib/postgresql/data:rw
|
||||
...
|
||||
~~~
|
||||
|
||||
#### Guacamole
|
||||
The following part of docker-compose.yml will create an instance of guacamole by using the docker image `guacamole` from docker hub. It is also highly configurable using environment variables. In this setup it is configured to connect to the previously created postgres instance using a username and password and the database `guacamole_db`. Port 8080 is only exposed locally! We will attach an instance of nginx for public facing of it in the next step.
|
||||
|
||||
~~~python
|
||||
...
|
||||
guacamole:
|
||||
container_name: guacamole_compose
|
||||
depends_on:
|
||||
- guacd
|
||||
- postgres
|
||||
environment:
|
||||
GUACD_HOSTNAME: guacd
|
||||
POSTGRES_DATABASE: guacamole_db
|
||||
POSTGRES_HOSTNAME: postgres
|
||||
POSTGRES_PASSWORD: ChooseYourOwnPasswordHere1234
|
||||
POSTGRES_USER: guacamole_user
|
||||
image: guacamole/guacamole
|
||||
links:
|
||||
- guacd
|
||||
networks:
|
||||
guacnetwork_compose:
|
||||
ports:
|
||||
- 8080/tcp
|
||||
restart: always
|
||||
...
|
||||
~~~
|
||||
|
||||
#### nginx
|
||||
The following part of docker-compose.yml will create an instance of nginx that maps the public port 8443 to the internal port 443. The internal port 443 is then mapped to guacamole using the `./nginx.conf` and `./nginx/mysite.template` files. The container will use the previously generated (`prepare.sh`) self-signed certificate in `./nginx/ssl/` with `./nginx/ssl/self-ssl.key` and `./nginx/ssl/self.cert`.
|
||||
|
||||
~~~python
|
||||
...
|
||||
nginx:
|
||||
container_name: nginx_guacamole_compose
|
||||
restart: always
|
||||
image: nginx
|
||||
volumes:
|
||||
- ./nginx/ssl/self.cert:/etc/nginx/ssl/self.cert:ro
|
||||
- ./nginx/ssl/self-ssl.key:/etc/nginx/ssl/self-ssl.key:ro
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./nginx/mysite.template:/etc/nginx/conf.d/default.conf:ro
|
||||
ports:
|
||||
- 8443:443
|
||||
links:
|
||||
- guacamole
|
||||
networks:
|
||||
guacnetwork_compose:
|
||||
# run nginx
|
||||
command: /bin/bash -c "nginx -g 'daemon off;'"
|
||||
...
|
||||
~~~
|
||||
|
||||
## prepare.sh
|
||||
`prepare.sh` is a small script that creates `./init/initdb.sql` by downloading the docker image `guacamole/guacamole` and start it like this:
|
||||
|
||||
~~~bash
|
||||
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgres > ./init/initdb.sql
|
||||
~~~
|
||||
|
||||
It creates the necessary database initialization file for postgres.
|
||||
|
||||
`prepare.sh` also creates the self-signed certificate `./nginx/ssl/self.cert` and the private key `./nginx/ssl/self-ssl.key` which are used
|
||||
by nginx for https.
|
||||
|
||||
## reset.sh
|
||||
To reset everything to the beginning, just run `./reset.sh`.
|
||||
|
||||
## WOL
|
||||
|
||||
Wake on LAN (WOL) does not work and I will not fix that because it is beyound the scope of this repo. But [zukkie777](https://github.com/zukkie777) who also filed [this issue](https://github.com/boschkundendienst/guacamole-docker-compose/issues/12) fixed it. You can read about it on the [Guacamole mailing list](http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/How-to-docker-composer-for-WOL-td9164.html)
|
||||
|
||||
**Disclaimer**
|
||||
|
||||
Downloading and executing scripts from the internet may harm your computer. Make sure to check the source of the scripts before executing them!
|
||||
@@ -1,124 +0,0 @@
|
||||
####################################################################################
|
||||
# docker-compose file for Apache Guacamole
|
||||
# created by PCFreak 2017-06-28
|
||||
#
|
||||
# Apache Guacamole is a clientless remote desktop gateway. It supports standard
|
||||
# protocols like VNC, RDP, and SSH. We call it clientless because no plugins or
|
||||
# client software are required. Thanks to HTML5, once Guacamole is installed on
|
||||
# a server, all you need to access your desktops is a web browser.
|
||||
####################################################################################
|
||||
#
|
||||
# What does this file do?
|
||||
#
|
||||
# Using docker-compose it will:
|
||||
#
|
||||
# - create a network 'guacnetwork_compose' with the 'bridge' driver.
|
||||
# - create a service 'guacd_compose' from 'guacamole/guacd' connected to 'guacnetwork'
|
||||
# - create a service 'postgres_guacamole_compose' (1) from 'postgres' connected to 'guacnetwork'
|
||||
# - create a service 'guacamole_compose' (2) from 'guacamole/guacamole/' conn. to 'guacnetwork'
|
||||
# - create a service 'nginx_guacamole_compose' (3) from 'nginx' connected to 'guacnetwork'
|
||||
#
|
||||
# (1)
|
||||
# DB-Init script is in './init/initdb.sql' it has been created executing
|
||||
# 'docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgres > ./init/initdb.sql'
|
||||
# once.
|
||||
# DATA-DIR is in './data'
|
||||
# If you want to change the DB password change all lines with 'POSTGRES_PASSWORD:' and
|
||||
# change it to your needs before first start.
|
||||
# To start from scratch delete './data' dir completely
|
||||
# './data' will hold all data after first start!
|
||||
# The initdb.d scripts are only executed the first time the container is started
|
||||
# (and the database files are empty). If the database files already exist then the initdb.d
|
||||
# scripts are ignored (e.g. when you mount a local directory or when docker-compose saves
|
||||
# the volume and reuses it for the new container).
|
||||
#
|
||||
# !!!!! MAKE SURE your folder './init' is executable (chmod +x ./init)
|
||||
# !!!!! or 'initdb.sql' will be ignored!
|
||||
#
|
||||
# './data' will hold all data after first start!
|
||||
#
|
||||
# (2)
|
||||
# Make sure you use the same value for 'POSTGRES_USER' and 'POSTGRES_PASSWORD'
|
||||
# as configured under (1)
|
||||
#
|
||||
# (3)
|
||||
# ./nginx/nginx.conf will be mapped read-only into the container at /etc/nginx/nginx.conf
|
||||
# ./nginx/mysite.template will be mapped into the container at /etc/nginx/conf.d/mysite.template
|
||||
# ./nginx/ssl will be mapped into the container at /etc/nginx/ssl
|
||||
# At startup a self-signed certificate will be created. If you want to use your own certs
|
||||
# just remove the part that generates the certs from the 'command' section and replace
|
||||
# 'self-ssl.key' and 'self.cert' with your certificate.
|
||||
# To debug nginx replace '&& nginx -g 'daemon off' with '&& nginx-debug -g 'daemon off'
|
||||
# nginx will export port 8443 to the outside world, make sure that this port is reachable
|
||||
# on your system from the "outside world". All other traffice is only internal.
|
||||
#
|
||||
# You could remove the entire 'nginx' service from this file if you want to use your own
|
||||
# reverse proxy in front of guacamole. If doing so, make sure you change the line
|
||||
# - 8080/tcp
|
||||
# to - 8080:8080/tcp
|
||||
# within the 'guacamole' service. This will expose the guacamole webinterface directly
|
||||
# on port 8080 and you can use it for your own purposes.
|
||||
# Do note, guacamole is available on :8080/guacamole, not /.
|
||||
#
|
||||
# !!!!! FOR INITAL SETUP (after git clone) run ./prepare.sh once
|
||||
#
|
||||
# !!!!! FOR A FULL RESET (WILL ERASE YOUR DATABASE, YOUR FILES, YOUR RECORDS AND CERTS) DO A
|
||||
# !!!!! ./reset.sh
|
||||
#
|
||||
#
|
||||
# The initial login to the guacamole webinterface is:
|
||||
#
|
||||
# Username: guacadmin
|
||||
# Password: guacadmin
|
||||
#
|
||||
# Make sure you change it immediately!
|
||||
#
|
||||
# version date comment
|
||||
# 0.1 2017-06-28 initial release
|
||||
# 0.2 2017-10-09 minor fixes + internal GIT push
|
||||
# 0.3 2017-10-09 minor fixes + public GIT push
|
||||
# 0.4 2019-08-14 creating of ssl certs now in prepare.sh
|
||||
# simplified nginx startup commands
|
||||
####################################################################################
|
||||
|
||||
version: '2.0'
|
||||
|
||||
services:
|
||||
guacd:
|
||||
container_name: guacd_compose
|
||||
image: guacamole/guacd
|
||||
restart: always
|
||||
volumes:
|
||||
- ./drive:/drive:rw
|
||||
- ./record:/record:rw
|
||||
|
||||
postgres:
|
||||
container_name: postgres_guacamole_compose
|
||||
environment:
|
||||
PGDATA: /var/lib/postgresql/data/guacamole
|
||||
POSTGRES_DB: guacamole_db
|
||||
POSTGRES_PASSWORD: ${PASSWORD}
|
||||
POSTGRES_USER: guacamole_user
|
||||
image: postgres:13.4
|
||||
restart: always
|
||||
volumes:
|
||||
- ./init:/docker-entrypoint-initdb.d:ro
|
||||
- ./data:/var/lib/postgresql/data:rw
|
||||
|
||||
guacamole:
|
||||
container_name: guacamole_compose
|
||||
depends_on:
|
||||
- guacd
|
||||
- postgres
|
||||
environment:
|
||||
GUACD_HOSTNAME: guacd
|
||||
POSTGRES_DATABASE: guacamole_db
|
||||
POSTGRES_HOSTNAME: postgres
|
||||
POSTGRES_PASSWORD: ${PASSWORD}
|
||||
POSTGRES_USER: guacamole_user
|
||||
image: guacamole/guacamole
|
||||
links:
|
||||
- guacd
|
||||
ports:
|
||||
- 8091:8080/tcp
|
||||
restart: always
|
||||
10
heimdall/README.md
Normal file
10
heimdall/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
<h2>Heimdall</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://spin.atomicobject.com/wp-content/uploads/heimdall-icon-large2.png" alt="Heimdall" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<b>Heimdall</b> ist ein Dashboard für alle Ihre Webanwendungen. Es muss jedoch nicht auf Anwendungen beschränkt sein, Sie können Links zu allem hinzufügen, was Sie möchten.
|
||||
<p></p>
|
||||
<a href="https://heimdall.site/" target="_blank">Heimdall</a>
|
||||
<p></p>
|
||||
@@ -1,4 +1,3 @@
|
||||
version: "3"
|
||||
services:
|
||||
heimdall:
|
||||
image: ghcr.io/linuxserver/heimdall
|
||||
@@ -11,5 +10,4 @@ services:
|
||||
- /opt/heimdall/data:/config
|
||||
ports:
|
||||
- 8124:80
|
||||
- 8143:443
|
||||
restart: unless-stopped
|
||||
11
homeassistant/README.md
Normal file
11
homeassistant/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>Home Assistant</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://www.it-und-hausautomation-blog.de/wp-content/uploads/2022/12/1200px-Home_Assistant_Logo.svg.png" alt="Home Assistant" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Home Assistant</b> Home Assistant ist eine kostenlose und quelloffene Software zur Hausautomation, die als zentrales Steuerungssystem in einem Smart Home oder Smart House konzipiert ist. Geschrieben in Python liegt ihr Hauptaugenmerk auf lokaler Steuerung und Privatsphäre.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://www.home-assistant.io/" target="_blank">Home Assistant</a>
|
||||
<p></p>
|
||||
16
homeassistant/config/automations.yaml
Normal file
16
homeassistant/config/automations.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
- id: '1734541261890'
|
||||
alias: Batteriewarnung X5
|
||||
description: ''
|
||||
triggers:
|
||||
- trigger: numeric_state
|
||||
entity_id:
|
||||
- sensor.max_watch_battery_max
|
||||
below: 29.9
|
||||
conditions: []
|
||||
actions:
|
||||
- action: notify.mobile_app_s20_lars
|
||||
metadata: {}
|
||||
data:
|
||||
message: Batterie X5 unter 30%
|
||||
title: Warnung
|
||||
mode: single
|
||||
37
homeassistant/config/configuration.yaml
Normal file
37
homeassistant/config/configuration.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||
default_config:
|
||||
|
||||
# Text to speech
|
||||
tts:
|
||||
- platform: google_translate
|
||||
|
||||
group: !include groups.yaml
|
||||
automation: !include automations.yaml
|
||||
script: !include scripts.yaml
|
||||
scene: !include scenes.yaml
|
||||
|
||||
# Localhost als erlaubter zugang zulassen
|
||||
|
||||
homeassistant:
|
||||
external_url: "https://ha.borgal.de"
|
||||
internal_url: "https://docker:8123"
|
||||
|
||||
customize:
|
||||
sensor.bitshake_smartmeterreader_aktuelle_wirkleistung:
|
||||
unit_of_measurement: "W"
|
||||
device_class: energy
|
||||
|
||||
sensor.bitshake_smartmeterreader_total_in:
|
||||
unit_of_measurement: "kWh"
|
||||
device_class: energy
|
||||
|
||||
sensor.bitshake_smartmeterreader_total_out:
|
||||
unit_of_measurement: "kWh"
|
||||
device_class: energy
|
||||
|
||||
http:
|
||||
use_x_forwarded_for: true
|
||||
trusted_proxies:
|
||||
#- 0.0.0.0
|
||||
- 192.168.0.111 # IP Docker
|
||||
- 10.1.0.0/16 # IP Range Docker Container
|
||||
@@ -1,14 +1,21 @@
|
||||
version: '3'
|
||||
services:
|
||||
homeassistant:
|
||||
container_name: homeassistant
|
||||
restart: always
|
||||
image: homeassistant/home-assistant
|
||||
volumes:
|
||||
- /opt/homeassistant/config:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /dev/serial/by-id:/dev/serial/by-id
|
||||
devices:
|
||||
# - /dev/ttyACM0:/dev/ttyACM0
|
||||
- /dev/ttyUSB0:/dev/ttyUSB0
|
||||
ports:
|
||||
- "192.168.0.111:8123:8123"
|
||||
- 8123:8123
|
||||
privileged: true
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
labels:
|
||||
- com.centurylinklabs.watchtower.enable=true
|
||||
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
|
||||
2
hp-scan/.env.sample
Normal file
2
hp-scan/.env.sample
Normal file
@@ -0,0 +1,2 @@
|
||||
NFS_SERVER=192.168.0.xxx
|
||||
PFAD=/mnt/pool1/scanner
|
||||
12
hp-scan/README.md
Normal file
12
hp-scan/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
<h2>HP-Scan-to</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/HP_logo_2012.svg/2048px-HP_logo_2012.svg.png" alt="HP-Scan-to" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>HP-Scan-to</b> ist eine Node.js-Anwendung, die die Funktionalität des „Scan to Computer“ von HP nachbildet. Zu diesem Zweck wurde die Interaktion der ursprünglichen HP Windows-Anwendung mit dem Gerät zurückentwickelt. Sein Hauptzweck besteht darin, Benutzern das Scannen von Dokumenten direkt von einem HP-Gerät und die nahtlose Übertragung auf einen Computer zu ermöglichen. Im Gegensatz zum Originalprogramm ist dieses Programm so konzipiert, dass es mit Linux (einschließlich Docker) kompatibel ist.
|
||||
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://github.com/manuc66/node-hp-scan-to" target="_blank">HP-Scan-to</a>
|
||||
<p></p>
|
||||
26
hp-scan/docker-compose.yml
Normal file
26
hp-scan/docker-compose.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
services:
|
||||
hp-scan:
|
||||
image: manuc66/node-hp-scan-to:latest
|
||||
container_name: hp-scan
|
||||
hostname: TrueNAS
|
||||
environment:
|
||||
- IP=192.168.0.11
|
||||
- Label=TrueNas-Scan
|
||||
- PATTERN="scan"_dd.mm.yyyy_hh:MM:ss
|
||||
- PGID=1001
|
||||
- PUID=1000
|
||||
- TZ=Europe/Berlin
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=false"
|
||||
volumes:
|
||||
- scan:/scan
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
scan:
|
||||
name: scan
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs4
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD}"
|
||||
18
imapfilter/Dockerfile
Normal file
18
imapfilter/Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
||||
FROM alpine:edge
|
||||
ENV IMAPFILTER_HOME=/volume/configuration
|
||||
VOLUME ${IMAPFILTER_HOME}
|
||||
WORKDIR ${IMAPFILTER_HOME}
|
||||
RUN set -xe \
|
||||
&& addgroup --gid 2000 app \
|
||||
&& adduser --uid 2000 --disabled-password --no-create-home --ingroup app app
|
||||
RUN set -xe \
|
||||
&& apk update \
|
||||
&& apk upgrade \
|
||||
&& apk add --no-cache \
|
||||
libcrypto3 libssl3 \
|
||||
&& apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \
|
||||
imapfilter \
|
||||
&& apk del --progress --purge \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
USER app
|
||||
ENTRYPOINT ["imapfilter"]
|
||||
11
imapfilter/README.md
Normal file
11
imapfilter/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>IMAP-Filter</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://gnulinux.ch/bl-content/uploads/pages/b0acef4f64d6f73352cdcc0b9f1c946a/brett-jordan-LPZy4da9aRo-unsplash.jpg" alt="IMAP-Filter" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>IMAP-Filter</b> ist ein E-Mail-Filterdienstprogramm. Es stellt eine Verbindung zu Remote-Mailservern her und sendet mithilfe des Internet Message Access Protocol (IMAP) Suchanfragen an den Server. Es verarbeitet Postfächer basierend auf den Ergebnissen. Es kann verwendet werden zum Löschen, kopieren, verschieben, kennzeichnen usw. von Nachrichten, die sich gleichzeitig in Postfächern oder auf verschiedene Mailservern befinden.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://github.com/lefcha/imapfilter" target="_blank">IMAP-Filter</a>
|
||||
<p></p>
|
||||
38
imapfilter/config.lua.sample
Normal file
38
imapfilter/config.lua.sample
Normal file
@@ -0,0 +1,38 @@
|
||||
---------------
|
||||
-- Options --
|
||||
---------------
|
||||
|
||||
options.timeout = 120
|
||||
options.subscribe = true
|
||||
options.limit = 50
|
||||
|
||||
----------------
|
||||
-- Accounts --
|
||||
----------------
|
||||
|
||||
account1 = IMAP {
|
||||
server = 'imap.server.de',
|
||||
username = 'ChangeMe',
|
||||
password = 'ChangeMe',
|
||||
ssl = 'ssl3',
|
||||
}
|
||||
|
||||
-----------------
|
||||
-- Mailboxes --
|
||||
-----------------
|
||||
|
||||
check = account1.INBOX:check_status()
|
||||
|
||||
-- SPAM --
|
||||
|
||||
while true do
|
||||
|
||||
account1.INBOX:enter_idle()
|
||||
results = account1.INBOX:contain_field('X-Spam-Status','Yes') +
|
||||
account1.INBOX:contain_subject('Betreff Inhalt 1') +
|
||||
account1.INBOX:contain_subject('Betreff Inhalt 2') +
|
||||
account1.INBOX:contain_message('Text Inhalt 1') +
|
||||
account1.INBOX:contain_message('Text Inhalt 2')
|
||||
results:move_messages(account1['Spam'],results)
|
||||
|
||||
end
|
||||
10
imapfilter/docker-compose.yml
Normal file
10
imapfilter/docker-compose.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
services:
|
||||
imapfilter:
|
||||
build: .
|
||||
container_name: imapfilter
|
||||
volumes:
|
||||
- ./:/volume/configuration
|
||||
- ./config.lua:/volume/configuration/config.lua:ro
|
||||
labels:
|
||||
com.centurylinklabs.watchtower.enable: "false"
|
||||
restart: always
|
||||
26
immich/.env.sample
Normal file
26
immich/.env.sample
Normal file
@@ -0,0 +1,26 @@
|
||||
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
|
||||
|
||||
# The location where your uploaded files are stored
|
||||
UPLOAD_LOCATION=Immich
|
||||
|
||||
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
|
||||
IMMICH_VERSION=release
|
||||
|
||||
# Connection secrets for postgres and typesense. You should change these to random passwords
|
||||
TYPESENSE_API_KEY=some-random-text
|
||||
DB_PASSWORD=ChangeMe
|
||||
IMMICH_HOST=0.0.0.0
|
||||
PUBLIC_URL=https://immich.domain.de
|
||||
|
||||
# The values below this line do not need to be changed
|
||||
###################################################################################
|
||||
DB_HOSTNAME=immich_postgres
|
||||
DB_USERNAME=postgres
|
||||
DB_DATABASE_NAME=immich
|
||||
|
||||
REDIS_HOSTNAME=immich_redis
|
||||
|
||||
# NFS Share
|
||||
###################################################################################
|
||||
NFS_SERVER=192.168.0.xxx
|
||||
PFAD=/pfad/zum/nfs/share
|
||||
11
immich/README.md
Normal file
11
immich/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>Immich</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTEZ3wPH-RD0U8S7h9Zovh4jMEUINrBBIeD-g&s" alt="Immich" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Immich</b> ist eine High Performance self-hosted Foto und Video Management Lösung.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://immich.app/" target="_blank">Immich</a>
|
||||
<p></p>
|
||||
63
immich/docker-compose.yml
Normal file
63
immich/docker-compose.yml
Normal file
@@ -0,0 +1,63 @@
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich_server
|
||||
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||||
volumes:
|
||||
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- 2283:2283
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.monitor-only=true"
|
||||
restart: always
|
||||
|
||||
immich-machine-learning:
|
||||
container_name: immich_machine_learning
|
||||
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
|
||||
volumes:
|
||||
- ./model-cache:/cache
|
||||
env_file:
|
||||
- .env
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.monitor-only=true"
|
||||
restart: always
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: redis:6.2-alpine
|
||||
volumes:
|
||||
- ./redis:/data
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.monitor-only=true"
|
||||
restart: always
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: tensorchord/pgvecto-rs:pg14-v0.2.0
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_USER: ${DB_USERNAME}
|
||||
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||||
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||
volumes:
|
||||
- ./DB-data:/var/lib/postgresql/data
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.monitor-only=true"
|
||||
command: ["postgres", "-c", "shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
Immich:
|
||||
name: Immich
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs4
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD}"
|
||||
10
jdownloader/.env.sample
Normal file
10
jdownloader/.env.sample
Normal file
@@ -0,0 +1,10 @@
|
||||
# MyJDownloader
|
||||
###################################################################################
|
||||
MYJ_MAIL=mail@domain.de
|
||||
MYJ_PASSWORD=ChangeMe
|
||||
|
||||
|
||||
# NFS Share
|
||||
###################################################################################
|
||||
NFS_SERVER=192.168.0.xxx
|
||||
PFAD=/Pfad/zum/Ziel
|
||||
11
jdownloader/README.md
Normal file
11
jdownloader/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>jDownloader</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://upload.wikimedia.org/wikipedia/commons/f/f7/Jdownloader.png" alt="jDownloader" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>jDownloader</b> ist ein in Java geschriebener Download-Manager, der primär für das automatisierte Herunterladen bei Sharehostern entwickelt wurde. Zusätzlich ermöglicht das Programm das Herunterladen von Videos von Videoportalen wie z. B. YouTube.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://adguard.com/de/adguard-home/overview.html/" target="_blank">jDownloader</a>
|
||||
<p></p>
|
||||
28
jdownloader/docker-compose.yml
Normal file
28
jdownloader/docker-compose.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
services:
|
||||
jdownloader-2:
|
||||
image: jlesage/jdownloader-2
|
||||
container_name: jdownloader2
|
||||
ports:
|
||||
- 5800:5800
|
||||
- 3129:3129
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1001
|
||||
- LANG=de_DE.UTF-8
|
||||
- TZ=Europe/Berlin
|
||||
- KEEP_APP_RUNNING=1
|
||||
- MYJDOWNLOADER_EMAIL=${MAIL}
|
||||
- MYJDOWNLOADER_PASSWORD=${PASSWORD}
|
||||
- MYJDOWNLOADER_DEVICE_NAME=Docker
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- jdownloader:/output
|
||||
|
||||
volumes:
|
||||
jdownloader:
|
||||
name: jdownloader
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs4
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD}"
|
||||
@@ -1,2 +1,5 @@
|
||||
NFS_SERVER=192.168.0.xxx # oder hostname oder Domain
|
||||
PFAD_HD=/Pfad/zum/Ordner/HD
|
||||
NFS_SERVER=192.168.0.xxx
|
||||
PFAD=/Pfad/zu/den/Videos
|
||||
#
|
||||
# Auf Rechte achten
|
||||
#
|
||||
@@ -1,30 +1,28 @@
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
jellyfin:
|
||||
image: lscr.io/linuxserver/jellyfin
|
||||
image: lscr.io/linuxserver/jellyfin:latest
|
||||
container_name: jellyfin
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- PGID=1001
|
||||
- TZ=Europe/Berlin
|
||||
- JELLYFIN_PublishedServerUrl= #optional
|
||||
#- JELLYFIN_PublishedServerUrl=http://192.168.0.5 #optional
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- ./tvseries:/data/tvshows
|
||||
- hd:/data/movies
|
||||
#- /path/to/tvseries:/data/tvshows
|
||||
- video:/data/movies
|
||||
ports:
|
||||
- 8096:8096
|
||||
- 8920:8920 #optional
|
||||
- 7359:7359/udp #optional
|
||||
- 1905:1900/udp #optional
|
||||
- 8097:8096
|
||||
#- 8920:8920 #optional
|
||||
#- 7359:7359/udp #optional
|
||||
#- 1900:1900/udp #optional
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
hd:
|
||||
name: hd
|
||||
video:
|
||||
name: video
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
type: nfs4
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD_HD}"
|
||||
device: ":${PFAD}"
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#MySQL Datenbank
|
||||
MYSQL_USER=ChangeMe
|
||||
MYSQL_PASS=ChangeMe
|
||||
MYSQL_ROOT_PASS=ChangeMe
|
||||
@@ -1,36 +0,0 @@
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
db:
|
||||
image: mariadb:latest
|
||||
container_name: kanboard_db
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASS}
|
||||
- MYSQL_DATABASE=kanboard
|
||||
- MYSQL_USER=${MYSQL_USER}
|
||||
- MYSQL_PASSWORD={MYSQL_PASS}
|
||||
volumes:
|
||||
- ./db:/var/lib/mysql
|
||||
restart: unless-stopped
|
||||
|
||||
kanboard:
|
||||
image: kanboard/kanboard:latest
|
||||
container_name: kanboard_app
|
||||
ports:
|
||||
- 8002:80
|
||||
volumes:
|
||||
- ./data:/var/www/app/data
|
||||
- ./plugins:/var/www/app/plugins
|
||||
- ./ssl:/etc/nginx/ssl
|
||||
environment:
|
||||
- DATABASE_HOST=db
|
||||
- DATABASE_USER=${MYSQL_USER}
|
||||
- DATABASE_PASSWORD={MYSQL_PASS}
|
||||
- DATABASE_NAME=kanboard
|
||||
depends_on:
|
||||
- db
|
||||
links:
|
||||
- db:db
|
||||
restart: unless-stopped
|
||||
|
||||
22
kasm/docker-compose.yml
Normal file
22
kasm/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
services:
|
||||
kasm:
|
||||
image: lscr.io/linuxserver/kasm:latest
|
||||
container_name: kasm
|
||||
privileged: true
|
||||
security_opt:
|
||||
- apparmor:rootlesskit #optional
|
||||
environment:
|
||||
- KASM_PORT=8443
|
||||
- TZ=Europe/Berlin
|
||||
- PGID=1000
|
||||
- PUID=1001
|
||||
|
||||
volumes:
|
||||
- ./data:/opt
|
||||
- ./profiles:/profiles
|
||||
- ./dev/input:/dev/input
|
||||
- ./run/udev/data:/run/udev/data
|
||||
ports:
|
||||
- 3001:3000
|
||||
- 8443:8443
|
||||
restart: unless-stopped
|
||||
91
knxd/README.md
Normal file
91
knxd/README.md
Normal file
@@ -0,0 +1,91 @@
|
||||
<h2>knxd</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://bookstack.borgal.de/uploads/images/gallery/2021-04/1200px-knx-logo.png" alt="knxd" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>knxd</b> ist ein weit verbreitetes Protokoll für die Gebäudeautomation, das über eine dedizierte 9600-Baud-Leitung sowie IP-Multicast läuft. knxd ist ein fortschrittlicher Router/Gateway, der auf jedem Linux-Computer läuft. Es kann mit allen bekannten KNX-Schnittstellen kommunizieren.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://github.com/henfri/docker" target="_blank">knxd v0.12.6</a>
|
||||
<p></p>
|
||||
<h3>HowTo</h3>
|
||||
<hr>
|
||||
<p></p>
|
||||
<p>Config</p>
|
||||
<pre>services:
|
||||
knxd:
|
||||
image: henfri/knxd:v0.12.6
|
||||
container_name: knxd
|
||||
network_mode: "host"
|
||||
command: knxd -t 1022 -e 1.1.250 -E 1.1.230:8 -f9 -DTRS -c -B single --send-delay=120 -b ipt:192.168.0.200
|
||||
restart: always</pre>
|
||||
|
||||
|
||||
|
||||
<p id="bkmrk--t-1022-und--f9-ist-" class="callout info">-t 1022 und -f9 ist für loggin, kann wenn es keine Probleme gibt auch aus geschaltet werden.</p>
|
||||
|
||||
<p id="bkmrk-backup" class="callout danger"><strong><span style="color: #ff0000;">Schnittstelle benötigt ca. 1 Minute bis sie läuft.</span></strong></p>
|
||||
<p id="bkmrk-%C2%A0"></p>
|
||||
<h3 id="bkmrk-backup-0">Backup</h3>
|
||||
<hr id="bkmrk--0">
|
||||
<p id="bkmrk-ab-version-14-muss-m" class="callout warning"><span style="color: #ff0000;">Ab Version 14 muss mit config.ini Datei gearbeitet werden, gab bei mir Probleme daher wieder Version 12.6</span></p>
|
||||
<p id="bkmrk-%C2%A0-1"></p>
|
||||
<p id="bkmrk-docker-hub"><a href="https://hub.docker.com/r/tekn0ir/knxd" target="_blank" rel="noopener">Docker-Hub</a></p>
|
||||
<p id="bkmrk-docker-compose-beisp"><a href="https://github.com/julakali/smarthome-compose" target="_blank" rel="noopener">Docker-Compose Beispiel</a></p>
|
||||
<p id="bkmrk-original-aus-alter-k"><span style="color: #003366;"><em>Original aus alter knxd Config</em></span></p>
|
||||
<pre id="bkmrk-knxd_opts%3D%22-e-1.1.25"><code class="language-">KNXD_OPTS="-e 1.1.254 -E 1.1.200:8 -D -T -R -S -B single -b ipt:192.168.0.200"</code></pre>
|
||||
<p id="bkmrk-docker-compose.yml-0"><span style="color: #003366;"><em>docker-compose.yml</em></span></p>
|
||||
<pre id="bkmrk-version%3A-%273.4%27-servi"><code class="language-">version: '3.4'
|
||||
services:
|
||||
knxd:
|
||||
image: renehezser/knxd
|
||||
container_name: knxd
|
||||
ports:
|
||||
- 6720:6720
|
||||
- 3671:3671
|
||||
volumes:
|
||||
- /opt/knxd/config.ini:/config.ini
|
||||
restart: always
|
||||
network_mode: host</code></pre>
|
||||
<p id="bkmrk-config.ini"><span style="color: #003366;">config.ini</span></p>
|
||||
<pre id="bkmrk-%5Bmain%5D-name-%3D-knxd-a"><code class="language-">[main]
|
||||
name = knxd
|
||||
addr = 1.1.254
|
||||
client-addrs = 1.1.200:8
|
||||
connections = server,B.tcp,C.ipt
|
||||
cache = A.cache
|
||||
systemd = systemd
|
||||
|
||||
[server]
|
||||
debug = debug-server
|
||||
discover = true
|
||||
router = router
|
||||
server = ets_router
|
||||
tunnel = tunnel
|
||||
|
||||
[B.tcp]
|
||||
server = knxd_tcp
|
||||
systemd-ignore = true
|
||||
filters = queue,D.filter
|
||||
|
||||
[C.ipt]¸
|
||||
driver = ipt
|
||||
retry-delay = 30
|
||||
filters = single,queue,D.filter
|
||||
ip-address = 192.168.0.200
|
||||
debug = debug-server
|
||||
|
||||
[D.filter]
|
||||
delay = 20
|
||||
filter = pace
|
||||
|
||||
[debug-server]
|
||||
name = mcast:knxd
|
||||
#error-level = 0x9
|
||||
#trace-mask = 0xffc</code></pre>
|
||||
<p id="bkmrk-%C2%A0-2"></p>
|
||||
<p id="bkmrk-service-auf-services">Service auf Serviceserver disabled</p>
|
||||
<pre id="bkmrk-systemctl-disable-kn"><code class="language-">systemctl disable knxd.socket
|
||||
systemctl disable knxd.service</code></pre>
|
||||
<p id="bkmrk-%C2%A0-3"></p>
|
||||
@@ -1,11 +1,18 @@
|
||||
version: "2"
|
||||
services:
|
||||
knxd:
|
||||
image: henfri/knxd:v0.12.6
|
||||
container_name: knxd
|
||||
network_mode: "host"
|
||||
#
|
||||
# Logging kann damit aktiviert werden, wenn es zu Problemen kommt - zum aktivieren muss der Container entfernt werden!!!
|
||||
# command: knxd -t 1022 -e 1.1.250 -E 1.1.210:30 -f9 -DTRS -c -B single --send-delay=120 -b ipt:192.168.0.200
|
||||
command: knxd -e 1.1.250 -E 1.1.210:30 -DTRS -c -i --send-delay=120 -B single -b ipt:192.168.0.200
|
||||
logging:
|
||||
options:
|
||||
max-file: '2'
|
||||
max-size: 10m
|
||||
restart: always
|
||||
|
||||
#
|
||||
# mit logging, wenn es zu Problemen kommt
|
||||
command: knxd -e 1.1.250 -E 1.1.210:10 -f6 -t1023 -DTRS -c -B single --send-delay=150 -b ipt:192.168.0.200
|
||||
#
|
||||
# ohne logging -i deaktiviert zum testen
|
||||
#
|
||||
# command: knxd -e 1.1.250 -E 1.1.210:8 -DTRS -c -B single --send-delay=30 -b ipt:192.168.0.200
|
||||
|
||||
11
mealie/README.md
Normal file
11
mealie/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>Mealie</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://static-00.iconduck.com/assets.00/mealie-icon-512x489-939jw8dj.png" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Mealie</b> ist eine intuitive und einfach zu bedienende Rezeptverwaltungs-App. Es wurde entwickelt, um Ihnen das Leben zu erleichtern, indem es das beste Rezeptverwaltungserlebnis im Internet bietet und Ihnen eine benutzerfreundliche Oberfläche zur Verwaltung Ihrer wachsenden Rezeptsammlung bietet.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://mealie.io/" target="_blank">Mealie</a>
|
||||
<p></p>
|
||||
41
mealie/docker-compose.yml
Normal file
41
mealie/docker-compose.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
services:
|
||||
mealie:
|
||||
container_name: mealie
|
||||
image: hkotel/mealie:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
ports:
|
||||
- 9925:9000
|
||||
environment:
|
||||
ALLOW_SIGNUP: "false"
|
||||
BASE_URL: "https://rezepte.borgal.de"
|
||||
API_DOCS: "false"
|
||||
|
||||
DB_ENGINE: sqlite # Optional: 'sqlite', 'postgres'
|
||||
# =====================================
|
||||
# Postgres Config
|
||||
POSTGRES_USER: mealie
|
||||
POSTGRES_PASSWORD: mealie
|
||||
POSTGRES_SERVER: postgres
|
||||
POSTGRES_PORT: 5432
|
||||
POSTGRES_DB: mealie
|
||||
|
||||
# Webworker
|
||||
# =====================================
|
||||
# Web Concurrency
|
||||
WEB_GUNICORN: "false"
|
||||
WORKERS_PER_CORE: 0.5
|
||||
MAX_WORKERS: 1
|
||||
WEB_CONCURRENCY: 1
|
||||
|
||||
# Mail settings
|
||||
# =====================================
|
||||
# Email Configuration
|
||||
# SMTP_HOST=
|
||||
# SMTP_PORT=587
|
||||
# SMTP_FROM_NAME=Mealie
|
||||
# SMTP_AUTH_STRATEGY=TLS # Options: 'TLS', 'SSL', 'NONE'
|
||||
# SMTP_FROM_EMAIL=
|
||||
# SMTP_USER=
|
||||
# SMTP_PASSWORD=
|
||||
11
mumble/README.md
Normal file
11
mumble/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>Mumble</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Icons_mumble.svg/1024px-Icons_mumble.svg.png" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Mumble</b> ist eine freie Sprachkonferenzsoftware, die sich wegen niedriger Latenzzeit und guter Audioqualität unter anderem für den Einsatz parallel zu Onlinespielen eignet.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://www.mumble.info/" target="_blank">Mumble</a>
|
||||
<p></p>
|
||||
@@ -1,5 +1,3 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
murmur:
|
||||
image: vimagick/murmur
|
||||
|
||||
11
node-red/README.md
Normal file
11
node-red/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>Node-RED</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://blog.quindorian.org/wp-content/uploads/2019/05/node-red-logo.png" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Node-RED</b> ist ein von IBM entwickeltes grafisches Entwicklungswerkzeug. Die Software ermöglicht es, Anwendungsfälle im Bereich des Internets der Dinge mit einem einfachen Baukastenprinzip umzusetzen. Die einzelnen Funktionsbausteine werden durch Ziehen von Verbindungen verbunden.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://nodered.org/" target="_blank">Node-RED</a>
|
||||
<p></p>
|
||||
@@ -1,19 +1,16 @@
|
||||
version: '2.1'
|
||||
|
||||
services:
|
||||
nodered:
|
||||
container_name: node-red
|
||||
image: nodered/node-red
|
||||
user: root
|
||||
user: 0:0
|
||||
ports:
|
||||
- "1880:1880"
|
||||
dns:
|
||||
- 192.168.0.1
|
||||
- 8.8.8.8
|
||||
- 1880:1880
|
||||
- 1883:1883
|
||||
volumes:
|
||||
- /opt/node-red/data:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ./data:/data
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
#- PGID=1000
|
||||
#- PUID=1000
|
||||
restart: always
|
||||
network_mode: host
|
||||
|
||||
1
onlyoffice/.env.sample
Normal file
1
onlyoffice/.env.sample
Normal file
@@ -0,0 +1 @@
|
||||
SECRET=ChangeMe
|
||||
11
onlyoffice/README.md
Normal file
11
onlyoffice/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>OnlyOffice</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://media.graphassets.com/X8UAyIhwQom80fua3x8T" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>OnlyOffice</b> ist ein neues Office-Programm, das auf Geschwindigkeit und Cloud-Anbindung setzt. Gleichzeitig werden alle Formate von MS Office unterstützt (DOCX, XLSX, PPTX), auch Open-Document Formate können problemlos bearbeitet werden. Zwar kommt das Open-Source-Programm bislang mit weniger Features aus als die Konkurrenz, punktet dafür aber mit innovativen Neuerungen..
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://www.onlyoffice.com/de/" target="_blank">OnlyOffice</a>
|
||||
<p></p>
|
||||
19
onlyoffice/docker-compose.yml
Normal file
19
onlyoffice/docker-compose.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
services:
|
||||
onlyoffice-document-server:
|
||||
container_name: onlyoffice-document-server
|
||||
image: onlyoffice/documentserver
|
||||
stdin_open: true
|
||||
tty: true
|
||||
restart: always
|
||||
environment:
|
||||
- JWT_SECRET=${SECRET}
|
||||
ports:
|
||||
- 8016:80
|
||||
volumes:
|
||||
- ./document_log:/var/log/onlyoffice
|
||||
- ./document_data:/var/www/onlyoffice/Data
|
||||
- ./document_lib:/var/lib/onlyoffice
|
||||
- ./fonts:/usr/share/fonts/truetype/custom
|
||||
- ./redis:/var/lib/redis
|
||||
- ./db:/var/lib/postgresql
|
||||
- ./rabbitmq:/var/lib/rabbitmq
|
||||
@@ -1,26 +0,0 @@
|
||||
version: '2.2'
|
||||
|
||||
services:
|
||||
openhab:
|
||||
image: "openhab/openhab:3.0.1"
|
||||
container_name: openhab
|
||||
restart: always
|
||||
network_mode: host
|
||||
volumes:
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "./openhab_addons:/openhab/addons"
|
||||
- "./openhab_conf:/openhab/conf"
|
||||
- "./openhab_userdata:/openhab/userdata"
|
||||
environment:
|
||||
OPENHAB_HTTP_PORT: "8081"
|
||||
OPENHAB_HTTPS_PORT: "8444"
|
||||
EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin"
|
||||
|
||||
volumes:
|
||||
openhab_addons:
|
||||
driver: local
|
||||
openhab_conf:
|
||||
driver: local
|
||||
openhab_userdata:
|
||||
driver: local
|
||||
4
owncloud/.env.sample
Normal file
4
owncloud/.env.sample
Normal file
@@ -0,0 +1,4 @@
|
||||
OWNCLOUD_DOMAIN=owncloud.domain.de
|
||||
OWNCLOUD_TRUSTED_DOMAINS=owncloud.domain.de
|
||||
ADMIN_USERNAME=ChangeMe
|
||||
ADMIN_PASSWORD=ChangeMe
|
||||
11
owncloud/README.md
Normal file
11
owncloud/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>OwnCloud</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://www.etes.de/files/etes/logo/ownCloud_Logo.png" alt="Owncloud" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>OwnCloud</b> ist ein Open-Source-Software-Projekt, das eine Content Collaboration Plattform für den Einsatz in Unternehmen entwickelt, die das Speichern, Verteilen und gleichzeitige Bearbeiten von Daten auf eigenen Servern und Endgeräten organisiert..
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://owncloud.com/de/" target="_blank">OwnCloud</a>
|
||||
<p></p>
|
||||
62
owncloud/docker-compose.yml
Normal file
62
owncloud/docker-compose.yml
Normal file
@@ -0,0 +1,62 @@
|
||||
services:
|
||||
owncloud:
|
||||
image: owncloud/server
|
||||
container_name: owncloud_server
|
||||
restart: always
|
||||
ports:
|
||||
- 8013:8080
|
||||
depends_on:
|
||||
- mariadb
|
||||
- redis
|
||||
environment:
|
||||
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
|
||||
- OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS}
|
||||
- OWNCLOUD_DB_TYPE=mysql
|
||||
- OWNCLOUD_DB_NAME=owncloud
|
||||
- OWNCLOUD_DB_USERNAME=owncloud
|
||||
- OWNCLOUD_DB_PASSWORD=owncloud
|
||||
- OWNCLOUD_DB_HOST=mariadb
|
||||
- OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
|
||||
- OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
|
||||
- OWNCLOUD_MYSQL_UTF8MB4=true
|
||||
- OWNCLOUD_REDIS_ENABLED=true
|
||||
- OWNCLOUD_REDIS_HOST=redis
|
||||
# healthcheck:
|
||||
# test: ["CMD", "/usr/bin/healthcheck"]
|
||||
# interval: 30s
|
||||
# timeout: 10s
|
||||
# retries: 5
|
||||
volumes:
|
||||
- ./files:/mnt/data
|
||||
|
||||
|
||||
mariadb:
|
||||
image: mariadb:10.11
|
||||
container_name: owncloud_mariadb
|
||||
restart: always
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=owncloud
|
||||
- MYSQL_USER=owncloud
|
||||
- MYSQL_PASSWORD=owncloud
|
||||
- MYSQL_DATABASE=owncloud
|
||||
command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
volumes:
|
||||
- ./mysql:/var/lib/mysql
|
||||
|
||||
redis:
|
||||
image: redis:6
|
||||
container_name: owncloud_redis
|
||||
restart: always
|
||||
command: ["--databases", "1"]
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
volumes:
|
||||
- ./redis:/data
|
||||
2
paperless/.env.sample
Normal file
2
paperless/.env.sample
Normal file
@@ -0,0 +1,2 @@
|
||||
NFS_SERVER=192.168.0.xxx
|
||||
PFAD=/mnt/pfad/zum/ordner
|
||||
160
paperless/README.md
Normal file
160
paperless/README.md
Normal file
@@ -0,0 +1,160 @@
|
||||
<h2>Paperless ngx</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/paperless-ngx-banner.png" alt="Paperless" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Paperless ngx</b> ist ein von der Community unterstütztes Open-Source-Dokumentenverwaltungssystem, das Ihre physischen Dokumente in ein durchsuchbares Online-Archiv umwandelt, sodass Sie weniger Papier benötigen.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://docs.paperless-ngx.com/" target="_blank">Paperless ngx</a>
|
||||
<p></p>
|
||||
<h2>HowTo</h2>
|
||||
<hr>
|
||||
<p></p>
|
||||
<h4>/etc/fstab Mount zu Scanner Verzeichniss</h4>
|
||||
<p></p>
|
||||
<pre>192.168.0.102:/mnt/pool1/scanner /opt/paperless/consume nfs auto 0 0</pre>
|
||||
<p></p>
|
||||
<h5>gegebenfalls noch die NFS Tools installieren</h5>
|
||||
<pre>apt install nfs-common</pre>
|
||||
<p></p>
|
||||
|
||||
|
||||
# Update Paperless-ngx mit DB-upgrade !
|
||||
|
||||
### Schritt 1: Datenbank sichern und vorbereiten
|
||||
|
||||
1. **Stoppen Sie den `webserver`-Dienst**, um zu verhindern, dass die Anwendung während des Backups Daten in die Datenbank schreibt. Der `db`-Dienst muss dabei **laufen**.
|
||||
|
||||
```
|
||||
docker compose stop webserver
|
||||
|
||||
```
|
||||
|
||||
2. **Überprüfen Sie, ob der `db`-Dienst läuft**.
|
||||
|
||||
```
|
||||
docker compose ps
|
||||
|
||||
```
|
||||
|
||||
Der Status von `paperless_db` sollte `Up` sein. Wenn er nicht läuft, müssen Sie die Logs mit `docker compose logs db` überprüfen, um das Problem zu beheben, bevor Sie fortfahren.
|
||||
|
||||
3. **Führen Sie den Backup-Befehl aus**. Dieser Befehl startet `pg_dump` innerhalb des laufenden `db`-Containers und speichert die Ausgabe in eine Datei auf Ihrem Host.
|
||||
|
||||
```
|
||||
docker compose exec db pg_dump -U paperless -Fc paperless > paperless_db_backup.dump
|
||||
|
||||
```
|
||||
|
||||
Eine komprimierte Backup-Datei namens `paperless_db_backup.dump` wird im selben Verzeichnis wie Ihre `docker-compose.yml` erstellt.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
### Schritt 2: `docker-compose.yml` aktualisieren
|
||||
|
||||
1. **Stoppen Sie alle Dienste**, um eine saubere Ausgangsbasis zu schaffen.
|
||||
|
||||
```
|
||||
docker compose down
|
||||
|
||||
```
|
||||
|
||||
2. **Bearbeiten Sie Ihre `docker-compose.yml`-Datei.**
|
||||
|
||||
- Ändern Sie das `image` für den `db`-Dienst von `postgres:13` auf `postgres:17`.
|
||||
|
||||
- **Wichtig:** Ändern Sie den `volumes`-Pfad für die neuen Datenbankdaten, um zu verhindern, dass die alten Daten überschrieben werden. PostgreSQL-Versionen sind nicht direkt kompatibel.
|
||||
|
||||
|
||||
YAML
|
||||
|
||||
```
|
||||
# ...
|
||||
services:
|
||||
# ...
|
||||
db:
|
||||
image: docker.io/library/postgres:17 # Version geändert
|
||||
container_name: paperless_db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./db_v17_data:/var/lib/postgresql/data # WICHTIG: Pfad geändert
|
||||
environment:
|
||||
POSTGRES_DB: paperless
|
||||
POSTGRES_USER: paperless
|
||||
POSTGRES_PASSWORD: paperless
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.monitor-only=true"
|
||||
# ...
|
||||
|
||||
```
|
||||
|
||||
3. **Starten Sie nur den neuen Datenbank-Container**.
|
||||
|
||||
|
||||
```
|
||||
docker compose up -d db
|
||||
|
||||
```
|
||||
|
||||
Dadurch wird ein neuer, leerer PostgreSQL 17-Container erstellt.
|
||||
|
||||
|
||||
4. **Importieren über einen temporären Ordner**.
|
||||
|
||||
|
||||
```
|
||||
docker compose cp paperless_db_backup.dump db:/tmp/paperless_db_backup.dump
|
||||
|
||||
```
|
||||
|
||||
Dieser Befehl kopiert Ihre lokale Backup-Datei in das `/tmp`-Verzeichnis des laufenden `db`-Containers.
|
||||
|
||||
2. **Stellen Sie das Backup im Container wieder her:**
|
||||
|
||||
|
||||
```
|
||||
docker compose exec db sh -c "pg_restore -U paperless -d paperless /tmp/paperless_db_backup.dump"
|
||||
|
||||
```
|
||||
|
||||
Hierbei übergeben Sie den Pfad der Datei direkt an den `pg_restore`-Befehl, anstatt die Eingabe umzuleiten.
|
||||
|
||||
### Letzter Schritt: Dienste starten und bereinigen
|
||||
|
||||
1. **Starten Sie die Paperless-ngx-Dienste:** Führen Sie den folgenden Befehl aus, um alle Dienste, einschließlich des `webserver`s, zu starten.
|
||||
|
||||
Bash
|
||||
|
||||
```
|
||||
docker compose up -d
|
||||
|
||||
```
|
||||
|
||||
2. **Überprüfen Sie die Funktionalität:** Öffnen Sie die Paperless-ngx-Weboberfläche in Ihrem Browser. Melden Sie sich an und überprüfen Sie, ob Ihre Dokumente korrekt angezeigt werden und die Anwendung wie erwartet funktioniert.
|
||||
|
||||
3. **Bereinigen Sie die temporären Dateien:** Wenn alles einwandfrei läuft, können Sie die erstellten Sicherungsdateien löschen.
|
||||
|
||||
Bash
|
||||
|
||||
```
|
||||
rm paperless_db_backup.dump
|
||||
|
||||
```
|
||||
|
||||
Sie können auch das alte Datenbank-Volume löschen, um Speicherplatz freizugeben.
|
||||
|
||||
4. **Löschen Sie die alte Datenbank (optional):** Falls Sie das alte Datenbank-Volume nicht mehr benötigen, können Sie es ebenfalls entfernen. **Seien Sie hier vorsichtig, um keine wichtigen Daten zu verlieren.**
|
||||
|
||||
Bash
|
||||
|
||||
```
|
||||
docker volume ls # find the old volume name
|
||||
docker volume rm <old_volume_name>
|
||||
|
||||
```
|
||||
|
||||
|
||||
Herzlichen Glückwunsch, Ihre PostgreSQL-Datenbank wurde erfolgreich von Version 13 auf 17 migriert!
|
||||
48
paperless/docker-compose.env
Normal file
48
paperless/docker-compose.env
Normal file
@@ -0,0 +1,48 @@
|
||||
# The UID and GID of the user used to run paperless in the container. Set this
|
||||
# to your UID and GID on the host so that you have write access to the
|
||||
# consumption directory.
|
||||
USERMAP_UID=1000
|
||||
USERMAP_GID=1001
|
||||
|
||||
# Additional languages to install for text recognition, separated by a
|
||||
# whitespace. Note that this is
|
||||
# different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the
|
||||
# language used for OCR.
|
||||
# The container installs English, German, Italian, Spanish and French by
|
||||
# default.
|
||||
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
|
||||
# for available languages.
|
||||
# PAPERLESS_OCR_LANGUAGES=tur ces
|
||||
|
||||
###############################################################################
|
||||
# Paperless-specific settings #
|
||||
###############################################################################
|
||||
|
||||
# All settings defined in the paperless.conf.example can be used here. The
|
||||
# Docker setup does not use the configuration file.
|
||||
# A few commonly adjusted settings are provided below.
|
||||
|
||||
# Adjust this key if you plan to make paperless available publicly. It should
|
||||
# be a very long sequence of random characters. You don't need to remember it.
|
||||
# PAPERLESS_SECRET_KEY=change-me
|
||||
|
||||
# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
|
||||
PAPERLESS_TIME_ZONE=Europe/Berlin
|
||||
|
||||
# The default language to use for OCR. Set this to the language most of your
|
||||
# documents are written in.
|
||||
PAPERLESS_OCR_LANGUAGE=deu
|
||||
PAPERLESS_OCR_LANGUAGES=deu
|
||||
|
||||
# Eigene Einstellungen
|
||||
#
|
||||
# PAPERLESS_FILENAME_FORMAT_REMOVE_NONE=True
|
||||
PAPERLESS_FILENAME_FORMAT={document_type}/{correspondent}/{created_year}/{title}
|
||||
PAPERLESS_CONSUMER_POLLING=10
|
||||
PAPERLESS_URL=https://dms.borgal.de
|
||||
PAPERLESS_PRE_CONSUME_SCRIPT=/usr/src/paperless/scripts/pre-consume.sh
|
||||
|
||||
# QR Code Scanner
|
||||
PAPERLESS_CONSUMER_ENABLE_BARCODES=true
|
||||
PAPERLESS_CONSUMER_ENABLE_ASN_BARCODE=true
|
||||
PAPERLESS_CONSUMER_BARCODE_SCANNER=ZXING
|
||||
@@ -1,17 +1,99 @@
|
||||
---
|
||||
version: "2.1"
|
||||
# docker-compose file for running paperless from the Docker Hub.
|
||||
# This file contains everything paperless needs to run.
|
||||
# Paperless supports amd64, arm and arm64 hardware.
|
||||
#
|
||||
# All compose files of paperless configure paperless in the following way:
|
||||
#
|
||||
# - Paperless is (re)started on system boot, if it was running before shutdown.
|
||||
# - Docker volumes for storing data are managed by Docker.
|
||||
# - Folders for importing and exporting files are created in the same directory
|
||||
# as this file and mounted to the correct folders inside the container.
|
||||
# - Paperless listens on port 8000.
|
||||
#
|
||||
# In addition to that, this docker-compose file adds the following optional
|
||||
# configurations:
|
||||
#
|
||||
# - Instead of SQLite (default), PostgreSQL is used as the database server.
|
||||
#
|
||||
# To install and update paperless with this file, do the following:
|
||||
#
|
||||
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
|
||||
# and '.env' into a folder.
|
||||
# - Run 'docker-compose pull'.
|
||||
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
|
||||
# - Run 'docker-compose up -d'.
|
||||
#
|
||||
# For more extensive installation and update instructions, refer to the
|
||||
# documentation.
|
||||
|
||||
services:
|
||||
paperless-ng:
|
||||
image: lscr.io/linuxserver/paperless-ng
|
||||
container_name: paperless-ng
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
- REDIS_URL= #optionaler Punkt
|
||||
broker:
|
||||
image: docker.io/library/redis:7
|
||||
container_name: paperless_redis
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- ./data:/data
|
||||
ports:
|
||||
- 8009:8000
|
||||
- ./redis:/data
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: docker.io/library/postgres:13
|
||||
container_name: paperless_db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./db:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_DB: paperless
|
||||
POSTGRES_USER: paperless
|
||||
POSTGRES_PASSWORD: paperless
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.monitor-only=true"
|
||||
|
||||
webserver:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||
container_name: paperless_app
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
- broker
|
||||
- gotenberg
|
||||
- tika
|
||||
ports:
|
||||
- 8009:8000/tcp
|
||||
volumes:
|
||||
- ./data:/usr/src/paperless/data
|
||||
- ./export:/usr/src/paperless/export
|
||||
- ./consume:/usr/src/paperless/consume
|
||||
- ./scripts:/usr/src/paperless/scripts
|
||||
- media:/usr/src/paperless/media
|
||||
env_file: docker-compose.env
|
||||
environment:
|
||||
PAPERLESS_REDIS: redis://broker:6379
|
||||
PAPERLESS_DBHOST: db
|
||||
PAPERLESS_BIND_ADDR: 0.0.0.0
|
||||
PAPERLESS_TIKA_ENABLED: 1
|
||||
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
|
||||
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
|
||||
|
||||
gotenberg:
|
||||
image: docker.io/gotenberg/gotenberg:8.7
|
||||
restart: unless-stopped
|
||||
|
||||
# The gotenberg chromium route is used to convert .eml files. We do not
|
||||
# want to allow external content like tracking pixels or even javascript.
|
||||
command:
|
||||
- "gotenberg"
|
||||
- "--chromium-disable-javascript=true"
|
||||
- "--chromium-allow-list=file:///tmp/.*"
|
||||
- "--api-timeout=60"
|
||||
|
||||
tika:
|
||||
image: docker.io/apache/tika:latest
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
media:
|
||||
name: media
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs4
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD}"
|
||||
5
paperless/scripts/pre-consume.sh
Executable file
5
paperless/scripts/pre-consume.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
set -x
|
||||
|
||||
# Remove blank pages
|
||||
/usr/src/paperless/scripts/remove-blank-pages.sh
|
||||
49
paperless/scripts/remove-blank-pages.sh
Executable file
49
paperless/scripts/remove-blank-pages.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
#set -x -e -o pipefail
|
||||
set -e -o pipefail
|
||||
export LC_ALL=C
|
||||
|
||||
#IN="$1"
|
||||
IN="$DOCUMENT_WORKING_PATH"
|
||||
|
||||
# Check for PDF format
|
||||
TYPE=$(file -b "$IN")
|
||||
|
||||
if [ "${TYPE%%,*}" != "PDF document" ]; then
|
||||
>&2 echo "Skipping $IN - non PDF [$TYPE]."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# PDF file - proceed
|
||||
|
||||
#PAGES=$(pdfinfo "$IN" | grep ^Pages: | tr -dc '0-9')
|
||||
PAGES=$(pdfinfo "$IN" | awk '/Pages:/ {print $2}')
|
||||
|
||||
>&2 echo Total pages $PAGES
|
||||
|
||||
|
||||
# Threshold for HP scanners
|
||||
# THRESHOLD=1
|
||||
# Threshold for Lexmar MC2425
|
||||
THRESHOLD=0.8
|
||||
|
||||
|
||||
non_blank() {
|
||||
for i in $(seq 1 $PAGES) ; do
|
||||
PERCENT=$(gs -o - -dFirstPage=${i} -dLastPage=${i} -sDEVICE=ink_cov "${IN}" | grep CMYK | nawk 'BEGIN { sum=0; } {sum += $1 + $2 + $3 + $4;} END { printf "%.5f\n", sum } ')
|
||||
>&2 echo -n "Color-sum in page $i is $PERCENT: "
|
||||
if awk "BEGIN { exit !($PERCENT > $THRESHOLD) }"; then
|
||||
echo $i
|
||||
>&2 echo "Page added to document"
|
||||
else
|
||||
>&2 echo "Page removed from document"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
NON_BLANK=$(non_blank)
|
||||
|
||||
if [ -n "$NON_BLANK" ]; then
|
||||
NON_BLANK=$(echo $NON_BLANK | tr ' ' ",")
|
||||
qpdf "$IN" --warning-exit-0 --replace-input --pages . $NON_BLANK --
|
||||
fi
|
||||
@@ -1,3 +0,0 @@
|
||||
NFS_SERVER=192.168.0.xxx # oder hostname oder Domain
|
||||
PFAD=/Pfad/zum/Ordner
|
||||
PFAD_2=/Pfad/zum/sanner_input_ordner
|
||||
@@ -1,47 +0,0 @@
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
papermerge:
|
||||
image: ghcr.io/linuxserver/papermerge
|
||||
container_name: papermerge
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- ./Configs:/config
|
||||
- documents:/docs
|
||||
- scanner_inbox:/data
|
||||
# - ./Data:/data
|
||||
ports:
|
||||
- 8010:8000
|
||||
depends_on:
|
||||
- papermerge-mariadb
|
||||
restart: unless-stopped
|
||||
|
||||
papermerge-mariadb:
|
||||
image: linuxserver/mariadb:latest
|
||||
container_name: papermerge-mariadb
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- ./Database:/config
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
documents:
|
||||
name: documents
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD_docs}"
|
||||
scanner_inbox:
|
||||
name: scanner_inbox
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
o: addr=${NFS_SERVER},rw
|
||||
device: ":${PFAD_inbox}"
|
||||
@@ -1,2 +1,11 @@
|
||||
<p id="bkmrk-"><a href="https://bookstack.borgal.de/uploads/images/gallery/2021-04/download.png" target="_blank" rel="noopener"><img src="https://bookstack.borgal.de/uploads/images/gallery/2021-04/scaled-1680-/download.png" alt="Download.png" /></a></p>
|
||||
<p id="bkmrk-docker-hub"><a href="https://hub.docker.com/r/portainer/portainer" target="_blank" rel="noopener">Docker-Hub</a></p>
|
||||
<h2>Portainer</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://bookstack.borgal.de/uploads/images/gallery/2021-04/download.png" alt="Portainer" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Portainer</b> ist Ihre Container-Management-Software zur Bereitstellung, Fehlerbehebung und Sicherung von Anwendungen in Cloud-, Rechenzentrums- und industriellen IoT-Anwendungsfällen.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://www.portainer.io/" target="_blank">Portainer</a>
|
||||
<p></p>
|
||||
@@ -1,4 +1,3 @@
|
||||
version: "2"
|
||||
services:
|
||||
portainer:
|
||||
container_name: portainer
|
||||
|
||||
89
ports.md
89
ports.md
@@ -1,51 +1,58 @@
|
||||
Container | Ports
|
||||
-------- | --------
|
||||
adguard | 53
|
||||
reverse-porxy | 80
|
||||
reverse-porxy | 81
|
||||
gitea | 222
|
||||
reverse-porxy | 443
|
||||
adguard | 853
|
||||
adguard | 1082
|
||||
adguard | 1443
|
||||
node-red | 1880
|
||||
adguard | 3000
|
||||
gitea | 3030
|
||||
bookstack_db | 3306
|
||||
fredbed_db | 3307
|
||||
webserver_db | 3309
|
||||
unifi controller | 3478
|
||||
whoogle | 5000
|
||||
Container | Ports
|
||||
-------- | --------
|
||||
adguard | 53
|
||||
reverse-porxy | 80
|
||||
reverse-porxy | 81
|
||||
gitea | 222
|
||||
reverse-porxy | 443
|
||||
node-red | 1880
|
||||
node-red MQTT | 1883
|
||||
vdr | 2004
|
||||
adguard | 3000
|
||||
wireshark | 3010
|
||||
vdr | 3020
|
||||
gitea | 3030
|
||||
grafana | 3090
|
||||
jdownloader | 3129
|
||||
fredbed_db | 3307
|
||||
webserver_db | 3309
|
||||
unifi controller | 3478
|
||||
jdownloader | 5800
|
||||
vdr | 6419
|
||||
bookstack | 6875
|
||||
portainer | 8000
|
||||
gotify | 8001
|
||||
kanboard | 8002
|
||||
vikunja | 8003
|
||||
paperless | 8009
|
||||
papermerge | 8010
|
||||
grocy | 8011
|
||||
unifi controller | 8080
|
||||
gotify | 8001
|
||||
dockge | 8002
|
||||
wekan | 8004
|
||||
vdr | 8008
|
||||
paperless | 8009
|
||||
grocy | 8011
|
||||
photoview | 8012
|
||||
owncloud | 8013
|
||||
webdav | 8014
|
||||
onlyoffice | 8016
|
||||
unifi controller | 8080
|
||||
openhab | 8081
|
||||
fredbed | 8083
|
||||
bitwarden | 8084
|
||||
Uptime Kuma | 8086
|
||||
webserver_phpmyadmin| 8087
|
||||
nextcloud_app | 8088
|
||||
truecommand | 8090
|
||||
guacamole | 8091
|
||||
truecommand | 8093
|
||||
homeassistant | 8123
|
||||
bitwarden | 8084
|
||||
drawio | 8085
|
||||
Uptime Kuma | 8086
|
||||
webserver_phpmyadmin | 8087
|
||||
grafana influxdb | 8096
|
||||
vdr | 8099
|
||||
homeassistant | 8123
|
||||
heimdall | 8124
|
||||
heimdall | 8143
|
||||
webserver | 8180
|
||||
code-Server | 8181
|
||||
sshwifty | 8182
|
||||
unifi controller | 8443
|
||||
sshwifty | 8182
|
||||
duplicati | 8200
|
||||
openhab | 8444
|
||||
youTubeDL | 8998
|
||||
portainer | 9000
|
||||
unifi controller | 10001
|
||||
ecodms | 17001
|
||||
ecodms | 17004
|
||||
ecodms | 17005
|
||||
mumble | 64738
|
||||
mealie | 9925
|
||||
dozzle | 9999
|
||||
unifi controller | 10001
|
||||
vdr-vnsi | 34890
|
||||
wireguard | 51820
|
||||
wireguard | 51821
|
||||
mumble | 64738
|
||||
|
||||
11
proxy/README.md
Normal file
11
proxy/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>Nginx Proxy Manager</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://mialikescoffee.com/images/nginx_logo.png" alt="Nginx Proxy Manager" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Nginx Proxy Manager</b> ist ein kostenloser, Open-Source-Proxy-Manager. Er bietet eine einfache und schnelle Oberfläche zum Konfigurieren und Verwalten von Proxy Hosts, einschließlich integriertem Letsencrypt. Dadurch muss man in den meisten Fällen weder die config Dateien manuell anfassen, noch sich um das SSL Zertifikat kümmern.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://nginxproxymanager.com/" target="_blank">Nginx Proxy Manager</a>
|
||||
<p></p>
|
||||
14
proxy/docker-compose.yml
Normal file
14
proxy/docker-compose.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
services:
|
||||
app:
|
||||
image: 'jc21/nginx-proxy-manager:latest'
|
||||
container_name: reverse-proxy
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
DISABLE_IPV6: 'true'
|
||||
ports:
|
||||
- '80:80'
|
||||
- '81:81'
|
||||
- '443:443'
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- ./letsencrypt:/etc/letsencrypt
|
||||
@@ -1,3 +0,0 @@
|
||||
DB_PASSWORD=changeMe
|
||||
|
||||
MYSQL_ROOT_PASSWORD=changeMe
|
||||
@@ -1,30 +0,0 @@
|
||||
version: '3'
|
||||
services:
|
||||
app:
|
||||
image: 'jc21/nginx-proxy-manager:latest'
|
||||
container_name: nginx_app
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- '80:80'
|
||||
- '81:81'
|
||||
- '443:443'
|
||||
environment:
|
||||
DB_MYSQL_HOST: "db"
|
||||
DB_MYSQL_PORT: 3306
|
||||
DB_MYSQL_USER: "nginx"
|
||||
DB_MYSQL_PASSWORD: ${DB_PASSWORD}
|
||||
DB_MYSQL_NAME: "nginx"
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- ./letsencrypt:/etc/letsencrypt
|
||||
db:
|
||||
image: 'jc21/mariadb-aria:latest'
|
||||
container_name: nginx_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||
MYSQL_DATABASE: 'nginx'
|
||||
MYSQL_USER: 'nginx'
|
||||
MYSQL_PASSWORD: ${DB_PASSWORD}
|
||||
volumes:
|
||||
- ./data/mysql:/var/lib/mysql
|
||||
11
sshwifty/README.md
Normal file
11
sshwifty/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
<h2>Sshwifty</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://static-00.iconduck.com/assets.00/sshwifty-icon-2048x2048-pgotb3pw.png" alt="Sshwifty" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Sshwifty</b> ist ein SSH- und Telnet-Client für das Web, mit dem Sie direkt über Ihren Webbrowser auf SSH- und Telnet-Dienste zugreifen können.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://github.com/nirui/sshwifty" target="_blank">Sshwifty</a>
|
||||
<p></p>
|
||||
@@ -1,4 +1,3 @@
|
||||
version: '3'
|
||||
services:
|
||||
sshwifty:
|
||||
image: 'niruix/sshwifty:latest'
|
||||
|
||||
13
stirling_pdf/README.md
Normal file
13
stirling_pdf/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
<h2>Stirling PDF</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://avatars.githubusercontent.com/u/139791695?v=4" alt="Stirling PDF" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Stirling PDF</b> ist ein robustes, lokal gehostetes webbasiertes PDF-Manipulationstool mit Docker. Es ermöglicht Ihnen, verschiedene Vorgänge an PDF-Dateien durchzuführen, darunter Teilen, Zusammenführen, Konvertieren, Neuorganisieren, Hinzufügen von Bildern, Drehen, Komprimieren und mehr. Diese lokal gehostete Webanwendung verfügt nun über einen umfassenden Satz an Funktionen, die alle Ihre PDF-Anforderungen erfüllen.
|
||||
|
||||
Alle Dateien und PDFs sind entweder ausschließlich auf der Clientseite vorhanden, befinden sich nur während der Aufgabenausführung im Serverspeicher oder befinden sich vorübergehend ausschließlich zur Ausführung der Aufgabe in einer Datei. Alle vom Benutzer heruntergeladenen Dateien werden zu diesem Zeitpunkt vom Server gelöscht..
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://stirlingtools.com/" target="_blank">Stirling PDF</a>
|
||||
<p></p>
|
||||
15
stirling_pdf/docker-compose.yml
Normal file
15
stirling_pdf/docker-compose.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
stirling_pdf:
|
||||
image: frooodle/s-pdf:latest
|
||||
container_name: stirling_pdf
|
||||
ports:
|
||||
- 8003:8080
|
||||
volumes:
|
||||
- ./trainingData:/usr/share/tesseract-ocr/5/tessdata #Required for extra OCR languages
|
||||
- ./Configs:/configs
|
||||
# - /location/of/customFiles:/customFiles/
|
||||
# - /location/of/logs:/logs/
|
||||
environment:
|
||||
- DOCKER_ENABLE_SECURITY=false
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
version: '3.3'
|
||||
services:
|
||||
truecommand:
|
||||
volumes:
|
||||
- './data:/data'
|
||||
ports:
|
||||
- '8090:80'
|
||||
- '8093:443'
|
||||
restart: always
|
||||
container_name: truecommand
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
image: ixsystems/truecommand
|
||||
1
unifi/.env.sample
Normal file
1
unifi/.env.sample
Normal file
@@ -0,0 +1 @@
|
||||
PASS=ChangeMe
|
||||
26
unifi/README.md
Normal file
26
unifi/README.md
Normal file
@@ -0,0 +1,26 @@
|
||||
<h2>UniFi Network Application</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://blog.ui.com/wp-content/uploads/2016/10/unifi-app-logo.png" alt="UniFi Network Application" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>UniFi Network Application</b> ist eine leistungsstarke Wireless-Software-Engine für Unternehmen, die sich ideal für Client-Bereitstellungen mit hoher Dichte eignet, die geringe Latenz und hohe Verfügbarkeitsleistung erforder.
|
||||
</p>
|
||||
<p></p>
|
||||
<a href="https://github.com/linuxserver/docker-unifi-network-application/" target="_blank">UniFi Network Application</a>
|
||||
<p></p>
|
||||
<h3>HowTo</h3>
|
||||
<p></p>
|
||||
<p><b>* * * A C H T U N G * * *</b></p>
|
||||
<p>init-mongo.js muss <b>vor dem ersten Start</b> in den Hauptordner kopiert werden. Das Passwort in der Datei muss ebenfalls angepasst werden.</p>
|
||||
<p></p>
|
||||
<hr>
|
||||
<p></p>
|
||||
<p>Falls die AP sich nicht automatisch verbinden, müssen die AP manuell per SSH angepasst werden </p>
|
||||
<pre>>ssh
|
||||
<p></p>
|
||||
IP des Gerätes oder Hostname (AP-OG, AP-EG,..)
|
||||
Username: Borgal
|
||||
Passwort: *******
|
||||
|
||||
set-inform http://docker:8080/inform</pre>
|
||||
@@ -1,16 +1,49 @@
|
||||
version: "2.1"
|
||||
services:
|
||||
unifi-controller:
|
||||
image: ghcr.io/linuxserver/unifi-controller
|
||||
container_name: unifi-controller
|
||||
unifi-db:
|
||||
image: docker.io/mongo:7
|
||||
container_name: unifi-db
|
||||
volumes:
|
||||
- /opt/unifi/config:/config
|
||||
- ./data:/data/db
|
||||
- ./data/configdb:/data/configdb
|
||||
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
|
||||
# healthcheck:
|
||||
# test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
|
||||
# interval: 10s
|
||||
# timeout: 10s
|
||||
# retries: 5
|
||||
# start_period: 20s
|
||||
restart: unless-stopped
|
||||
|
||||
unifi-network-application:
|
||||
image: lscr.io/linuxserver/unifi-network-application:latest
|
||||
container_name: unifi-network-application
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Berlin
|
||||
- MONGO_USER=unifi
|
||||
- MONGO_PASS=${PASS}
|
||||
- MONGO_HOST=unifi-db
|
||||
- MONGO_PORT=27017
|
||||
- MONGO_DBNAME=unifi
|
||||
- MEM_LIMIT=1024 #optional
|
||||
- MEM_STARTUP=1024 #optional
|
||||
#- MONGO_TLS= #optional
|
||||
#- MONGO_AUTHSOURCE= #optional
|
||||
depends_on:
|
||||
- unifi-db
|
||||
# condition: service_healthy
|
||||
volumes:
|
||||
- ./config:/config
|
||||
ports:
|
||||
- 8443:8443
|
||||
- 3478:3478/udp
|
||||
- 10001:10001/udp
|
||||
# - 1900:1900/udp
|
||||
- 8080:8080
|
||||
- 8443:8443
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
# - 1900:1900/udp #optional
|
||||
# - 8843:8843 #optional
|
||||
# - 8880:8880 #optional
|
||||
# - 6789:6789 #optional
|
||||
# - 5514:5514/udp #optional
|
||||
restart: unless-stopped
|
||||
|
||||
|
||||
1
unifi/init-mongo.js.sample
Normal file
1
unifi/init-mongo.js.sample
Normal file
@@ -0,0 +1 @@
|
||||
db.getSiblingDB("unifi").createUser({user: "unifi", pwd: "ChangeMe", roles: [{role: "dbOwner", db: "unifi"}, {role: "dbOwner", db: "unifi_stat"}]});
|
||||
13
uptime/README.md
Normal file
13
uptime/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
<h2>Uptime Kuma</H2>
|
||||
<p></p>
|
||||
<p></p>
|
||||
<img src="https://static-00.iconduck.com/assets.00/uptime-kuma-icon-1024x940-gabwl61r.png" alt="Uptime Kuma" width="200" />
|
||||
<p></p>
|
||||
<p></p>
|
||||
<p><b>Uptime Kuma</b> ist ein benutzerfreundliches, selbst gehostetes Überwachungstool.
|
||||
</p>
|
||||
<p></p>
|
||||
<img src="https://user-images.githubusercontent.com/1336778/212262296-e6205815-ad62-488c-83ec-a5b0d0689f7c.jpg" alt="Uptime Kuma" width="500" />
|
||||
<p></p>
|
||||
<a href="https://github.com/louislam/uptime-kuma" target="_blank">Uptime Kuma</a>
|
||||
<p></p>
|
||||
@@ -1,6 +1,3 @@
|
||||
---
|
||||
version: '3.3'
|
||||
|
||||
services:
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma:latest
|
||||
|
||||
5
vdr/.env.sample
Executable file
5
vdr/.env.sample
Executable file
@@ -0,0 +1,5 @@
|
||||
NFS_SERVER=192.168.0.xxx
|
||||
PFAD=/Pfad/zu/den/VDR-Aufnahmen
|
||||
#
|
||||
# Auf Rechte achten
|
||||
#
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user