1
0

Compare commits

...

286 Commits

Author SHA1 Message Date
a9990ee8db mariadb: add MARIADB_AUTO_UPGRADE 2025-06-21 22:01:36 +02:00
180bb14a05 gitea: update to 1.24.0 2025-06-21 22:00:39 +02:00
5e0a6d99e2 trilium: switch to triliumnext and pin to 0.95.0 2025-06-21 22:00:18 +02:00
dac13eb9e3 navidrome: update to 0.55.2 2025-05-11 21:54:41 +02:00
be215b6bb3 beets: run as non-root 2025-05-11 21:54:12 +02:00
81f17e11dd sabnzbd: update to 4.5.1 2025-05-05 13:28:09 +02:00
8e10ac15d7 audiobookshelf: pin to 2.20.0 2025-04-08 09:50:49 +02:00
17a87ed5d7 sabnzbd: update to 4.5.0 2025-04-08 09:50:25 +02:00
290155e5d4 jellyfin: update to 10.10.7 2025-04-06 17:22:48 +02:00
e448803a8e stash: update to 0.28.1 2025-03-21 10:07:15 +01:00
892497b322 komga: add external port 2025-03-18 11:30:07 +01:00
7b2c67b87c kavita: pin and update to 0.8.5 2025-03-11 07:59:08 +01:00
201a2395fc navidrome: update to 0.55.0 2025-03-11 07:58:48 +01:00
20ef2c2f9f beets: pin and update to 2.2.0 2025-03-11 07:58:33 +01:00
71e5d85a6a navidrome: update to 0.54.5 2025-02-24 12:58:59 +01:00
bec7bb5b66 kavita: add 2025-02-22 11:47:22 +01:00
c51bac41b0 ntfy: fix caddy labels 2025-02-20 13:02:51 +01:00
387d6e89a5 komga: update to 1.20.0 2025-02-20 12:49:31 +01:00
5931869c0d prowlarr: expose port 2025-02-19 21:59:29 +01:00
9111afff2f sabnzbd: don't publish to internet 2025-02-19 21:47:56 +01:00
e4830550c2 caddy: finish migrating to caddy-docker-proxy 2025-02-19 21:42:57 +01:00
1b311df046 caddy: add tailscale socket 2025-02-19 11:59:38 +01:00
f5fe027ae3 calibre-web: fix version and port 2025-02-19 11:59:38 +01:00
7b49e6af7d caddy: switch to caddy-docker-proxy 2025-02-19 11:58:13 +01:00
815f0cf55d sabnzbd: update ports 2025-02-18 10:48:20 +01:00
dd3ed2f4bc jellyfin: update to 10.10.6 2025-02-18 10:48:20 +01:00
2fd65fcbdd calibre-web: add 2025-02-18 10:14:58 +01:00
0cd308329b jellyfin: update to 10.10.4 2025-01-22 09:13:53 +01:00
3df03db596 sabnzbd: update to 4.4.1 2025-01-22 09:12:47 +01:00
e0d357ca05 syncthing: add storage volume 2024-12-31 06:26:21 +01:00
b0882532a7 handbrake-server: restart unless stopped 2024-12-31 06:25:22 +01:00
f913a10ee1 syncthing: move shares to a subfolder 2024-12-31 06:24:00 +01:00
5c8d6f9140 sabnzbd: pin to 4.4.0 2024-12-14 13:26:53 +01:00
a69ba8c7d7 prowlarr: pin to 1.27.0.4852 2024-12-14 13:23:12 +01:00
46e7bcb874 syncthing: pin to 1.28.1, move shared folders 2024-12-12 13:26:50 +01:00
9e385acc44 redlib: remove external port 2024-12-12 13:26:10 +01:00
2162970f37 vaulwarden: update to 1.32.1 2024-12-01 11:10:06 +01:00
0392f25835 handbrake-server: update to 0.7.3 2024-12-01 11:09:43 +01:00
5a8d7936c2 redlib: add 2024-11-22 12:41:31 +01:00
1a931d24b6 handbrake-server: add 2024-11-18 07:33:51 +01:00
a0b5980fa5 navidrome: enable dev panel again 2024-11-18 07:15:47 +01:00
93474cc92c remove cruft 2024-11-10 11:12:46 +01:00
146b254679 gluetun: fix env file 2024-11-08 21:50:54 +01:00
c68ec26d58 gluetun: fix formatting, assign ip, turn on http proxy 2024-11-08 21:50:31 +01:00
d5902e14f2 gluetun-japan: add 2024-11-07 15:10:18 +01:00
e6e16cc4ad jellyfin: update to 10.10.1 2024-11-06 10:14:47 +01:00
62eaa4e070 linkace: pin to 1.15.4 2024-11-06 10:14:20 +01:00
8f339cb33e stash: pin to 0.27.2 2024-11-06 10:13:47 +01:00
ae1a5d8c3b navidrome: update to 0.53.3 2024-10-08 11:41:46 +02:00
6a8cd4e988 jellyfin: update to 10.9.11 2024-09-09 18:39:55 +02:00
613fd10ae6 replace 7daystodie server container 2024-08-18 09:45:30 +02:00
272e311cdc jellyfin: pin to 10.9.9 2024-08-08 10:29:24 +02:00
2e371d2767 add .gitignore 2024-08-07 13:58:25 +02:00
b3f2b47a12 vaultwarden: enable e-mail 2024-08-07 13:58:12 +02:00
bb0beb298e vaultwarden: fix and enable push notification 2024-08-07 13:57:55 +02:00
506d68b0b8 vaulwarden: pin to specific version 2024-08-07 13:48:16 +02:00
f4fa7d2dd3 mealie: update to 1.9.0 2024-08-07 13:48:11 +02:00
9ccf2d7ded gitea: update to 1.21.11 2024-04-22 12:20:29 +02:00
f213211361 mealie: update to version 1.5.1 2024-04-22 11:27:56 +02:00
00c8856731 miniflux: add RUN_MIGRATIONS=1
Based on https://miniflux.app/docs/upgrade.html#docker
2024-04-21 15:07:49 +02:00
082c3742cb remove profiles from all services 2024-04-21 13:50:15 +02:00
5f01c753f0 gitea: add to base profile 2024-04-21 12:39:39 +02:00
1b377930d9 Remove obsolete YAML version 2024-03-27 15:20:27 +01:00
aad9d69ab3 jellyfin: specify PUID/PGID 2024-03-07 11:35:59 +01:00
dd2e32a145 enshourded: change pass, limit players to 3 2024-02-22 23:07:46 +01:00
77e456f499 enshrouded: fix env path 2024-02-22 22:44:27 +01:00
20beed93e5 enshrouded: fix env file extension 2024-02-22 22:43:23 +01:00
aef3d85bff enshrouded: add 2024-02-22 22:41:52 +01:00
12f0490906 navidrome: prefersorttags = true 2024-01-22 08:32:41 +01:00
e24825edec bazarr: fix PUID/PGID 2023-12-27 22:29:24 +01:00
0d631d9117 sabnzbd: change theme 2023-12-17 21:48:04 +01:00
a26fb81492 crafty: remove 2023-12-17 21:47:47 +01:00
7d3953af31 crafty: fix networks section 2023-12-17 21:03:40 +01:00
cf7d78753b crafty: fix ports 2023-12-17 21:03:10 +01:00
959700054b crafty: move and add to main compose 2023-12-17 21:02:24 +01:00
4411ce472d crafty: add 2023-12-17 21:01:06 +01:00
c95d348f23 radarr: explicitly set PUID/PGID 2023-12-12 11:10:48 +01:00
6eaab2a7c7 sabnzbd: manually specify PUID, PGID 2023-12-08 21:46:21 +01:00
fcee30acef drone: encrypt secrets 2023-12-07 11:36:10 +01:00
f9d60040a3 jelu: move app to secrets folder 2023-12-06 13:10:01 +01:00
e0dd8f9d67 jelu: fix secrets dir 2023-12-06 13:09:18 +01:00
eff091f4b8 Use file instead of content
Revert this commit when content
becomes available in docker-engine
See https://github.com/compose-spec/compose-spec/pull/429
2023-12-06 13:03:14 +01:00
0bc4e0e1df jelu: enable google api 2023-12-06 12:41:16 +01:00
872f4c91fb add git-crypt 2023-12-06 12:26:49 +01:00
6e35a52bbd drone: try removing ports 2023-12-05 13:35:47 +01:00
57af8685eb drone: add 2023-12-05 13:32:46 +01:00
bafe56fac6 portainer: add 2023-12-05 12:58:58 +01:00
4413b56ec4 registry: add 2023-12-05 12:47:50 +01:00
5b04a6566c netbootxyz: add 2023-12-05 12:32:15 +01:00
b2117ccbf2 prowlarr: add 2023-12-05 12:24:24 +01:00
c311fa2798 openldap: add 2023-12-05 12:11:14 +01:00
8f3069776d sabnzbd: add 2023-12-05 11:48:35 +01:00
52608253b1 postgres: move to separate file 2023-12-05 11:34:58 +01:00
623e599a98 nextcloud: add 2023-12-05 11:34:52 +01:00
dc8cd9c4d1 improve networking 2023-12-05 11:20:14 +01:00
a4ceafd5f0 uptimekuma: disable 2023-12-02 14:15:01 +01:00
b9fe15a1e4 sonarr: fix torrent path 2023-12-02 14:12:42 +01:00
3dcd3aea2b sonarr: move to separate file 2023-12-02 14:12:29 +01:00
c4718bf3d1 uptime-kuma: move to separate file 2023-12-02 13:31:25 +01:00
a2b564ce85 jelu: add to public network 2023-12-02 13:06:54 +01:00
5258939589 jelu: add 2023-12-02 12:58:29 +01:00
9758a3dfd5 Allow several subdomains at once 2023-12-02 09:34:25 +01:00
6b8701ca14 caddy: add config and scripts 2023-12-01 21:34:12 +01:00
4c5105c73f miniflux: add 2023-12-01 21:25:49 +01:00
a18a0fd171 radarr: add 2023-12-01 21:16:45 +01:00
4a8451d6b0 komga: add 2023-12-01 20:57:03 +01:00
c2ecc654b4 jellyfin: add 2023-12-01 20:43:38 +01:00
888ccbbb2b formatting 2023-12-01 20:42:19 +01:00
c18a81e3b0 bazarr: add 2023-12-01 20:22:56 +01:00
2fee290866 remove incorrect data 2023-12-01 20:06:15 +01:00
df3f1dcff8 baserow: re-enable 2023-12-01 20:04:32 +01:00
da7898a94c remove cruft 2023-12-01 19:13:33 +01:00
e575ce70b5 switch from npm to caddy 2023-12-01 19:05:30 +01:00
84c410f183 put timetracker to public network 2023-12-01 18:47:22 +01:00
14998e977f paperless-ngx: set PAPERLESS_URL 2023-12-01 17:48:22 +01:00
901a90dafe sonarr_anime: change torrent location 2023-11-18 21:19:03 +01:00
a4eefdf967 rtorrent: set username and password 2023-11-18 21:12:32 +01:00
8674f45edf gitea: add network to connect runner 2023-11-17 07:53:53 +01:00
f67af2f452 gitearunner: fix and enable 2023-11-16 19:11:41 +01:00
1a79f40682 Disable gitearunner 2023-11-16 16:51:06 +01:00
3eab90108b timetracker: change location of static files 2023-11-16 16:29:21 +01:00
5dd381026a gitearunner: change token 2023-11-12 20:35:31 +01:00
44a4b70b58 gitearunner: change default image 2023-11-12 20:33:13 +01:00
2b9608b184 gitearunner: change token 2023-11-12 19:57:14 +01:00
cf2c4caf2c sonarr_anime: add 2023-10-31 09:31:33 +01:00
c38369f134 gitea: restart unless stopped 2023-10-31 09:09:07 +01:00
1f4432fa8c rtorrent: add watch dir 2023-10-10 11:50:32 +02:00
1a5ac93942 searxng: remove 2023-10-07 09:06:24 +02:00
9d3686887d vaultwarden: disable push notifications 2023-10-04 15:34:01 +02:00
e9e40dfb0c vaultwarden: fix admin token 2023-10-04 15:17:58 +02:00
4d5657a765 vaultwarden: move token to yml 2023-10-04 14:49:21 +02:00
aea678e7c3 vautwarden: escape token in a different way 2023-10-04 14:43:38 +02:00
49e63dd0e5 vautwarden: quote token 2023-10-04 14:41:49 +02:00
c4c1ee9a35 vaultwarden: change token 2023-10-04 14:41:08 +02:00
020915798c vaultwarden: add ports 2023-10-04 14:35:01 +02:00
c2e8b20293 vaultwarden: disable push for now 2023-10-04 14:31:08 +02:00
a14c708e15 vaultwarden: quote the push env vars 2023-10-04 14:29:12 +02:00
b63ffca24b vaultwarden: add 2023-10-04 14:26:48 +02:00
d21198c2aa traefik: use latest 2023-09-26 15:16:52 +02:00
90be198059 traefik: replace variable with hardcoded value 2023-09-26 15:16:02 +02:00
86b2368572 traefik: fix config, whoami: add 2023-09-26 15:15:08 +02:00
afd3f9b300 env: add EMAIL_ADMIN 2023-09-26 15:01:31 +02:00
a10ed91b25 traefik, ghost: add 2023-09-26 15:01:17 +02:00
29da8bd6a4 npm: revert previous change, share mysql sockets 2023-09-20 11:45:09 +02:00
d1d52cef34 npm: update to latest, change dir 2023-09-20 11:20:01 +02:00
1dbec8ec89 timetracker: add backups volume 2023-09-17 10:48:22 +02:00
6b35dc0207 linkace: fix non-working container 2023-09-15 15:13:56 +02:00
c3ad1026ee linkace: move conf to main .env 2023-09-15 13:21:11 +02:00
adeec89fd9 linkace: add 2023-09-15 13:18:50 +02:00
b75a45c02e changedetection: remove 2023-09-14 10:49:34 +02:00
e2134d0d5b caddy: fix folders 2023-09-11 13:56:28 +02:00
e9253af552 baserow: disable 2023-09-10 15:09:06 +02:00
595b2871cd gitearunner: fix GITEA_INSTANCE_URL 2023-09-10 15:08:47 +02:00
b26f8ec570 gitearunner: add scheme to instance URL env variable 2023-09-10 15:01:01 +02:00
44bcf249fe gitearunner: add image name 2023-09-10 15:00:15 +02:00
beb019f7d4 gitea, gitearunner: add 2023-09-10 14:55:59 +02:00
a305f16ac2 Revert "caddy: set to default reverse proxy"
This reverts commit 165cc90af7.
2023-09-08 14:14:06 +02:00
165cc90af7 caddy: set to default reverse proxy 2023-09-08 13:47:21 +02:00
da18ad44ae snibox: remove 2023-09-08 13:23:41 +02:00
1946c19250 postgres: add 2023-09-08 12:29:32 +02:00
4b7eafb94f baserow: add postgress pw, depend on postgres 2023-09-08 12:23:11 +02:00
41acfc7114 mariadb: change ports 2023-09-08 12:15:27 +02:00
8c46b392a5 baserow: add 2023-09-08 12:14:41 +02:00
0ce3b9dd50 sonarr_tv_standard: add puid, pgid 2023-05-08 18:00:45 +02:00
b674c2d16a sonarr_tv_standard: add 2023-05-07 21:48:04 +02:00
9aa00dffcd npm: apply them-park theme 2023-04-27 20:44:52 +02:00
604bc2b45a stash: add blob volume
see 2d8b6e1722
2023-03-29 10:33:35 +02:00
572f1a5243 paperless-ngx: remove x perm 2023-03-28 14:08:28 +02:00
5b96d01b6f mediawiki: make extensions into volume 2023-03-28 14:07:38 +02:00
62c69dd5e4 mediawiki: fix internal port 2023-03-28 13:45:26 +02:00
1612eb217f mariadb: expose port so npm can access it 2023-03-28 13:23:57 +02:00
4b952b482c adjust profiles on npm, mariadb 2023-03-28 13:13:23 +02:00
6ee8abb175 mariadb: fix wrong network 2023-03-28 13:11:13 +02:00
272324f7d1 add mediawiki, migrate containers
migrated containers: mariadb, nginx-proxy-manager, photoprism
2023-03-28 13:08:51 +02:00
47076cf45b searxng: don't use caddy as reverse proxy 2023-03-23 11:38:53 +01:00
9c843ed650 searxng: move ports to caddy 2023-03-23 11:21:34 +01:00
4aab851327 Revert "searxng: run as user"
This reverts commit d51363b5ea.
2023-03-23 11:19:36 +01:00
d51363b5ea searxng: run as user 2023-03-23 11:11:51 +01:00
4be92cad70 add searxng 2023-03-23 10:56:00 +01:00
8ecf33f31d maloja: set profile and network 2023-03-14 18:50:56 +01:00
a68bd9067f syncthing: add puid, pgid 2023-03-14 17:09:49 +01:00
ed34c97459 syncthing: fix ports 2023-03-14 17:00:33 +01:00
464c1b0464 add syncthing 2023-03-14 16:59:32 +01:00
d7d6ecc008 add tika, gotenberg networks 2023-03-14 16:03:10 +01:00
c1b73e206a add homer 2023-03-14 15:57:51 +01:00
99fd9d88d9 add redis network 2023-03-14 14:34:34 +01:00
be9795a4b7 set redis container name 2023-03-14 14:32:27 +01:00
44183a3543 Add paperless-ngx 2023-03-14 14:26:13 +01:00
ff78b7d62d logseq: add missing profile 2023-02-05 19:33:26 +01:00
ac8e094292 navidrome: set log level to error, enable sharing 2023-02-05 18:31:48 +01:00
3a29e43c34 disable several services 2023-02-05 18:31:46 +01:00
7a22866c64 logseq, maloja, snibox: restart unless stopped 2023-02-03 16:56:42 +01:00
e326fa66be maloja: add 2023-01-30 16:34:30 +01:00
fe456c1cc2 stash: external port to 9998 2023-01-30 16:11:51 +01:00
101b34aa41 navidrome: add 2023-01-30 16:10:22 +01:00
203350c71a stash: add 2023-01-29 21:26:12 +01:00
bd499397e7 filebrowser: change mounts 2023-01-27 12:07:49 +01:00
657f60a334 loki: change port 2023-01-26 13:45:06 +01:00
95c27f9edf grafana: change port 2023-01-26 13:41:25 +01:00
0e8479ac45 caddy: improve config handling 2023-01-26 13:40:01 +01:00
2717fa286d add grafana, loki, promtail 2023-01-26 12:05:08 +01:00
08b630fea2 snibox: fix external port 2023-01-26 10:55:49 +01:00
ac53f32587 sort out networks, snibox: serve static files by caddy 2023-01-26 09:46:20 +01:00
998a1598ac snibox and filebrowser: add container_name 2023-01-26 08:51:18 +01:00
089f26b7a6 move others to main 2023-01-26 08:47:55 +01:00
ab55dbbdef ntfy.yml: remove 2023-01-26 08:23:59 +01:00
62fae0a058 ntfy: move to main 2023-01-26 08:22:41 +01:00
e209b5a7c0 create profiles 2023-01-26 08:19:16 +01:00
ff0ce66dcf trilium: fix container name 2023-01-26 08:15:16 +01:00
b55e754e03 trilium: move to main 2023-01-26 08:14:19 +01:00
f0b225a75a dokku: fix storage path 2023-01-25 09:52:48 +01:00
7af55726ee dokku: add 2023-01-25 09:42:41 +01:00
1f9c907c2c timetracker: fix database path 2023-01-21 15:15:19 +01:00
517ac9a64f Revert "timetracker: troubleshoot"
This reverts commit 89e6394daf.
2023-01-20 16:47:44 +01:00
89e6394daf timetracker: troubleshoot 2023-01-20 16:42:08 +01:00
f459bd3e17 caddy: don't fine one path two times 2023-01-20 16:37:26 +01:00
f601c3301d caddy: run as user 2023-01-20 16:31:41 +01:00
26f50b7e3b timetracker: remove ports 2023-01-20 16:25:50 +01:00
c0cc60031b add caddy, move timetracked to the main one 2023-01-20 16:23:46 +01:00
2d014c515f logseq: add 2023-01-13 13:25:12 +01:00
476ba9ed25 uptimekuma: add docker.sock volume 2023-01-11 13:13:20 +01:00
cc5fbdbb96 uptimekuma: add 2023-01-11 13:08:35 +01:00
c9843f24ed changedetection: wrap env in quotes 2023-01-11 12:13:01 +01:00
138ffe082a snibox: remove container name 2023-01-11 12:09:46 +01:00
bfeda44a0c snibox: sort out networks 2023-01-11 12:08:59 +01:00
299a57e876 snibox: fix env variables 2023-01-11 11:31:20 +01:00
323c9d7af8 snibox: set ssl_force 2023-01-11 11:29:14 +01:00
6cdadc45d0 snibox: set secret_key_base 2023-01-11 11:25:57 +01:00
454d427cc4 snibox: fix mistake 2023-01-11 11:19:29 +01:00
2dd9881322 snibox: fix yaml error, assign different port 2023-01-11 11:14:47 +01:00
b4f15d8460 timetracker: quote env var to fix error 2023-01-11 11:06:30 +01:00
7079e0d066 snibox: add 2023-01-11 10:50:16 +01:00
8f8a863ad0 trilium: add compose version 2023-01-09 13:16:48 +01:00
ace3508637 trilium: fix YAML 2023-01-09 13:10:57 +01:00
ee77496909 trilium: add 2023-01-09 13:09:51 +01:00
497492308e mealie.env: fix booleans 2023-01-06 18:10:15 +01:00
ed6d3fb9f8 mealie: add 2023-01-06 18:07:46 +01:00
1d54293e72 timetracker: add CSRF_TRUSTED_ORIGINS 2023-01-05 21:48:06 +01:00
4215982082 timetracker: remove incorrect group param 2023-01-03 12:57:12 +01:00
bf444ee859 add timetracker 2023-01-03 12:51:44 +01:00
5e5d2748fb audiobookshelf: add 2022-12-30 19:57:35 +01:00
c254181700 changedetection: remove selenium, fix port 2022-12-06 16:48:01 +01:00
36a2c20b69 changedetection: don't use selenium 2022-12-06 15:43:39 +01:00
d2e9acb8d6 changedetection: add playwright 2022-12-06 14:50:03 +01:00
27383ce7fc changedetection: add webdriver 2022-12-06 14:11:14 +01:00
89707953aa Change port 2022-12-06 13:25:57 +01:00
d8a5f6ba00 Fix name 2022-12-06 13:25:11 +01:00
89a840cae7 Add changedetection 2022-12-06 13:24:19 +01:00
77ad9d68b5 rtorrent: enable RPC2 2022-11-09 22:41:24 +01:00
2e74b6c6d7 webhook: add volume 2022-11-09 14:04:44 +01:00
126ff79525 webhook: add 2022-11-09 13:50:31 +01:00
facf5689ea env: add docker registry URL, beets: replace with vars 2022-11-09 13:37:15 +01:00
b1fe2f28ee rename ntfy 2022-11-08 21:13:30 +01:00
8e109131cd ntfy: add 2022-11-08 21:13:10 +01:00
095d800dba rtorrent: disable webui auth 2022-10-25 12:30:53 +02:00
f023f82f03 beets: add 2022-10-25 12:28:46 +02:00
adf306cd65 7daystodie: add 2022-09-03 13:40:39 +02:00
b39763d1d9 rtorrent: expose port 6881 2022-08-29 13:16:21 +02:00
72a6d3062e rtorrent: set compose file version 2022-08-29 13:00:08 +02:00
4689d495e4 rtorrent: set more env, externalize to env file 2022-08-29 12:59:33 +02:00
7f5d1ccc72 rtorrent: add 2022-08-29 12:50:54 +02:00
7f07e886ac deluge: change config location 2022-08-29 12:10:56 +02:00
2d40a1ebe6 deluge: do not specify udp separately 2022-08-23 13:42:43 +02:00
738ae1f615 Fix annoying docker-compose errors 2022-07-28 15:05:27 +02:00
26ba5b20ea kavita: reformat 2022-07-28 14:52:14 +02:00
be96f52718 Finish changes 2022-07-28 14:48:06 +02:00
57974ca522 Standardize env files 2022-07-28 14:39:14 +02:00
429d501cf1 kavita: change comic folder 2022-07-28 14:19:15 +02:00
e5d8ce7dcf kavita: fix formatting 2022-07-28 14:12:04 +02:00
907fdef01d Add kavita, rename files 2022-07-28 14:07:44 +02:00
6016bd33c4 deluge: change port 2022-07-25 12:05:09 +02:00
e41e890d4e deluge: change port 2022-07-25 11:47:28 +02:00
50d38f9cf8 fix 2022-07-20 21:51:15 +02:00
bc00f325ae deluge: change destination 2022-07-20 21:45:46 +02:00
a0a2cee0d4 deluge: move to a new directory 2022-07-20 21:22:54 +02:00
c1d814fa20 deluge: change seed location 2022-07-20 21:18:13 +02:00
6c7e0dd574 deluge: change config location 2022-07-20 21:13:28 +02:00
f85a6c92f8 Add deluge 2022-07-20 21:07:44 +02:00
55b53fdc5b Change paths 2022-07-10 11:37:23 +00:00
cbc44f9dc7 Change srv volume to mergerfs 2022-07-10 11:17:45 +00:00
737608ac75 Fix other volumes 2022-07-10 11:15:07 +00:00
5b1686d3a3 Fix srv volume 2022-07-10 11:12:28 +00:00
1967973b98 Add networks 2022-07-10 08:15:02 +02:00
2cc4de3f26 Update version 2022-07-10 08:14:28 +02:00
cb78574f67 Remove garbage text 2022-07-10 08:14:07 +02:00
af25258348 add filebrowser 2022-07-10 08:11:00 +02:00
50 changed files with 1607 additions and 116 deletions

116
.env Normal file
View File

@ -0,0 +1,116 @@
REGISTRY_URL=registry.kucharczyk.xyz
DOMAIN=kucharczyk.xyz
TS_DOMAIN=jacob-shark.ts.net
TS_DOMAIN_NAS=nas.${TS_DOMAIN}
TZ=Europe/Prague
STORAGE_PATH=/srv/mergerfs/storage
MEDIA_PATH=${STORAGE_PATH}/media
COMIC_PATH=${MEDIA_PATH}/comics
ANIME_PATH=${STORAGE_PATH}/media/anime
TV_PATH=${STORAGE_PATH}/media/tv
MOVIE_PATH=${STORAGE_PATH}/media/movies
MUSIC_PATH=${STORAGE_PATH}/media/music2
DOWNLOADS_PATH=${STORAGE_PATH}/download
NZB_DOWNLOADS_PATH=${DOWNLOADS_PATH}/sabnzbd
TORRENTS_SEED_PATH=${STORAGE_PATH}/seed
DOCKER_STORAGE_PATH=/docker
DOCKER_STORAGE_PATH_SLOW=${STORAGE_PATH}/docker-storage
PHOTOS_STORAGE_PATH=/srv/dev-disk-by-uuid-2d34f1a9-4284-4cad-ae9a-f1ef36244201/photos
EMAIL_ADMIN=lukas@kucharczyk.xyz
EMAIL_FROM=kucharczyk.lukas@gmail.com
EMAIL_HOST=smtp.gmail.com
EMAIL_PASSWORD=sebrubdsgkuptcjr
EMAIL_PORT=587
POSTGRES_HOST=postgres
POSTGRES_USER=lukas
POSTGRES_PASSWORD=kralovna
POSTGRES_PORT=5432
MYSQL_HOST=mariadb
MYSQL_USER=lukas
MYSQL_PASSWORD=kralovna
MYSQL_ROOT_PASSWORD=kralovna
MYSQL_PORT=3306
PUID=1000
PGID=100
KAVITA_INTERNAL_PORT=5000
KAVITA_EXTERNAL_PORT=5100
VALHEIM_INTERNAL_PORT=2456-2457/udp
VALHEIM_EXTERNAL_PORT=2456-2457
NTFY_EXTERNAL_PORT=8100
NTFY_INTERNAL_PORT=80
WEBHOOK_EXTERNAL_PORT=9200
WEBHOOK_INTERNAL_PORT=9000
CHANGEDETECTION_EXTERNAL_PORT=5200
CHANGEDETECTION_INTERNAL_PORT=5000
AUDIOBOOKSHELF_INTERNAL_PORT=80
AUDIOBOOKSHELF_EXTERNAL_PORT=13378
TIMETRACKER_EXTERNAL_PORT=8003
TIMETRACKER_INTERNAL_PORT=8000
TRILIUM_EXTERNAL_PORT=8080
TRILIUM_INTERNAL_PORT=8080
NETBOOTXYZ_INTERNAL_PORT=3001
GITEA_INTERNAL_PORT=3002
LOGSEQ_INTERNAL_PORT=80
LOGSEQ_EXTERNAL_PORT=3005
DENDRON_NOTES_EXTERNAL_PORT=2020
DENDRON_NOTES_INTERNAL_PORT=2020
DOKKU_EXTERNAL_PORT_1=3022
DOKKU_INTERNAL_PORT_1=22
DOKKU_EXTERNAL_PORT_2=8081
DOKKU_INTERNAL_PORT_2=80
DOKKU_EXTERNAL_PORT_3=8443
DOKKU_INTERNAL_PORT_3=443
LOKI_EXTERNAL_PORT=3200
LOKI_INTERNAL_PORT=3100
GRAFANA_EXTERNAL_PORT=3600
GRAFANA_INTERNAL_PORT=3000
STASH_EXTERNAL_PORT=9998
STASH_INTERNAL_PORT=9999
NAVIDROME_EXTERNAL_PORT=4533
NAVIDROME_INTERNAL_PORT=4533
MALOJA_EXTERNAL_PORT=42010
MALOJA_INTERNAL_PORT=42010
PAPERLESS_EXTERNAL_PORT=8004
PAPERLESS_INTERNAL_PORT=8000
HOMER_EXTERNAL_PORT=7080
HOMER_INTERNAL_PORT=8080
SYNCTHING_EXTERNAL_PORT1=8384
SYNCTHING_INTERNAL_PORT1=8384
SYNCTHING_EXTERNAL_PORT2=22000
SYNCTHING_INTERNAL_PORT2=22000/tcp
SYNCTHING_EXTERNAL_PORT3=22000
SYNCTHING_INTERNAL_PORT3=22000/udp
SYNCTHING_EXTERNAL_PORT4=21027
SYNCTHING_INTERNAL_PORT4=21027/udp
SEARXNG_EXTERNAL_PORT=8082
SEARXNG_INTERNAL_PORT=8080
MEDIAWIKI_EXTERNAL_PORT=8083
MEDIAWIKI_INTERNAL_PORT=80
MARIADB_INTERNAL_PORT=3307
MARIADB_EXTERNAL_PORT=3307
PHOTOPRISM_EXTERNAL_PORT=2342
PHOTOPRISM_INTERNAL_PORT=2342
SONARR_TV_STANDARD_EXTERNAL_PORT=8989
SONARR_ANIME_EXTERNAL_PORT=8988
SONARR_INTERNAL_PORT=8989
BASEROW_INTERNAL_PORT=80
GITEA_WEBUI_EXTERNAL_PORT=3002
GITEA_WEBUI_INTERNAL_PORT=3000
GITEA_SSH_EXTERNAL_PORT=2022
GITEA_SSH_INTERNAL_PORT=22
LINKACE_EXTERNAL_PORT=8084
LINKACE_INTERNAL_PORT=80
LINKACE_DB=linkace
LINKACE_DB_USERNAME=linkace
LINKACE_DB_PASSWORD=zghhRS&FdK6niiJg5Q5Nr3E4
VAULTWARDEN_EXTERNAL_PORT=8666
VAULTWARDEN_INTERNAL_PORT=80
BAZARR_EXTERNAL_PORT=6767
BAZARR_INTERNAL_PORT=6767
GLUETUN_JAPAN_INTERNAL_PORT=8888
GLUETUN_JAPAN_EXTERNAL_PORT=8888
HANDBRAKER_SERVER_INTERNAL_PORT=9999
HANDBRAKER_SERVER_EXTERNAL_PORT=9997
REDLIB_EXTERNAL_PORT=8088
SABNZBD_EXTERNAL_PORT=8081
SABNZBD_INTERNAL_PORT=8080

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
secrets/** filter=git-crypt diff=git-crypt
.gitattributes !filter !diff

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
git-crypt-key

16
authentik.env Normal file
View File

@ -0,0 +1,16 @@
AUTHENTIK_AUTHENTIK__GEOIP=/geoip/GeoLite2-City.mmdb
AUTHENTIK_EMAIL__FROM=${EMAIL_FROM}
AUTHENTIK_EMAIL__HOST=${EMAIL_HOST}
AUTHENTIK_EMAIL__PASSWORD=${EMAIL_PASSWORD}
AUTHENTIK_EMAIL__PORT=${EMAIL_PORT}
AUTHENTIK_EMAIL__TIMEOUT=10
AUTHENTIK_EMAIL__USE_SSL=false
AUTHENTIK_EMAIL__USE_TLS=true
AUTHENTIK_EMAIL__USERNAME=${EMAIL_FROM}
AUTHENTIK_ERROR_REPORTING__ENABLED=true
AUTHENTIK_PORT_HTTP=9200
AUTHENTIK_PORT_HTTPS=7443
AUTHENTIK_SECRET_KEY=tcVoaScDoqaIyAZDnAq3MYsHIBnzVYPbXzFVsOfWReoqatgsU7
GEOIPUPDATE_ACCOUNT_ID=732732
GEOIPUPDATE_LICENSE_KEY=3NGI4ijkeEfCsjyq
PG_PASS=29PnrjM386yP3w

106
authentik.yml Normal file
View File

@ -0,0 +1,106 @@
---
version: '3.4'
services:
# postgresql:
# image: postgres:12-alpine
# restart: unless-stopped
# healthcheck:
# test: ["CMD", "pg_isready"]
# start_period: 20s
# interval: 30s
# retries: 5
# timeout: 5s
# volumes:
# - database:/var/lib/postgresql/data
# environment:
# - POSTGRES_PASSWORD=${PG_PASS:?database password required}
# - POSTGRES_USER=${PG_USER:-authentik}
# - POSTGRES_DB=${PG_DB:-authentik}
# env_file:
# - .env
redis:
image: redis:alpine
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
networks:
- internal
server:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.6.2}
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: ${PG_HOST:-postgres}
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
# AUTHENTIK_ERROR_REPORTING__ENABLED: "true"
# WORKERS: 2
volumes:
- ./media:${DOCKER_STORAGE_PATH}/authentik/media
- ./custom-templates:${DOCKER_STORAGE_PATH}/authentik/templates
- geoip:/geoip
env_file:
- shared.env
- authentik.env
ports:
- "0.0.0.0:${AUTHENTIK_PORT_HTTP:-9000}:9000"
- "0.0.0.0:${AUTHENTIK_PORT_HTTPS:-9443}:9443"
networks:
- internal
- postgres
worker:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.6.2}
restart: unless-stopped
command: worker
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: ${PG_HOST:-postgres}
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
# AUTHENTIK_ERROR_REPORTING__ENABLED: "true"
# This is optional, and can be removed. If you remove this, the following will happen
# - The permissions for the /media folders aren't fixed, so make sure they are 1000:1000
# - The docker socket can't be accessed anymore
user: root
volumes:
- ./media:${DOCKER_STORAGE_PATH}/authentik/media
- ./certs:${DOCKER_STORAGE_PATH}/authentik/certs
- /var/run/docker.sock:/var/run/docker.sock
- ./custom-templates:${DOCKER_STORAGE_PATH}/authentik/templates
- geoip:/geoip
env_file:
- .env
networks:
- internal
- postgres
geoipupdate:
image: "maxmindinc/geoipupdate:latest"
volumes:
- "geoip:/usr/share/GeoIP"
environment:
GEOIPUPDATE_EDITION_IDS: "GeoLite2-City"
GEOIPUPDATE_FREQUENCY: "8"
env_file:
- .env
networks:
- internal
volumes:
database:
driver: local
geoip:
driver: local
networks:
internal:
external: true
postgres:
external: true

12
baserow.env Normal file
View File

@ -0,0 +1,12 @@
BASEROW_PUBLIC_URL=https://baserow.${DOMAIN}
DATABASE_HOST=${POSTGRES_HOST}
DATABASE_NAME=baserow
DATABASE_USER=baserow
DATABASE_PASSWORD=S@8rBtSApf@YpNLXS!2hr2F$
EMAIL_SMTP=1
EMAIL_SMTP_HOST=${EMAIL_HOST}
EMAIL_SMTP_PASSWORD=${EMAIL_PASSWORD}
EMAIL_SMTP_PORT=${EMAIL_PORT}
EMAIL_SMTP_USE_TLS=1
EMAIL_SMTP_USER=${EMAIL_FROM}
FROM_EMAIL=${EMAIL_FROM}

View File

@ -1,105 +1,631 @@
---
version: '3.4'
configs:
caddyfile:
content: |
notes-old.kucharczyk.xyz {
handle {
root * /srv/notes
file_server
}
}
include:
- services/bazarr.yml
- services/jellyfin.yml
- services/komga.yml
- services/radarr.yml
- services/miniflux.yml
- services/jelu.yml
- services/sonarr.yml
- services/postgres.yml
- services/nextcloud.yml
- services/sabnzbd.yml
- services/openldap.yml
- services/prowlarr.yml
- services/netbootxyz.yml
- services/registry.yml
- services/portainer.yml
- services/drone/drone.yml
- services/enshrouded.yml
- services/7dtdserver.yml
- services/gluetun.yml
- services/handbrake-server.yml
- services/redlib.yml
- services/calibre-web.yml
- services/kavita.yml
services:
# postgresql:
# image: postgres:12-alpine
# restart: unless-stopped
# healthcheck:
# test: ["CMD", "pg_isready"]
# start_period: 20s
# interval: 30s
# retries: 5
# timeout: 5s
# volumes:
# - database:/var/lib/postgresql/data
# environment:
# - POSTGRES_PASSWORD=${PG_PASS:?database password required}
# - POSTGRES_USER=${PG_USER:-authentik}
# - POSTGRES_DB=${PG_DB:-authentik}
# env_file:
# - .env
redis:
image: redis:alpine
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
networks:
- internal
server:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.6.2}
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: ${PG_HOST:-postgres}
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
# AUTHENTIK_ERROR_REPORTING__ENABLED: "true"
# WORKERS: 2
volumes:
- ./media:${DOCKER_STORAGE_PATH}/authentik/media
- ./custom-templates:${DOCKER_STORAGE_PATH}/authentik/templates
- geoip:/geoip
env_file:
- .env
caddy:
image: lucaslorentz/caddy-docker-proxy:ci-alpine
container_name: caddy
ports:
- "0.0.0.0:${AUTHENTIK_PORT_HTTP:-9000}:9000"
- "0.0.0.0:${AUTHENTIK_PORT_HTTPS:-9443}:9443"
networks:
- internal
- postgres
worker:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.6.2}
restart: unless-stopped
command: worker
- "${TIMETRACKER_EXTERNAL_PORT}:${TIMETRACKER_INTERNAL_PORT}"
- "${DENDRON_NOTES_EXTERNAL_PORT}:${DENDRON_NOTES_INTERNAL_PORT}"
- 80:80
- 443:443
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: ${PG_HOST:-postgres}
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
# AUTHENTIK_ERROR_REPORTING__ENABLED: "true"
# This is optional, and can be removed. If you remove this, the following will happen
# - The permissions for the /media folders aren't fixed, so make sure they are 1000:1000
# - The docker socket can't be accessed anymore
user: root
- CADDY_INGRESS_NETWORKS=docker-compose-templates_public
- CADDY_DOCKER_CADDYFILE_PATH=/Caddyfile
configs:
- source: caddyfile
target: /Caddyfile
volumes:
- ./media:${DOCKER_STORAGE_PATH}/authentik/media
- ./certs:${DOCKER_STORAGE_PATH}/authentik/certs
- "${DOCKER_STORAGE_PATH}/caddy/etc:/etc/caddy"
- "${DOCKER_STORAGE_PATH}/caddy/data:/data"
- "${DOCKER_STORAGE_PATH}/caddy/config:/config"
- "/var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock"
- "/www/notes:/srv/notes"
- "timetracker-static:/srv/timetracker"
- /var/run/docker.sock:/var/run/docker.sock
- ./custom-templates:${DOCKER_STORAGE_PATH}/authentik/templates
- geoip:/geoip
env_file:
- .env
networks:
- internal
- postgres
geoipupdate:
image: "maxmindinc/geoipupdate:latest"
volumes:
- "geoip:/usr/share/GeoIP"
environment:
GEOIPUPDATE_EDITION_IDS: "GeoLite2-City"
GEOIPUPDATE_FREQUENCY: "8"
env_file:
- .env
networks:
- internal
public:
ipv4_address: 192.168.240.2
restart: unless-stopped
# cap_drop:
# - ALL
# cap_add:
# - NET_BIND_SERVICE
volumes:
database:
driver: local
geoip:
driver: local
timetracker:
image: ${REGISTRY_URL}/timetracker
container_name: timetracker
environment:
- TZ=${TZ}
- "CSRF_TRUSTED_ORIGINS=https://tracker.kucharczyk.xyz"
user: ${PUID}
volumes:
- "${DOCKER_STORAGE_PATH}/timetracker/db.sqlite3:/home/timetracker/app/db.sqlite3"
- "${DOCKER_STORAGE_PATH}/timetracker/backups:/home/timetracker/app/games/fixtures/backups"
- "timetracker-static:/var/www/django/static"
depends_on:
- caddy
networks:
public:
ipv4_address: 192.168.240.3
labels:
caddy: tracker.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 8001 }}"
caddy.handle_path: "/static/*"
caddy.handle_path.root: "* /srv/timetracker"
caddy.handle_path.file_server:
caddy.handle: /robots.txt
caddy.handle.root: "* /srv/timetracker"
caddy.handle.file_server:
restart: unless-stopped
trilium:
image: triliumnext/notes:v0.95.0
container_name: trilium
restart: always
environment:
- TRILIUM_DATA_DIR=/home/node/trilium-data
volumes:
- ${DOCKER_STORAGE_PATH}/trilium:/home/node/trilium-data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
caddy: trilium.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $TRILIUM_INTERNAL_PORT }}"
ports:
- "${TRILIUM_EXTERNAL_PORT}:${TRILIUM_INTERNAL_PORT}"
networks:
public:
ipv4_address: 192.168.240.4
ntfy:
image: binwiederhier/ntfy
container_name: ntfy
command:
- serve
user: ${PUID}:${PGID}
environment:
- TZ=${TZ}
volumes:
- "${DOCKER_STORAGE_PATH}/ntfy/cache:/var/cache/ntfy"
- "${DOCKER_STORAGE_PATH}/ntfy/config:/etc/ntfy"
ports:
- "${NTFY_EXTERNAL_PORT}:${NTFY_INTERNAL_PORT}"
networks:
public:
ipv4_address: 192.168.240.5
labels:
caddy: "notify.${DOMAIN}, http://notify.${DOMAIN}"
caddy.reverse_proxy: "{{ upstreams $NTFY_INTERNAL_PORT }}"
caddy.@httpget.protocol: http
caddy.@httpget.method: get
caddy.@httpget.path_regexp: "^/([-_a-z0-9]{0,64}$|docs/|static/)"
caddy.redir: "@httpget https://{host}{uri}"
restart: unless-stopped
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:2.20.0
container_name: audiobookshelf
environment:
- AUDIOBOOKSHELF_UID=${PUID}
- AUDIOBOOKSHELF_GID=${PGID}
- TZ=${TZ}
volumes:
- "${DOCKER_STORAGE_PATH}/audiobookshelf/audiobooks:/audiobooks"
- "${DOCKER_STORAGE_PATH}/audiobookshelf/podcasts:/podcasts"
- "${DOCKER_STORAGE_PATH}/audiobookshelf/config:/config"
- "${DOCKER_STORAGE_PATH}/audiobookshelf/metadata:/metadata"
ports:
- "${AUDIOBOOKSHELF_EXTERNAL_PORT}:${AUDIOBOOKSHELF_INTERNAL_PORT}"
networks:
public:
ipv4_address: 192.168.240.6
restart: unless-stopped
beets:
image: lscr.io/linuxserver/beets:2.2.0
container_name: beets
user: 1000:100
environment:
- TZ=${TZ}
volumes:
- "${DOCKER_STORAGE_PATH}/beets:/config"
- "${STORAGE_PATH}/media/music2:/music"
- "${STORAGE_PATH}/download/music:/downloads"
ports:
- 8337:8337
networks:
public:
ipv4_address: 192.168.240.7
restart: unless-stopped
mealie:
container_name: mealie
image: hkotel/mealie:v1.9.0
environment:
PUID: ${PUID}
PGID: ${PGID}
TZ: ${TZ}
env_file:
- mealie.env
volumes:
- "${DOCKER_STORAGE_PATH}/mealie/data/:/app/data"
networks:
public:
ipv4_address: 192.168.240.8
labels:
caddy: recipes.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 9000 }}"
restart: unless-stopped
rtorrent:
image: binhex/arch-rtorrentvpn
container_name: rtorrent
volumes:
- "${DOCKER_STORAGE_PATH}/rtorrent/config:/config"
- "${DOCKER_STORAGE_PATH}/rtorrent/watch:/watch"
- ${STORAGE_PATH}/seed:/data
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=${PUID}
- PGID=${PGID}
env_file:
- rtorrent.env
ports:
- "9080:9080"
- "9443:9443"
- "8118:8118"
- "6881:6881"
networks:
public:
ipv4_address: 192.168.240.9
labels:
caddy: torrent.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 9080 }}"
restart: unless-stopped
webhook:
image: ${REGISTRY_URL}/webhook
container_name: webhook
build: https://git.kucharczyk.xyz/containers/webhook.git#main
user: ${PUID}:${PGID}
environment:
- TZ=${TZ}
volumes:
- "${DOCKER_STORAGE_PATH}/webhook/config:/config"
- "${DOCKER_STORAGE_PATH}/webhook/scripts:/var/webhook"
ports:
- "${WEBHOOK_EXTERNAL_PORT}:${WEBHOOK_INTERNAL_PORT}"
networks:
public:
ipv4_address: 192.168.240.10
restart: unless-stopped
valheim:
image: ghcr.io/lloesche/valheim-server
container_name: valheim
volumes:
- ${DOCKER_STORAGE_PATH}/valheim/config:/config
- ${DOCKER_STORAGE_PATH}/valheim/data:/opt/valheim
env_file:
- valheim.env
ports:
- ${VALHEIM_EXTERNAL_PORT}:${VALHEIM_INTERNAL_PORT}
cap_add:
- SYS_NICE
networks:
public:
ipv4_address: 192.168.240.11
restart: unless-stopped
stash:
image: stashapp/stash:v0.28.1
container_name: stash
ports:
- "${STASH_EXTERNAL_PORT}:${STASH_INTERNAL_PORT}"
## If you intend to use stash's DLNA functionality uncomment the below network mode and comment out the above ports section
# network_mode: host
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "2m"
environment:
- STASH_STASH=/data/
- STASH_GENERATED=/generated/
- STASH_METADATA=/metadata/
- STASH_CACHE=/cache/
- STASH_PORT=${STASH_INTERNAL_PORT}
volumes:
- /etc/localtime:/etc/localtime:ro
## Adjust below paths (the left part) to your liking.
## E.g. you can change ./config:/root/.stash to ./stash:/root/.stash
## Keep configs, scrapers, and plugins here.
- "${DOCKER_STORAGE_PATH}/stash/config:/root/.stash"
## Point this at your collection.
- "${STORAGE_PATH}/xxx:/data/"
## This is where your stash's metadata lives
- "${DOCKER_STORAGE_PATH}/stash/metadata:/metadata"
## Any other cache content.
- "${DOCKER_STORAGE_PATH}/stash/cache:/cache"
## Where to store generated content (screenshots,previews,transcodes,sprites)
- "${DOCKER_STORAGE_PATH}/stash/generated:/generated"
## Where to store binary blob data (scene covers, images)
- "${DOCKER_STORAGE_PATH}/stash/blobs:/blobs"
networks:
public:
ipv4_address: 192.168.240.13
restart: unless-stopped
navidrome:
image: deluan/navidrome:0.55.2
container_name: navidrome
ports:
- "${NAVIDROME_EXTERNAL_PORT}:${NAVIDROME_INTERNAL_PORT}"
env_file:
- navidrome.env
user: "${PUID}:${PGID}"
volumes:
- "${DOCKER_STORAGE_PATH}/navidrome:/data"
- "${STORAGE_PATH}/media/music2:/music"
networks:
public:
ipv4_address: 192.168.240.14
labels:
caddy: music.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $NAVIDROME_INTERNAL_PORT }}"
restart: unless-stopped
maloja:
image: krateng/maloja
container_name: maloja
ports:
- "${MALOJA_EXTERNAL_PORT}:${MALOJA_INTERNAL_PORT}"
env_file:
- maloja.env
user: "${PUID}:${PGID}"
volumes:
- "${DOCKER_STORAGE_PATH}/maloja:/data"
networks:
public:
ipv4_address: 192.168.240.15
restart: unless-stopped
redis:
container_name: redis
image: docker.io/library/redis:7
networks:
public:
ipv4_address: 192.168.240.30
restart: unless-stopped
volumes:
- "${DOCKER_STORAGE_PATH}/redis:/data"
paperless-ngx:
container_name: paperless-ngx
image: ghcr.io/paperless-ngx/paperless-ngx:2.0.1
restart: unless-stopped
depends_on:
- redis
- gotenberg
- tika
ports:
- "${PAPERLESS_EXTERNAL_PORT}:${PAPERLESS_INTERNAL_PORT}"
networks:
public:
ipv4_address: 192.168.240.16
healthcheck:
test:
[
"CMD",
"curl",
"-fs",
"-S",
"--max-time",
"2",
"http://localhost:8000"
]
interval: 30s
timeout: 10s
retries: 5
volumes:
- "${DOCKER_STORAGE_PATH}/paperless-ngx/data:/usr/src/paperless/data"
- "${DOCKER_STORAGE_PATH}/paperless-ngx/media:/usr/src/paperless/media"
- "${DOCKER_STORAGE_PATH}/paperless-ngx/export:/usr/src/paperless/export"
- "${DOCKER_STORAGE_PATH}/paperless-ngx/consume:/usr/src/paperless/consume"
env_file: paperless-ngx.env
environment:
PAPERLESS_REDIS: redis://redis:6379
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_URL: "https://paperless.${DOMAIN}"
gotenberg:
image: docker.io/gotenberg/gotenberg:7.6
restart: unless-stopped
networks:
public:
ipv4_address: 192.168.240.17
# 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/.*"
tika:
image: ghcr.io/paperless-ngx/tika:latest
networks:
public:
ipv4_address: 192.168.240.18
restart: unless-stopped
homer:
image: b4bz/homer
container_name: homer
ports:
- "${HOMER_EXTERNAL_PORT}:${HOMER_INTERNAL_PORT}"
networks:
public:
ipv4_address: 192.168.240.19
volumes:
- "${DOCKER_STORAGE_PATH}/homer:/www/assets"
environment:
UID: ${PUID}
GID: ${PGID}
restart: unless-stopped
syncthing:
image: lscr.io/linuxserver/syncthing:1.28.1
container_name: syncthing
volumes:
- "${DOCKER_STORAGE_PATH}/syncthing:/config"
- "${DOCKER_STORAGE_PATH}/syncthing/shares:/shares"
- "${STORAGE_PATH}:/storage"
ports:
- "${SYNCTHING_EXTERNAL_PORT1}:${SYNCTHING_INTERNAL_PORT1}"
- "${SYNCTHING_EXTERNAL_PORT2}:${SYNCTHING_INTERNAL_PORT2}"
- "${SYNCTHING_EXTERNAL_PORT3}:${SYNCTHING_INTERNAL_PORT3}"
- "${SYNCTHING_EXTERNAL_PORT4}:${SYNCTHING_INTERNAL_PORT4}"
environment:
- "PUID=${PUID}"
- "PGID=${PGID}"
restart: unless-stopped
networks:
public:
ipv4_address: 192.168.240.20
mediawiki:
container_name: mediawiki
image: mediawiki
networks:
public:
ipv4_address: 192.168.240.21
labels:
caddy: wiki.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $MEDIAWIKI_INTERNAL_PORT }}"
depends_on:
- mariadb
ports:
- "${MEDIAWIKI_EXTERNAL_PORT}:${MEDIAWIKI_INTERNAL_PORT}"
volumes:
- "${DOCKER_STORAGE_PATH}/mediawiki/images:/var/www/html/images"
- "${DOCKER_STORAGE_PATH}/mediawiki/extensions:/var/www/html/extensions"
- "${DOCKER_STORAGE_PATH}/mediawiki/LocalSettings.php:/var/www/html/LocalSettings.php"
restart: unless-stopped
photoprism:
container_name: photoprism
image: docker.io/photoprism/photoprism
networks:
public:
ipv4_address: 192.168.240.22
ports:
- "${PHOTOPRISM_EXTERNAL_PORT}:${PHOTOPRISM_INTERNAL_PORT}"
labels:
caddy: photos.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 2342 }}"
depends_on:
- mariadb
env_file:
- photoprism.env
volumes:
- "${PHOTOS_STORAGE_PATH}/import:/photoprism/import"
- "${PHOTOS_STORAGE_PATH}/originals:/photoprism/originals"
- "${PHOTOS_STORAGE_PATH}/storage:/photoprism/storage"
restart: unless-stopped
mariadb:
container_name: mariadb
image: linuxserver/mariadb
networks:
public:
ipv4_address: 192.168.240.23
ports:
- "${MARIADB_EXTERNAL_PORT}:${MARIADB_INTERNAL_PORT}"
environment:
- MARIADB_AUTO_UPGRADE=true
volumes:
- "${DOCKER_STORAGE_PATH}/mariadb:/config"
- sockets:/run/mysqld/
restart: unless-stopped
baserow:
container_name: baserow
image: baserow/baserow:latest
networks:
public:
ipv4_address: 192.168.240.24
labels:
caddy: baserow.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
depends_on:
- postgres
env_file:
- baserow.env
volumes:
- "${DOCKER_STORAGE_PATH}/baserow:/baserow/data"
restart: unless-stopped
gitea:
container_name: gitea
image: gitea/gitea:1.24.0
networks:
public:
ipv4_address: 192.168.240.26
depends_on:
- postgres
ports:
- "${GITEA_WEBUI_EXTERNAL_PORT}:${GITEA_WEBUI_INTERNAL_PORT}"
- "${GITEA_SSH_EXTERNAL_PORT}:${GITEA_SSH_INTERNAL_PORT}"
labels:
caddy: git.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $GITEA_WEBUI_INTERNAL_PORT }}"
volumes:
- "${DOCKER_STORAGE_PATH}/gitea:/data"
restart: unless-stopped
gitearunner:
container_name: gitearunner
image: gitea/act_runner
depends_on:
- gitea
volumes:
- "${DOCKER_STORAGE_PATH}/gitearunner/config:/config"
- "${DOCKER_STORAGE_PATH}/gitearunner/data:/data"
- /var/run/docker.sock:/var/run/docker.sock
networks:
public:
ipv4_address: 192.168.240.27
environment:
- GITEA_INSTANCE_URL=https://git.${DOMAIN}
- CONFIG_FILE=/config/config.yaml
# When using Docker Secrets, it's also possible to use
# GITEA_RUNNER_REGISTRATION_TOKEN_FILE to pass the location.
# The env var takes precedence
- GITEA_RUNNER_REGISTRATION_TOKEN=92U7bIiADtqkILwjjj9rffjz8vyNp0zo7uaOgrIG
- GITEA_RUNNER_LABELS="ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
- GITEA_RUNNER_NAME="NAS_CONTAINER"
restart: unless-stopped
linkace:
image: linkace/linkace:v1.15.4-simple
container_name: linkace
networks:
public:
ipv4_address: 192.168.240.28
labels:
caddy: bookmarks.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
depends_on:
- mariadb
- redis
environment:
# these env variables are instead of .env file
# see https://www.linkace.org/docs/v1/setup/setup-with-docker/advanced-configuration/#using-docker-environment-variables-instead-of-the-env-file
- APP_KEY=base64:X6XDR+dfqn5PM9QdmmxJoOECSsldWhkfnyi6yvohgNM=
- DB_HOST=${MYSQL_HOST}
- DB_DATABASE=${LINKACE_DB}
- DB_USERNAME=${LINKACE_DB_USERNAME}
- DB_PASSWORD=${LINKACE_DB_PASSWORD}
- REDIS_HOST=redis
ports:
- "${LINKACE_EXTERNAL_PORT}:${LINKACE_INTERNAL_PORT}"
volumes:
- ${DOCKER_STORAGE_PATH}/linkace/backups:/app/storage/app/backups
- ${DOCKER_STORAGE_PATH}/linkace/logs:/app/storage/logs
restart: unless-stopped
# ghost:
# image: "ghost:latest"
# container_name: ghost
# environment:
# - url=http://blog.kucharczyk.xyz
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.ghost.rule=Host(`blog.kucharczyk.xyz`)"
# - "traefik.http.routers.ghost.entrypoints=https"
# - "traefik.http.routers.ghost.tls.certresolver=myresolver"
# volumes:
# - ${DOCKER_STORAGE_PATH}/ghost/content:/var/lib/ghost/content
# networks:
# - public
vaultwarden:
image: vaultwarden/server:1.32.1
container_name: vaultwarden
networks:
public:
ipv4_address: 192.168.240.29
ports:
- "${VAULTWARDEN_EXTERNAL_PORT}:${VAULTWARDEN_INTERNAL_PORT}"
labels:
caddy: bw.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
env_file:
- ./secrets/vaultwarden.env
environment:
- PUSH_ENABLED=true
# PUSH_INSTALLATION_ID=
# PUSH_INSTALLATION_KEY=
- PUSH_RELAY_URI=https://api.bitwarden.eu
- PUSH_IDENTITY_URI=https://identity.bitwarden.eu
- ADMIN_TOKEN=$$argon2id$$v=19$$m=65540,t=3,p=4$$aWJ2cVRvYUsySkM3M01TMTJJMnZqbUF0Wm1qRWhvd1B6Sk50Q1hwck96dz0$$FKjZ36E54pX2e0AE9OaDpiH43TyAyfVwr3IvracbqEA
- SMTP_HOST=${EMAIL_HOST}
- SMTP_FROM=${EMAIL_FROM}
- SMTP_FROM_NAME="Bitwarden (bw.kucharczyk.xyz)"
- SMTP_PORT=${EMAIL_PORT}
- SMTP_USERNAME=${EMAIL_FROM}
- SMTP_PASSWORD=${EMAIL_PASSWORD}
volumes:
- ${DOCKER_STORAGE_PATH}/vaultwarden:/data
restart: unless-stopped
networks:
internal:
external: true
postgres:
external: true
public:
attachable: true
ipam:
config:
# 192.168.240.1 - 192.168.240.254
- subnet: "192.168.240.0/24"
volumes:
timetracker-static:
sockets:

2
maloja.env Normal file
View File

@ -0,0 +1,2 @@
MALOJA_DATA_DIRECTORY=/data
MALOJA_FORCE_PASSWORD=kralovna

16
mealie.env Normal file
View File

@ -0,0 +1,16 @@
# Default Recipe Settings
RECIPE_PUBLIC=true
RECIPE_SHOW_NUTRITION=true
RECIPE_SHOW_ASSETS=true
RECIPE_LANDSCAPE_VIEW=true
RECIPE_DISABLE_COMMENTS=false
RECIPE_DISABLE_AMOUNT=false
BASE_URL=https://recipes.${DOMAIN}
SMTP_HOST=${EMAIL_HOST}
SMTP_FROM_EMAIL=${EMAIL_FROM}
SMTP_USER=${EMAIL_FROM}
SMTP_PASSWORD=${EMAIL_PASSWORD}
# Gunicorn
# WEB_CONCURRENCY=2
# WORKERS_PER_CORE=0.5
# MAX_WORKERS=8

3
mediawiki.env Normal file
View File

@ -0,0 +1,3 @@
MYSQL_DATABASE=mediawiki
MYSQL_USER=mediawiki
MYSQL_PASSWORD=41eebea0e3ef17dc68064e004e03dafeddd996bf513021b5cf7daf5a0c4d2b32

9
navidrome.env Normal file
View File

@ -0,0 +1,9 @@
ND_LASTFM_APIKEY=29e22ee836a0cb51cfaacb72d605e30d
ND_LASTFM_SECRET=10aa58294eeffa142685e78a0cd78ad6
ND_SPOTIFY_ID=9d6a1b14a4134df5b4447fa46c4bf275
ND_SPOTIFY_SECRET=27aed3e91dc34d7593d99ad4febea939
ND_DEVACTIVITYPANEL=true
ND_SEARCHFULLSTRING=true
ND_ENABLESHARING=true
ND_LOGLEVEL=error
ND_PREFERSORTTAGS=true

42
paperless-ngx.env Normal file
View File

@ -0,0 +1,42 @@
# 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=1000
# 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=ces chi-sim
###############################################################################
# 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.
# This is required if you will be exposing Paperless-ngx on a public domain
# (if doing so please consider security measures such as reverse proxy)
#PAPERLESS_URL=https://paperless.example.com
# 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/Prague
# The default language to use for OCR. Set this to the language most of your
# documents are written in.
PAPERLESS_OCR_LANGUAGE=eng+ces+chi_sim
# Set if accessing paperless via a domain subpath e.g. https://domain.com/PATHPREFIX and using a reverse-proxy like traefik or nginx
#PAPERLESS_FORCE_SCRIPT_NAME=/PATHPREFIX
#PAPERLESS_STATIC_URL=/PATHPREFIX/static/ # trailing slash required

11
penpot.env Normal file
View File

@ -0,0 +1,11 @@
--2023-01-05 19:27:46-- https://raw.githubusercontent.com/penpot/penpot/main/docker/images/config.env
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.109.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2713 (2.6K) [text/plain]
Saving to: config.env.1
0K .. 100% 123M=0s
2023-01-05 19:27:46 (123 MB/s) - config.env.1 saved [2713/2713]

75
penpot.yml Normal file
View File

@ -0,0 +1,75 @@
---
networks:
penpot:
volumes:
penpot_postgres_data:
penpot_assets_data:
services:
penpot-frontend:
image: "penpotapp/frontend:latest"
ports:
- 9001:80
volumes:
- ${DOCKER_STORAGE_PATH}/penpot/data:/opt/data$
env_file:
- penpot.env
depends_on:
- penpot-backend
- penpot-exporter
networks:
- penpot
penpot-backend:
image: "penpotapp/backend:latest"
volumes:
- penpot_assets_data:/opt/data
depends_on:
- penpot-postgres
- penpot-redis
env_file:
- config.env
networks:
- penpot
penpot-exporter:
image: "penpotapp/exporter:latest"
env_file:
- config.env
environment:
# Don't touch it; this uses internal docker network to
# communicate with the frontend.
- PENPOT_PUBLIC_URI=http://penpot-frontend
networks:
- penpot
penpot-postgres:
image: "postgres:14"
restart: always
stop_signal: SIGINT
environment:
- POSTGRES_INITDB_ARGS=--data-checksums
- POSTGRES_DB=penpot
- POSTGRES_USER=penpot
- POSTGRES_PASSWORD=penpot
volumes:
- penpot_postgres_data:/var/lib/postgresql/data
networks:
- penpot
penpot-redis:
image: redis:7
restart: always
networks:
- penpot

11
photoprism.env Normal file
View File

@ -0,0 +1,11 @@
PHOTOPRISM_ADMIN_PASSWORD=kRalovna12514265!
PHOTOPRISM_DATABASE_DRIVER=mysql
PHOTOPRISM_DATABASE_NAME=photoprism
PHOTOPRISM_DATABASE_PASSWORD=TWB64mcPZ^TSdo
PHOTOPRISM_DATABASE_SERVER=mariadb
PHOTOPRISM_DATABASE_USER=photoprism
PHOTOPRISM_IMPORT_PATH=/photoprism/import
PHOTOPRISM_ORIGINALS_PATH=/photoprism/originals
PHOTOPRISM_SITE_URL=https://photos.${DOMAIN}
PHOTOPRISM_SPONSOR=true
PHOTOPRISM_STORAGE_PATH=/photoprism/storage

6
rtorrent.env Normal file
View File

@ -0,0 +1,6 @@
VPN_ENABLED=no
ENABLE_WEBUI_AUTH=no
ENABLE_RPC2=yes
ENABLE_RPC2_AUTH=yes
RPC2_USER=lukas
RPC2_PASS=5zpxni8N@DYCaZL

BIN
secrets/drone.env Normal file

Binary file not shown.

BIN
secrets/enshrouded.env Normal file

Binary file not shown.

Binary file not shown.

BIN
secrets/jelu.env Normal file

Binary file not shown.

BIN
secrets/protonvpn.env Normal file

Binary file not shown.

BIN
secrets/vaultwarden.env Normal file

Binary file not shown.

51
services/7dtdserver.yml Normal file
View File

@ -0,0 +1,51 @@
---
services:
7dtdserver:
image: vinanrra/7dtd-server
container_name: 7dtdserver
environment:
- PUID=${PUID}
- PGID=${PGID}
- START_MODE=1 # Change between START MODES
- VERSION=stable # Change between 7 days to die versions
- TimeZone=Europe/Prague # Optional - Change Timezone
- TEST_ALERT=NO # Optional - Send a test alert
- UPDATE_MODS=NO # Optional - This will allow mods to be update on start, each mod also need to have XXXX_UPDATE=YES to update on start
- MODS_URLS="" # Optional - Mods urls to install, must be ZIP or RAR.
- ALLOC_FIXES=NO # Optional - Install ALLOC FIXES
- ALLOC_FIXES_UPDATE=NO # Optional - Update Allocs Fixes before server start
- UNDEAD_LEGACY=NO # Optional - Install Undead Legacy mod, if DARKNESS_FALLS it's enable will not install anything
- UNDEAD_LEGACY_VERSION=stable # Optional - Undead Legacy version
- UNDEAD_LEGACY_UPDATE=NO # Optional - Update Undead Legacy mod before server start
- DARKNESS_FALLS=NO # Optional - Install Darkness Falls mod, if UNDEAD_LEGACY it's enable will not install anything
- DARKNESS_FALLS_UPDATE=NO # Optional - Update Darkness Falls mod before server start
- DARKNESS_FALLS_URL=False # Optional - Install the provided Darkness Falls url
- CPM=NO # Optional - CSMM Patron's Mod (CPM)
- CPM_UPDATE=NO # Optional - Update CPM before server start
- BEPINEX=NO # Optional - BepInEx
- BEPINEX_UPDATE=NO # Optional - Update BepInEx before server start
- BACKUP=NO # Optional - Backup server
- BACKUP_HOUR=5 # Optional - Backup hour 0-23
- BACKUP_MAX=7 # Optional - Max backups to keep
- MONITOR=NO # Optional - Keeps server up if crash
volumes:
- "${DOCKER_STORAGE_PATH}/7daystodie/7DaysToDie:/home/sdtdserver/.local/share/7DaysToDie/" # 7 Days To Die world saves
- "${DOCKER_STORAGE_PATH}/7daystodie/LGSM-Config:/home/sdtdserver/lgsm/config-lgsm/sdtdserver" # LGSM config folder
- "${DOCKER_STORAGE_PATH}/7daystodie/ServerFiles:/home/sdtdserver/serverfiles/" # Optional - serverfiles folder
- "${DOCKER_STORAGE_PATH}/7daystodie/log:/home/sdtdserver/log/" # Optional - Logs folder
- "${DOCKER_STORAGE_PATH}/7daystodie/backups:/home/sdtdserver/lgsm/backup/" # Optional - If BACKUP=NO, backups folder
networks:
public:
ipv4_address: 192.168.240.12
ports:
- 26900:26900/tcp # Default game ports
- 26900:26900/udp # Default game ports
- 26901:26901/udp # Default game ports
- 26902:26902/udp # Default game ports
- 8085:8080/tcp # OPTIONAL - WEBADMIN
- 8086:8081/tcp # OPTIONAL - TELNET
- 8087:8082/tcp # OPTIONAL - WEBSERVER https://7dtd.illy.bz/wiki/Server%20fixes
restart: unless-stopped # INFO - NEVER USE WITH START_MODE=4 or START_MODE=0

18
services/bazarr.yml Normal file
View File

@ -0,0 +1,18 @@
---
services:
bazarr:
image: docker.io/linuxserver/bazarr:latest
container_name: bazarr
ports:
- "${BAZARR_EXTERNAL_PORT}:${BAZARR_INTERNAL_PORT}"
networks:
public:
ipv4_address: 192.168.240.31
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/bazarr:/config"
- "${MOVIE_PATH}:/movies"
- "${TV_PATH}:/tv"
restart: unless-stopped

17
services/calibre-web.yml Normal file
View File

@ -0,0 +1,17 @@
---
services:
calibre-web:
image: docker.io/linuxserver/calibre-web:0.6.24
container_name: calibre-web
ports:
- 8089:8083
networks:
public:
ipv4_address: 192.168.240.52
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/calibre-web:/config"
- "${DOCKER_STORAGE_PATH}/syncthing/shares/Calibre Library:/books"
restart: unless-stopped

2
services/drone/drone.env Normal file
View File

@ -0,0 +1,2 @@
DRONE_SERVER_HOST=drone.${DOMAIN}
DRONE_RPC_HOST=${DRONE_SERVER_HOST}

44
services/drone/drone.yml Normal file
View File

@ -0,0 +1,44 @@
---
services:
drone:
image: drone/drone:1
container_name: drone
networks:
public:
ipv4_address: 192.168.240.47
labels:
caddy: drone.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
volumes:
- ${DOCKER_STORAGE_PATH}/drone:/data
env_file:
- drone.env
- ../../secrets/drone.env
environment:
# encrypted
# - DRONE_GITEA_CLIENT_ID=
# - DRONE_GITEA_CLIENT_SECRET=
# - DRONE_RPC_SECRET=
- DRONE_GITEA_SERVER=https://git.${DOMAIN}
- DRONE_SERVER_PROTO=https
- DRONE_USER_CREATE=username:lukas,admin:true
restart: unless-stopped
drone-runner:
image: drone/drone-runner-docker:1
container_name: drone-runner
networks:
public:
ipv4_address: 192.168.240.48
volumes:
- /var/run/docker.sock:/var/run/docker.sock
env_file:
- drone.env
- ../../secrets/drone.env
environment:
# encrypted
# - DRONE_RPC_SECRET=
- DRONE_RPC_PROTO=https
- DRONE_RUNNER_CAPACITY=1
- DRONE_RUNNER_NAME=nas-docker-runner
restart: unless-stopped

21
services/enshrouded.yml Normal file
View File

@ -0,0 +1,21 @@
---
services:
enshrouded:
image: mornedhels/enshrouded-server:latest
container_name: enshrouded
hostname: enshrouded
restart: unless-stopped
stop_grace_period: 90s
env_file:
- ../secrets/enshrouded.env
ports:
- "15636-15637:15636-15637/udp"
volumes:
- "${DOCKER_STORAGE_PATH}/enshrouded:/opt/enshrouded"
environment:
- SERVER_NAME=DominikJirkaLukas
# - SERVER_PASSWORD=
- SERVER_SLOT_COUNT=3
- UPDATE_CRON=*/30 * * * *
- PUID=${PUID}
- PGID=${PGID}

35
services/gluetun.yml Normal file
View File

@ -0,0 +1,35 @@
---
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun-japan
# line above must be uncommented to allow external containers to connect.
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
cap_add:
- NET_ADMIN
networks:
public:
ipv4_address: 192.168.240.49
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
volumes:
- "${DOCKER_STORAGE_PATH}/gluetun:/gluetun"
env_file:
- ../secrets/protonvpn.env
environment:
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
- VPN_SERVICE_PROVIDER=protonvpn
- VPN_TYPE=openvpn
# OpenVPN:
# - OPENVPN_USER=
# - OPENVPN_PASSWORD=
- TZ=${TZ}
- SERVER_COUNTRIES=Japan
- HTTPPROXY=on
# Server list updater
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
- UPDATER_PERIOD=

View File

@ -0,0 +1,15 @@
---
services:
handbrake-server:
image: ghcr.io/thenickoftime/handbrake-web-server:0.7.3
container_name: handbrake-server
user: 1000:100 # edit to run as user (uuid:guid) with permissions to access your media. 0:0 to run as root (not recommended).
networks:
public:
ipv4_address: 192.168.240.50
ports:
- "${HANDBRAKER_SERVER_EXTERNAL_PORT}:${HANDBRAKER_SERVER_INTERNAL_PORT}"
volumes:
- "${DOCKER_STORAGE_PATH}/handbrake-server/data:/data"
- "${STORAGE_PATH}:/video"
restart: unless-stopped

23
services/jellyfin.yml Normal file
View File

@ -0,0 +1,23 @@
---
services:
jellyfin:
image: linuxserver/jellyfin:10.10.7
container_name: jellyfin
ports:
- "8096:8096"
- "1900:1900/udp"
- "7359:7359/udp"
networks:
public:
ipv4_address: 192.168.240.32
labels:
caddy: jellyfin.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 8096 }}"
volumes:
- "${DOCKER_STORAGE_PATH}/jellyfin:/config"
- "${MEDIA_PATH}:/data/media"
environment:
- "JELLYFIN_PublishedServerUrl=https://jellyfin.${DOMAIN}"
- PUID=${PUID}
- PGID=${PGID}
restart: unless-stopped

29
services/jelu.yml Normal file
View File

@ -0,0 +1,29 @@
---
services:
jelu:
image: wabayang/jelu
container_name: jelu
volumes:
- ${DOCKER_STORAGE_PATH}/jelu/database:/database
- ${DOCKER_STORAGE_PATH}/jelu/files/images:/files/images
- ${DOCKER_STORAGE_PATH}/jelu/files/imports:/files/imports
- /etc/timezone:/etc/timezone:ro
configs:
- source: jelu_config
target: /config/application.yml
networks:
public:
ipv4_address: 192.168.240.33
env_file:
- ../secrets/jelu.env
environment:
SERVER_PORT: 80
SPRING_DATASOURCE_USERNAME: lukas
SPRING_DATASOURCE_PASSWORD: Q^k5i2^hN!wmEr6JLkYP9ME
JELU_CORS_ALLOWED-ORIGINS: https://jelu.${DOMAIN}
restart: unless-stopped
configs:
jelu_config:
file: ../secrets/jelu-application.yml

21
services/kavita.yml Normal file
View File

@ -0,0 +1,21 @@
---
services:
kavita:
image: ghcr.io/kareadita/kavita:0.8.5
container_name: kavita
networks:
public:
ipv4_address: 192.168.240.53
ports:
- ${KAVITA_EXTERNAL_PORT}:${KAVITA_INTERNAL_PORT}
labels:
caddy: kavita.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams $KAVITA_INTERNAL_PORT }}"
environment:
- DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true
volumes:
- "${STORAGE_PATH}/media/comics:/comics"
- "${STORAGE_PATH}/media/comics/manga:/manga"
- "${STORAGE_PATH}/media/comics/books:/books"
- "${DOCKER_STORAGE_PATH}/kavita:/kavita/config"
restart: unless-stopped

18
services/komga.yml Normal file
View File

@ -0,0 +1,18 @@
---
services:
komga:
image: gotson/komga:1.20.0
container_name: komga
networks:
public:
ipv4_address: 192.168.240.34
ports:
- "25600:25600"
labels:
caddy: comic.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 25600 }}"
volumes:
- "${DOCKER_STORAGE_PATH}/komga:/config"
- "${COMIC_PATH}:/data"
- "${TORRENTS_SEED_PATH}:/import"
restart: unless-stopped

16
services/miniflux.yml Normal file
View File

@ -0,0 +1,16 @@
---
services:
miniflux:
image: miniflux/miniflux:latest
container_name: miniflux
networks:
public:
ipv4_address: 192.168.240.35
labels:
caddy: miniflux.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 8080 }}"
environment:
- BASE_URL=https://miniflux.${DOMAIN}
- DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
restart: unless-stopped

14
services/netbootxyz.yml Normal file
View File

@ -0,0 +1,14 @@
---
services:
netbootxyz:
image: linuxserver/netbootxyz:latest
container_name: netbootxyz
networks:
public:
ipv4_address: 192.168.240.44
ports:
- 3000:3000
volumes:
- "${DOCKER_STORAGE_PATH}/netbootxyz:/config"
- "${DOCKER_STORAGE_PATH_SLOW}/netbootxyz:/assets"
restart: unless-stopped

24
services/nextcloud.yml Normal file
View File

@ -0,0 +1,24 @@
---
services:
nextcloud:
image: registry.kucharczyk.xyz/nextcloud:latest
container_name: nextcloud
networks:
public:
ipv4_address: 192.168.240.40
depends_on:
- postgres
volumes:
- "${DOCKER_STORAGE_PATH}/nextcloud/config:/var/www/html/config"
- "${DOCKER_STORAGE_PATH}/nextcloud/data:/var/www/html/data"
- "${DOCKER_STORAGE_PATH}/nextcloud/html:/var/www/html"
environment:
# caddy
- TRUSTED_PROXIES=192.168.240.2
labels:
caddy: cloud.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 80 }}"
caddy.handle.redir_0: "/.well-known/carddav /remote.php/dav 301"
caddy.handle.redir_1: "/.well-known/caldav /remote.php/dav 301"
caddy.header.Strict-Transport-Security: "max-age=15552000; includeSubDomains"
restart: unless-stopped

24
services/openldap.yml Normal file
View File

@ -0,0 +1,24 @@
---
services:
openldap:
image: osixia/openldap:latest
container_name: openldap
networks:
public:
ipv4_address: 192.168.240.42
ports:
- 389:389
- 636:636
volumes:
- "${DOCKER_STORAGE_PATH}/openldap/config:/etc/ldap/slapd.d"
- "${DOCKER_STORAGE_PATH}/openldap/data:/var/lib/ldap"
environment:
- LDAP_ORGANISATION=Homelab
- LDAP_DOMAIN=${DOMAIN}
- LDAP_ADMIN_PASSWORD=kral
- LDAP_OPENLDAP_UID=${PUID}
- LDAP_OPENLDAP_GID=${PGID}
- LDAP_READONLY_USER=true
- LDAP_READONLY_USER_USERNAME=readonly
- LDAP_READONLY_USER_PASSWORD=readonly
restart: unless-stopped

17
services/portainer.yml Normal file
View File

@ -0,0 +1,17 @@
---
services:
portainer:
image: portainer/portainer-ee:2.19.1
container_name: portainer
ports:
- 9000:9000
networks:
public:
ipv4_address: 192.168.240.46
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
restart: unless-stopped
volumes:
portainer_data:

11
services/postgres.yml Normal file
View File

@ -0,0 +1,11 @@
---
services:
postgres:
container_name: postgres
image: postgres:latest
networks:
public:
ipv4_address: 192.168.240.25
volumes:
- "${DOCKER_STORAGE_PATH}/postgres:/var/lib/postgresql/data"
restart: unless-stopped

14
services/prowlarr.yml Normal file
View File

@ -0,0 +1,14 @@
---
services:
prowlarr:
# see https://github.com/linuxserver/docker-prowlarr/releases
image: linuxserver/prowlarr:1.27.0.4852-ls94
container_name: prowlarr
networks:
public:
ipv4_address: 192.168.240.43
ports:
- 9696:9696
volumes:
- "${DOCKER_STORAGE_PATH}/prowlarr:/config"
restart: unless-stopped

19
services/radarr.yml Normal file
View File

@ -0,0 +1,19 @@
---
services:
radarr:
image: ${REGISTRY_URL}/radarr:latest
container_name: radarr
ports:
- 7878:7878
networks:
public:
ipv4_address: 192.168.240.36
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/radarr:/config"
- "${NZB_DOWNLOADS_PATH}:/downloads"
- "${TORRENTS_SEED_PATH}:/seed"
- "${MOVIE_PATH}:/movies"
restart: unless-stopped

30
services/redlib.yml Normal file
View File

@ -0,0 +1,30 @@
---
services:
redlib:
image: quay.io/redlib/redlib:latest
restart: unless-stopped
container_name: "redlib"
# exposed via caddy -> doesn't need an external port
user: nobody
read_only: true
security_opt:
- no-new-privileges:true
# - seccomp=seccomp-redlib.json
cap_drop:
- ALL
environment:
- REDLIB_DEFAULT_THEME=dracula;
- REDLIB_DEFAULT_SHOW_NSFW=on;
- REDLIB_DEFAULT_HIDE_AWARDS=on;
- REDLIB_DEFAULT_USE_HLS=on;
- REDLIB_DEFAULT_BLUR_SPOILER=on;
networks:
public:
ipv4_address: 192.168.240.51
labels:
caddy: redlib.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 8080 }}"
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "--tries=1", "http://localhost:8080/settings"]
interval: 5m
timeout: 3s

17
services/registry.yml Normal file
View File

@ -0,0 +1,17 @@
---
services:
registry:
image: registry:latest
container_name: registry
networks:
public:
ipv4_address: 192.168.240.45
ports:
- 5000:5000
labels:
caddy: registry.${DOMAIN}
caddy.reverse_proxy: "{{ upstreams 5000 }}"
volumes:
- "${DOCKER_STORAGE_PATH}/registry/data:/var/lib/registry"
- "${DOCKER_STORAGE_PATH}/registry/config.yml:/etc/docker/registry/config.yml"
restart: unless-stopped

21
services/sabnzbd.yml Normal file
View File

@ -0,0 +1,21 @@
---
services:
sabnzbd:
image: linuxserver/sabnzbd:4.5.1
container_name: sabnzbd
networks:
public:
ipv4_address: 192.168.240.41
environment:
- PUID=1000
- PGID=100
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:sabnzbd
- TP_THEME=dracula
ports:
- "${SABNZBD_EXTERNAL_PORT}:${SABNZBD_INTERNAL_PORT}"
volumes:
- "${DOCKER_STORAGE_PATH}/sabnzbd:/config"
- "${DOWNLOADS_PATH}/sabnzbd:/downloads"
- "${DOWNLOADS_PATH}/sabnzbd-incomplete:/incomplete-downloads"
- "${MEDIA_PATH}:/media"
restart: unless-stopped

40
services/sonarr.yml Normal file
View File

@ -0,0 +1,40 @@
---
services:
sonarr_tv:
container_name: sonarr_tv_standard
image: linuxserver/sonarr:develop
networks:
public:
ipv4_address: 192.168.240.38
ports:
- "${SONARR_TV_STANDARD_EXTERNAL_PORT}:${SONARR_INTERNAL_PORT}"
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/sonarr:/config"
- "${TV_PATH}:/tv"
- "${ANIME_PATH}:/anime"
- "${NZB_DOWNLOADS_PATH}:/downloads"
- "${TORRENTS_SEED_PATH}:/seed"
- "${TORRENTS_SEED_PATH}/incomplete:/data/incomplete"
restart: unless-stopped
sonarr_anime:
container_name: sonarr_anime
image: linuxserver/sonarr:develop
networks:
public:
ipv4_address: 192.168.240.37
ports:
- "${SONARR_ANIME_EXTERNAL_PORT}:${SONARR_INTERNAL_PORT}"
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- "${DOCKER_STORAGE_PATH}/sonarr_anime:/config"
- "${ANIME_PATH}:/anime"
- "${NZB_DOWNLOADS_PATH}:/downloads"
- "${TORRENTS_SEED_PATH}:/seed"
- "${TORRENTS_SEED_PATH}/incomplete:/data/incomplete"
restart: unless-stopped

12
services/uptime-kuma.yml Normal file
View File

@ -0,0 +1,12 @@
---
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptimekuma
volumes:
- "${DOCKER_STORAGE_PATH}/uptimekuma:/app/data"
- "/var/run/docker.sock:/var/run/docker.sock"
networks:
public:
ipv4_address: 192.168.240.39
restart: unless-stopped

2
snibox.env Normal file
View File

@ -0,0 +1,2 @@
SECRET_KEY_BASE=sMHYqzrgJQgPynv6ZDG7M8ZpF
FORCE_SSL=false

4
valheim.env Normal file
View File

@ -0,0 +1,4 @@
SERVER_NAME=LukasJirkaDominik
WORLD_NAME=Mujnovyserver
SERVER_PASS=heslo
VALHEIM_PLUS=true

View File

@ -1,22 +0,0 @@
---
version: '3.4'
services:
valheim:
image: ghcr.io/lloesche/valheim-server
restart: unless-stopped
volumes:
- /docker/valheim/config:/config
- /docker/valheim/data:/opt/valheim
environment:
- SERVER_NAME=LukasJirkaDominik
- WORLD_NAME=Mujnovyserver
- SERVER_PASS=heslo
- PUID=1000
- PGID=100
- TZ=Europe/Prague
- VALHEIM_PLUS=true
ports:
- "2456-2457:2456-2457/udp"
cap_add:
- SYS_NICE