355 Commits
Author SHA1 Message Date
marc 0c65605a28 Merge branch 'master' into fuck 2023-03-07 12:30:22 +01:00
marc 46b728a7ed tableau 2023-03-07 12:26:14 +01:00
marc 4872b046fa jellyfin.yml that works 2023-03-07 12:26:14 +01:00
marc cf5b055b24 yt.marcpartensky.fr 2023-03-07 12:26:14 +01:00
marc 2cdf14caba ytdlp webui 2023-03-07 12:26:14 +01:00
marc 0c183165fc tableau 2023-03-06 19:01:34 +01:00
marc 783fc29049 yt-dlp 2023-03-06 16:28:47 +01:00
marc b37a2bb6e3 container name yt-dlp.yml 2023-03-04 19:52:21 +01:00
marc 12574f3f64 jellyfin.yml that works 2023-03-03 16:32:55 +01:00
marc 50f3e98002 yt.marcpartensky.fr 2023-02-28 20:07:04 +01:00
marc 0789c3ac27 ytdlp webui 2023-02-28 20:05:50 +01:00
marc 3f7ec1b4d5 nextcloud that works with fr 2023-02-28 19:46:52 +01:00
marc f3a9d39226 vaultwarden that actually works 2023-02-28 19:24:34 +01:00
marc 1e8ffe10c1 postgres.yml 2023-02-27 18:05:34 +01:00
marc 2374995356 etherpad fr 2023-02-25 18:45:32 +01:00
marc d132de8de5 yt-dlp pls 2023-02-24 18:01:26 +01:00
marc 8ca94f5cf8 honeygaijn 2023-02-23 18:19:19 +01:00
marc 46904e1a6b discord chatgpt 2023-02-21 10:51:43 +01:00
marc 52bcbcb550 chatgpt.yml 2023-02-21 10:18:44 +01:00
marc 9c22750a26 focalboard with postgres 2023-02-19 19:59:46 +01:00
marc 61a4ee8f52 good 2023-02-16 18:03:13 +01:00
marc fbe4635d6c ignore dockvpn stuff 2023-02-14 16:20:31 +01:00
marc 641fd1c65d gitea.yml 2023-02-14 16:19:35 +01:00
marc 167067a90c dockvpn that changes everytime 2023-02-14 16:19:25 +01:00
marc 822d41be97 dock vpn 2023-02-14 10:15:11 +01:00
marc 5e26d5c6fc openvpn.yml 2023-02-14 10:08:53 +01:00
marc 62a57a3445 openvpn server 2023-02-14 10:01:56 +01:00
marc e94c2b63d2 wireguard 2023-02-13 14:53:57 +01:00
marc c1ecbdeb1a attempting to fix sqlmap 2023-02-10 11:07:04 +01:00
marc 62b6d00fcc fix postgres 2023-02-10 11:06:33 +01:00
marc f9e4575e07 android 2023-02-09 17:50:21 +01:00
marc 207aee279b android 2023-02-09 17:46:35 +01:00
marc 6615362c61 sqlmap attempt 2023-02-09 17:25:26 +01:00
marc 0be3a775d7 burpsuite that doesnt work 2023-02-09 17:22:03 +01:00
marc 8bdb75f776 feroxbuster.yml 2023-02-07 16:08:09 +01:00
marc 4e45e1f43d limit to 0.1 cpu cuz fuck ipfs 2023-02-07 12:43:26 +01:00
marc e967cdca54 ipfs cpu limits 2023-02-07 12:28:43 +01:00
marc c4347b747b sablier maybe 2023-02-07 11:53:09 +01:00
marc cf7cb474e4 ignore mailcow data 2023-02-07 11:51:55 +01:00
marc d42e307187 searx fr 2023-02-07 11:50:28 +01:00
marc e12b2b9fa4 link for doc 2023-02-07 10:19:14 +01:00
marc f58c5ae67f traefik allow ssl backend 2023-02-07 10:16:43 +01:00
marc 4d07f96e0b ldap manager go fr 2023-02-06 07:26:53 +01:00
marc 6a5a53b142 ldap manager go fr 2023-02-06 07:24:48 +01:00
marc 7f346c70d5 duplicati fr 2023-02-06 07:23:55 +01:00
marc 08c706bcfb ldap manager fr 2023-02-06 07:23:43 +01:00
marc 7be1b74cf9 matrix fr cloudflare 2023-02-06 07:01:43 +01:00
marc 192822b062 ipfs cloudflare resolver 2023-02-06 06:58:04 +01:00
marc c738f3fbb5 ipfs fr 2023-02-06 06:57:03 +01:00
marc 00fe7d2943 traefik.yml 2023-02-06 06:51:50 +01:00
marc 92ac9bc692 using cloudflare as cert resolver too now 2023-02-06 06:49:16 +01:00
marc dcf14d58b8 ldap manager fr 2023-02-06 06:48:01 +01:00
marc f6f1497847 whoami fr 2023-02-06 06:35:41 +01:00
marc b06c2f2d5b uptime fr 2023-02-06 06:34:47 +01:00
marc 6f57e8fb60 duplcati fw 2023-02-06 01:32:15 +01:00
marc 30311afda1 mailcow attempt 2023-02-06 01:28:56 +01:00
marc fea9dc1570 attemps on vault 2023-02-06 01:28:42 +01:00
marc 0e242e4b90 owncloud fr 2023-02-02 19:42:44 +01:00
marc bb8920b68c ignore focalboard 2023-02-02 19:38:23 +01:00
marc e3911fc56c focalboard that works 2023-02-02 19:37:52 +01:00
marc 6bb1499842 vaultwarden 2023-02-02 19:37:20 +01:00
marc ef838c65c7 seafile 2023-02-02 19:36:30 +01:00
marc eea2c21153 traefik with ldap 2023-02-02 19:33:36 +01:00
marc d984bba156 focalboard with my postgres 2023-02-02 19:19:10 +01:00
marc db2022e3cf seafile fr 2023-01-29 04:03:10 +01:00
marc abafdd5c5d mobydock fr 2023-01-29 04:01:51 +01:00
marc af5c4bae3a .fr 2023-01-29 04:00:48 +01:00
marc 7929039bd4 multiple links 2023-01-29 03:59:53 +01:00
marc a78e66a69a mobydock 2023-01-21 22:40:47 +01:00
marc 77cedac33f tunnel 2023-01-19 15:12:15 +01:00
marc 30ecb09e48 ialab.yml 2023-01-18 21:02:05 +01:00
marc da440fdbda discord.yml 2023-01-18 21:00:42 +01:00
marc 7dc7db4fe4 ignore 2023-01-18 19:05:23 +01:00
marc d7995abfa7 ok 2023-01-18 19:05:13 +01:00
marc 72aa309dda no openvpn data 2023-01-18 19:04:11 +01:00
marc d198f6f410 discord bot env 2023-01-18 19:03:31 +01:00
marc d6dcad85c5 filebrowser data 2023-01-18 19:02:52 +01:00
marc 573169b6c2 makefile 2023-01-18 19:01:25 +01:00
marc cb09bf0137 bye 2023-01-18 19:00:09 +01:00
marc d80d0baaa5 etienne 2023-01-18 18:59:37 +01:00
marc 28b6d77279 etherpad using pad.marcpartensky.com 2023-01-10 15:24:36 +01:00
marc 78b9bd06c4 web-terminal.yml 2023-01-09 15:29:09 +01:00
marc 907117573b read docker sock 2023-01-07 12:17:24 +01:00
marc 17b4f21317 vol 2023-01-04 00:16:59 +01:00
marc c256ad2bec openvpnclient4.yml 2023-01-04 00:16:26 +01:00
marc 3d4fa22127 openvpnclient3.yml 2023-01-04 00:16:14 +01:00
marc 0aaf395f1b openvpnclient2.yml 2023-01-04 00:16:07 +01:00
marc 5599e187e7 owncloud 2023-01-03 18:18:50 +01:00
marc da9bbdb58f filebrowser.yml 2023-01-03 18:14:12 +01:00
marc 75a4bc17b4 uptime kuma 2023-01-01 23:55:46 +01:00
marc dcac2cd2ba official openvpnclient 2023-01-01 18:04:04 +01:00
marc e7a0fcabc7 fix port 2023-01-01 16:27:23 +01:00
marc bd0ab0013f caddy network 2023-01-01 16:27:04 +01:00
marc 54c89b4488 gluetun.yml 2023-01-01 16:26:10 +01:00
marc 443dd8ab93 vpn 2023-01-01 16:00:53 +01:00
marc d3c1253bb9 Update README.md 2022-12-27 13:45:13 +01:00
marc 3b22d451d8 ldap network to nextcloud 2022-12-26 16:23:20 +01:00
marc c62039d0fe env_file 2022-12-26 16:02:10 +01:00
marc a4bfcb5921 env var 2022-12-26 15:58:12 +01:00
marc d9bb6e4db9 ldap go 2022-12-26 15:53:07 +01:00
marc ea8e230d76 nixos 2022-12-26 15:51:03 +01:00
marc c200028bc0 mongo 2022-12-26 15:47:59 +01:00
marc e985752eae ignore vaultwarden data 2022-12-26 02:22:57 +01:00
marc 82029e6f81 mongo that works 2022-12-26 02:22:24 +01:00
marc e5ca34021a vaultwarden that works 2022-12-26 02:22:02 +01:00
marc 737ebc6321 network vaultwarden 2022-12-26 01:04:45 +01:00
marc f8a1ff2e92 vaultwarden ldap 2022-12-26 00:59:30 +01:00
marc 933ddf4221 vol 2022-12-26 00:47:56 +01:00
marc f8a94d186a multiple vols 2022-12-21 00:58:19 +01:00
marc 408d8dc635 filebrowser.yml 2022-12-21 00:51:43 +01:00
marc 97c2325b95 filebrowser.yml 2022-12-20 22:57:16 +01:00
marc ca215608d6 filebrowser.yml 2022-12-20 22:55:52 +01:00
marc ab97df91ef ipfs 2022-12-18 18:41:45 +01:00
marc ee4425a4c0 ipfs 2022-12-18 18:33:50 +01:00
marc 15ba187aa3 ipfs 2022-12-18 18:28:53 +01:00
marc 7b14ba476f test front rule 2022-12-18 18:25:54 +01:00
marc 4af5047907 ipfs 2022-12-18 17:59:22 +01:00
marc f498144f5e try replacement 2022-12-18 17:52:26 +01:00
marc 6c6208aa7e /webui 2022-12-18 17:38:39 +01:00
marc 8cf865de84 ldap 2022-12-18 17:21:23 +01:00
marc 22bf9de635 net and vol 2022-12-18 17:19:56 +01:00
marc 461b6ba700 ipfs 2022-12-18 17:16:53 +01:00
marc 69567af795 makefile 2022-12-16 20:27:21 +01:00
marc f7f20a8ff8 jellyfin.yml 2022-12-16 20:26:56 +01:00
marc 717d5e3da5 pawns 2022-12-16 20:26:49 +01:00
marc 4ad20c7687 homeassistant.yml 2022-12-16 20:25:12 +01:00
marc e14c8b18c8 remove ugly pgweb 2022-12-13 03:48:18 +01:00
marc 2cfc8ee74c custom pgweb 2022-12-13 03:47:54 +01:00
marc 73047a6114 pgweb as good as before 2022-12-13 03:37:44 +01:00
marc bb41dec4f6 good postgres 2022-12-13 02:53:16 +01:00
marc c1193fcda0 gitea.yml 2022-12-13 02:02:23 +01:00
marc b1f1214534 earnapp 2022-12-13 00:22:05 +01:00
marc 7b050209a8 limits 2022-12-13 00:17:58 +01:00
marc 74c26ba715 constraints 2022-12-13 00:12:42 +01:00
marc fb2d0fb0f9 miner 2022-12-13 00:08:33 +01:00
marc d307231325 money 2022-12-12 23:47:44 +01:00
marc 5ca4abb05c earnapp.yml 2022-12-12 23:46:38 +01:00
marc 86c3bfe43f peer2profit.yml 2022-12-12 23:46:29 +01:00
marc e1f344b79f money 2022-12-12 23:46:13 +01:00
marc 5214a155ba repocket 2022-12-12 23:45:47 +01:00
marc 2b06e251dc traffmonetizer.yml 2022-12-12 23:09:16 +01:00
marc b789a73e14 packetstream.yml 2022-12-12 22:31:07 +01:00
marc 4d25b5acd2 numeris 2022-12-12 22:06:43 +01:00
marc dac90a3298 numeris 2022-12-12 22:05:46 +01:00
marc 6f38d5f199 tried honeygain 2022-12-12 22:03:01 +01:00
marc a795d948d9 honeygain.yml 2022-12-12 21:49:42 +01:00
marc 4529897377 liberapay 2022-12-12 19:42:58 +01:00
marc 4784863c70 5432 localhost 2022-12-12 19:06:08 +01:00
marc d884da1207 postgres verbose pls 2022-12-08 19:04:47 +01:00
marc f334ae8925 almost fix todolist 2022-12-08 19:04:20 +01:00
marc bd521a56ca swarm visualizer shortcut 2022-12-08 19:04:11 +01:00
marc 247b50d27f fuck ERROR: You must set the environment variables GEOIPUPDATE_ACCOUNT_ID, GEOIPUPDATE_LICENSE_KEY, and GEOIPUPDATE_EDITION_IDS! 2022-12-06 00:49:23 +01:00
marc 810b2d2193 custom ip 2022-12-06 00:46:41 +01:00
marc 10a5141b4c no ipv4 2022-12-05 23:57:34 +01:00
marc 5514cd4118 clean net and service name 2022-12-05 23:48:16 +01:00
marc 7883618dbc deploy labels 2022-12-05 23:17:39 +01:00
marc e80a8b36ac mailcow 2022-12-05 23:16:22 +01:00
marc 60287821a6 bye oxivia 2022-12-05 22:56:30 +01:00
marc 18481bee41 adgaurd 2022-12-05 01:42:07 +01:00
marc 48c11963f8 wireguard client 2022-11-29 03:59:24 +01:00
marc 6619c4ef47 bye 2022-11-29 03:57:25 +01:00
marc 3df4d69b98 wireguard conf 2022-11-29 03:57:05 +01:00
marc 4956838f8f wireguard conf 2022-11-29 03:56:33 +01:00
marc ae214249a3 node labels 2022-11-29 03:23:52 +01:00
marc bc30990044 moved 2022-11-29 03:23:36 +01:00
marc 69a2c7176e valentin 2022-11-29 03:04:43 +01:00
marc b910e72d40 website 2022-11-29 02:32:25 +01:00
marc 8af467d970 health 2022-11-29 01:35:44 +01:00
marc 0e1df36451 seafile that works 2022-11-29 01:12:58 +01:00
marc 9c0faf4e70 no miner 2022-11-28 16:51:51 +01:00
marc b1e7c758a7 no arch for now 2022-11-28 16:50:04 +01:00
marc 16a92ecdb2 valentin 2022-11-28 16:49:37 +01:00
marc 47ff6e0f9e oxivia 2022-11-28 15:12:50 +01:00
marc ecca22e07a traefik is default now 2022-11-28 15:10:04 +01:00
marc 97002dd7aa might as well start first 2022-11-28 14:37:57 +01:00
marc 7c5b5d66ff bye todolist 2022-11-28 14:35:11 +01:00
marc c757aca483 soon mysql alone 2022-11-23 10:56:59 +01:00
marc 8a71408485 numeris.yml 2022-11-23 10:37:02 +01:00
marc bf62773448 numeris 2022-11-23 10:32:10 +01:00
marc f1124be5eb numeris 2022-11-23 10:30:58 +01:00
marc 6d0ef3dff5 numeris 2022-11-23 10:30:07 +01:00
marc fa8f90d8c3 numeris on top 2022-11-23 10:24:09 +01:00
marc edc0d4df00 numeris v1 2022-11-23 10:19:33 +01:00
marc b958a809c5 streamlit 2022-11-21 16:18:15 +01:00
marc 0a3cd3f04b streamlit 2022-11-21 16:09:13 +01:00
marc 170e21e0c8 seax 2022-11-21 16:05:15 +01:00
marc 4a3dcc890f streamlit 2022-11-21 16:03:23 +01:00
marc 091a714713 adguard config 2022-11-21 16:03:11 +01:00
marc fb4b0f9cc0 port 2022-11-21 15:54:00 +01:00
marc 0f96683e24 searx 2022-11-21 15:44:37 +01:00
marc 19ae780bb6 adguard clean 2022-11-18 23:59:13 +01:00
marc 9012dabb3e gitbook.yml 2022-11-18 23:52:01 +01:00
marc fcc7c4cd2a gitbook custom image 2022-11-18 23:38:13 +01:00
marc 1ece8598da gitbook 2022-11-18 21:22:46 +01:00
marc bd2ac5a2ef no 3000 open 2022-11-18 02:11:32 +01:00
marc 45d9564e95 docker craft 2022-11-18 02:02:55 +01:00
marc 3d600876a1 messed up 2022-11-18 02:00:49 +01:00
marc 4f654e2f53 link 2022-11-18 01:59:46 +01:00
marc 38adf360ef discord 2022-11-18 01:58:34 +01:00
marc def409af3f reade 2022-11-18 01:57:13 +01:00
marc 9cc764fc12 README.md 2022-11-18 01:56:10 +01:00
marc d3d578ae26 swarm visualizer that works 2022-11-18 01:54:30 +01:00
marc a9b3660403 kippo.yml 2022-11-18 01:54:18 +01:00
marc 1c0b129391 webshot.yml 2022-11-18 01:49:30 +01:00
marc 7cc8a4055b swarm-visualizer.yml 2022-11-18 01:31:08 +01:00
marc dfa86d81fe registry.yml 2022-11-18 01:13:01 +01:00
marc eec038c519 cowrie.yml 2022-11-18 00:45:22 +01:00
marc ec10e794be cowrie.yml 2022-11-18 00:42:48 +01:00
marc 75d096a5ee fix volume 2022-11-17 23:54:15 +01:00
marc cab99c5f26 cowrie.cfg 2022-11-17 23:07:54 +01:00
marc aea6325487 cowrie 2022-11-17 23:05:10 +01:00
marc 88084a581c wireguard.yml 2022-11-17 22:47:19 +01:00
marc 5c5d77d125 satisfactory.yml 2022-11-17 22:39:28 +01:00
marc 0f4bbf7aa4 fix port 2022-11-17 18:52:11 +01:00
marc 6bbede0a65 board.marcpartensky.com 2022-11-17 18:51:17 +01:00
marc 6f325a59db focalboard.yml 2022-11-17 18:49:33 +01:00
marc 68b6b3fbcd todolist deploy labels 2022-11-14 10:31:41 +01:00
marc 2ec47dff76 vaultwarden deploy labels 2022-11-14 06:35:22 +01:00
marc c00dd838c6 adguard deploy labels + ldap 2022-11-14 06:30:12 +01:00
marc 71a6e1c79b mongo express 2022-11-14 06:28:15 +01:00
marc 794822c542 heimdall with ldap 2022-11-14 06:23:37 +01:00
marc 2e1918b793 phpmyadmin too 2022-11-14 06:20:18 +01:00
marc c9c28030c6 wordpress deploy labels 2022-11-14 06:19:00 +01:00
marc 046044645d keycloak deploy labels 2022-11-14 06:17:35 +01:00
marc a534e28c31 sslh with traefik 2022-11-14 06:12:38 +01:00
marc 5d0b6bb4c3 fix peertube 2022-11-14 05:58:02 +01:00
marc a3c08af485 being gentle with gitlab 2022-11-14 05:57:03 +01:00
marc 2018b1d0f3 fix mistake 2022-11-14 05:54:27 +01:00
marc 9939880334 gitlab ram is 512 2022-11-14 05:53:27 +01:00
marc 537746a6cb gitlab deploy labels 2022-11-14 05:50:56 +01:00
marc 8e4394b44b secured pgweb 2022-11-14 05:48:23 +01:00
marc 520a62c289 ldap options once and for all 2022-11-14 05:37:44 +01:00
marc 85cd595267 fuck pgweb health 2022-11-14 05:33:00 +01:00
marc 84c6632093 pgweb is its own thing 2022-11-14 05:31:37 +01:00
marc c4ec620e04 pandoc.yml deploy labels 2022-11-14 05:28:01 +01:00
marc 9339fa9b79 mcmyadmin deploy labels 2022-11-14 05:27:11 +01:00
marc 81a05cba11 pritunl comment 2022-11-14 05:18:50 +01:00
marc a472002822 fix homer port 2022-11-14 05:09:36 +01:00
marc fa927dd63c pritunl deploy labels 2022-11-14 05:09:02 +01:00
marc a9d952ef37 homer deploy lables 2022-11-14 05:07:23 +01:00
marc b00207c6c0 swarmpit deploylabels 2022-11-14 05:06:19 +01:00
marc bedb598793 portainer deploy labels 2022-11-14 04:47:50 +01:00
marc 6d8e1ce97f pgadmin deploy labels 2022-11-14 04:45:27 +01:00
marc 22fba56a6a deploy labels 2022-11-14 04:42:52 +01:00
marc 07361d978e deploy labels 2022-11-14 04:39:31 +01:00
marc c2a932cbcd agenda militant deploy labels 2022-11-14 04:37:57 +01:00
marc 816abc1044 ialab.yml 2022-11-14 04:36:16 +01:00
marc a6ef57cb83 gitea deploy labels 2022-11-14 04:35:06 +01:00
marc 19649f8028 logs are back 2022-11-14 04:33:18 +01:00
marc bc5212dc9b marcpartensky/valentin-website 2022-11-14 04:31:20 +01:00
marc b4e0d5e83d deploy labels 2022-11-14 04:23:53 +01:00
marc 997378062c jupyterhub deploy labels 2022-11-14 04:22:05 +01:00
marc c0906d1ce1 valentin website 2022-11-14 04:18:36 +01:00
marc 4edf3d63f3 sablier 2022-11-13 07:32:56 +01:00
marc af81e6b0ab deploy labels 2022-11-13 07:17:47 +01:00
marc 7ef19365a9 sablier and souin 2022-11-13 06:57:41 +01:00
marc 04070fe852 unsecure for now 2022-11-13 06:55:37 +01:00
marc fa47916247 i tried 2022-11-13 06:11:44 +01:00
marc d8e0311ca7 attempt to secure 2022-11-13 06:09:27 +01:00
marc 8267b80214 need to be insecure 2022-11-13 05:40:50 +01:00
marc 2bc8ed274b fix whoami 2022-11-13 05:38:07 +01:00
marc e628a7137a fix port 2022-11-13 05:34:28 +01:00
marc ce7aadca21 port too 2022-11-13 05:31:17 +01:00
marc f69c8ced98 enable 2022-11-13 05:28:56 +01:00
marc 92ffd3ce73 3.9 2022-11-13 05:28:30 +01:00
marc 28cb6d17ed whoami 2022-11-13 05:27:58 +01:00
marc 4d3b881959 whoami 2022-11-13 05:27:04 +01:00
marc 1166bede86 port 2022-11-13 05:23:49 +01:00
marc ac451e6519 deploy labels 2022-11-13 05:21:06 +01:00
marc a5a564327a deploy labels 2022-11-13 05:19:05 +01:00
marc 10360bf14a swarm labels 2022-11-13 05:17:58 +01:00
marc ee978ab20d swarm 2022-11-13 05:15:51 +01:00
marc 30aa8ca1bf fix typo 2022-11-13 05:13:33 +01:00
marc 539bd67014 /usr/local/bin 2022-11-13 05:04:51 +01:00
marc b4440f585b traefik is in path 2022-11-13 05:02:11 +01:00
marc d91e8d0575 enabling ping for traefik healthcheck 2022-11-13 05:00:02 +01:00
marc 37ee6f7988 traefik 2022-11-13 04:53:05 +01:00
marc 31c80cec44 traefik default net 2022-11-13 04:31:50 +01:00
marc b34a52faf4 traefik swarm labels 2022-11-13 04:31:33 +01:00
marc 5b2e634acf traefik config is now public 2022-11-13 04:15:31 +01:00
marc acd2667ba5 comments 2022-11-13 04:13:25 +01:00
marc a364eccb10 clean 2022-11-13 04:09:51 +01:00
marc 2052ac2810 adguard home 2022-11-13 04:09:24 +01:00
marc fd7e3074bc traefik 2022-11-08 07:05:55 +01:00
marc adc624ce0b jupyterhub config that works 2022-11-08 06:00:59 +01:00
marc 3dc5184c62 traefik for now 2022-11-08 01:56:30 +01:00
marc 0deb6d5788 ldap 2022-11-04 22:07:29 +01:00
marc 5042a8e4b8 ldap 2022-11-04 22:07:25 +01:00
marc 98b4077c07 healthcheck 2022-11-04 20:05:50 +01:00
marc b9e06dbc54 tiny 2022-11-04 17:54:58 +01:00
marc d58005764c string 2022-11-02 20:27:19 +01:00
marc 2fa50318d1 ok 2022-11-02 20:26:54 +01:00
marc 91689206db tiny 2022-11-02 01:39:47 +01:00
marc c3e9c66d77 restart 2022-11-01 23:44:12 +01:00
marc 9726ec12a6 clean 2022-11-01 23:42:13 +01:00
marc c5e047ae5b conf 2022-11-01 23:32:42 +01:00
marc 78e493ff49 env file 2022-11-01 23:28:00 +01:00
marc 3e59d1ea92 fix 2022-11-01 23:18:39 +01:00
marc 163fb2348e seafile-tiny.yml 2022-11-01 23:10:03 +01:00
marc dcd450b076 nextcloud in postgres network 2022-11-01 18:29:44 +01:00
marc 4cef4af1e9 2 docker-compose files 2022-10-26 01:46:40 +02:00
marc 894bfd951b ignore postgres 2022-10-26 01:45:15 +02:00
marc 1f42836ba4 srv postgres 2022-10-26 01:36:41 +02:00
marc 59e42aa77a fix caddy 2022-10-26 01:33:08 +02:00
marc 28cf4d06ab env vars everywhere 2022-10-26 01:27:02 +02:00
marc 703230968b pgadmin 2022-10-26 01:20:50 +02:00
marc ac7bb1f70a applying version 14 2022-10-26 00:59:10 +02:00
marc 5b7578aefb same applies for caddy 2022-10-26 00:52:59 +02:00
marc 248925e652 dont depend on unexisting project 2022-10-26 00:52:43 +02:00
marc 1859648bae bye useless volume 2022-10-26 00:51:43 +02:00
marc 554b691f3e forgot postgres network 2022-10-26 00:50:17 +02:00
marc 93432fc48c postgres 2022-10-26 00:49:15 +02:00
marc c3feb330b6 postgres external true 2022-10-26 00:48:33 +02:00
marc 44f5d56d96 make network 2022-10-26 00:47:18 +02:00
marc b8b3ecdc63 mount sql scripts why not 2022-10-26 00:45:02 +02:00
marc 6881bffcde start optimized 2022-10-26 00:35:08 +02:00
marc 66f4dea749 start for prod 2022-10-26 00:34:14 +02:00
marc c80486d31e forgot ps 2022-10-26 00:32:01 +02:00
marc 3b3c28847f matrix 2022-10-26 00:31:13 +02:00
marc a54458b70a changing ci 2022-10-26 00:30:30 +02:00
marc 5ea535acd2 start dev comment 2022-10-26 00:29:41 +02:00
marc 527da92e4a fix and start prod 2022-10-26 00:29:16 +02:00
marc 215bc793bf keycloak.yml 2022-10-26 00:25:41 +02:00
marc f7a3ed8f28 path != dir 2022-10-26 00:01:32 +02:00
marc f2853f428f yml 2022-10-26 00:00:51 +02:00
marc 51e944c98f matrix healthcheck 2022-10-25 23:59:58 +02:00
marc f9a067d2f4 languagetool 2022-10-17 05:06:21 +02:00
marc 055d6a826b jupyterlab that actually works for once 2022-10-03 11:13:04 +02:00
marc e90ef74523 jupyterhub_config.py 2022-10-02 23:51:23 +02:00
marc 001bf396df fix port 2022-10-02 23:41:16 +02:00
marc 24daf39f6d libreswan 2022-09-30 23:03:14 +02:00
marc efc92da96e ipsec 2022-09-30 22:14:46 +02:00
marc 7adf5800b0 volumes 2022-09-30 22:08:45 +02:00
marc f170b1395a ipsec 2022-09-30 22:06:00 +02:00
marc 7c0997f6f3 duplicati with traefik 2022-09-21 11:46:03 +02:00
marc 789baaf316 fix dumb mongo express mistake 2022-09-21 11:42:23 +02:00
marc 540b228247 agenda militant 2022-09-19 22:24:01 +02:00
marc f584e872ce experimenting with traefik 2022-09-12 02:07:39 +02:00
marc 5308132ff8 change 2022-09-12 01:13:26 +02:00
marc d5889d1c22 back 2022-09-12 01:08:31 +02:00
marc 05fcc6dbd1 static.yml 2022-09-12 00:36:46 +02:00
marc 8002db31d2 command 2022-09-12 00:02:20 +02:00
marc a2bed82c91 fix pgweb traefik conf 2022-09-12 00:02:20 +02:00
marc 3765ab5565 node = manager 2022-09-11 23:46:22 +02:00
marc 6f2918b34c traefik.env 2022-09-01 21:55:44 +02:00
marc 49b3f28b36 no conf file 2022-08-25 21:25:42 +02:00
marc d7667dbcde ldap network 2022-08-25 21:04:45 +02:00
marc 29b67cb2a3 Merge branch 'master' into traefik-static 2022-08-24 18:15:41 +02:00
marc b86fd1a6f2 bye homeserver.yaml from matrix 2022-08-24 18:15:27 +02:00
marc 4a69f141e9 traefik static conf file ignored 2022-08-24 18:15:12 +02:00
marc 596cfe44b3 traefik.yml 2022-08-24 08:07:27 +02:00
marc bf5f4a86d9 trafik static 2022-08-24 08:05:36 +02:00
marc 0a5f3f9e7d trying with heimdall 2022-08-23 08:46:41 +02:00
marc 37b7d5b846 fix mistake 2022-08-23 08:47:37 +02:00
marc 87cb0d3160 trying auth middleware in traefik conf 2022-08-23 08:42:17 +02:00
108 changed files with 4279 additions and 3453 deletions
+1
View File
@@ -1,3 +1,4 @@
liberapay: marcpartensky
patreon: marcpartensky
github: marcpartensky
custom:
+2 -1
View File
@@ -23,4 +23,5 @@ jobs:
run: make merge
- name: Validate docker-compose.yml
# run: docker-compose -f stacks/docker-compose.yml config
run: /opt/validator/validator-cli.py -f stacks/docker-compose.yml
# run: /opt/validator/validator-cli.py -f stacks/docker-compose.yml
run: docker-compose -f stacks/docker-compose.yml ps
+11 -1
View File
@@ -2,7 +2,6 @@ docker-compose.yml
data/openvpn
data/secrets
data/certbot
data/traefik
data/searx
data/jenkins
data/beef
@@ -13,5 +12,16 @@ data/matrix
data/heimdall
data/pihole/etc-pihole
data/pxe
data/postgres
data/wireguard
data/vaultwarden
data/filebrowser
data/focalboard
data/openvpn_*
data/mailcow
data/dockvpn
data/hydra
data.tar.gz
data.7z
data.7z.gpg
services/template.yml
+12 -4
View File
@@ -9,8 +9,16 @@ mswarm: merge
down:
docker stack rm vps
export:
tar cvzf data.tgz data
gpg --encrypt --recipient 'marc.partensky@gmail.com' data.tgz
7z a -p data.7z data
gpg --encrypt --sign --recipient 'marc@marcpartensky.com' data.7z
rm data.tgz
network:
docker network create --driver overlay --attachable caddy
networks:
docker network create --driver overlay --attachable caddy || true
docker network create --driver overlay --attachable ldap || true
docker network create --driver overlay --attachable postgres || true
docker network create --driver overlay --attachable mongo || true
docker network create --driver overlay --attachable vpn || true
docker network create --driver overlay --subnet 172.22.1.0/24 --gateway 172.22.1.1 --attachable mailcow || true
node:
docker node update --label-add net=web contabo
docker node update --label-add net=none tower
+4 -1
View File
@@ -1,6 +1,7 @@
[![Docker Swarm Deployed](https://github.com/MarcPartensky/Docker/actions/workflows/docker-swarm-deploy.yml/badge.svg)](https://github.com/MarcPartensky/Docker/actions/workflows/docker-swarm-deploy.yml)
# Docker
[![Docker Swarm Services](https://cdn.discordapp.com/attachments/809914059981586462/1042966875514077227/unknown.png)](https://swarm.marcpartensky.com)
## Domains
- https://marcpartensky.com
@@ -8,7 +9,6 @@
- https://ialab.marcpartensky.com
- https://notebook.marcpartensky.com
- https://searx.marcpartensky.com
- https://cloud.marcpartensky.com
- https://wordpress.marcpartensky.com
- https://git.marcpartensky.com
- https://gitlab.marcpartensky.com
@@ -20,8 +20,11 @@
- https://swarm.marcpartensky.com
- https://auth.marcpartensky.com
- https://seafile.marcpartensky.com
- https://cloud.marcpartensky.com
- https://mail.marcpartensky.com
- https://arch.marcpartensky.com
- https://matrix.marcpartensky.com
- https://vault.marcpartensky.com
<!-- - https://dns.marcpartensky.com -->
<!-- - https://glou.marcpartensky.com -->
<!-- - https://minecraft.marcpartensky.com -->
+164
View File
@@ -0,0 +1,164 @@
bind_host: 0.0.0.0
bind_port: 3000
beta_bind_port: 0
users:
- name: marc
password: $2a$10$E9cknJr/bTLtSUJ9EaW8r.Gw30FX8Plm8jgq.LaYxMwiX4DEuDK7O
auth_attempts: 5
block_auth_min: 15
http_proxy: ""
language: ""
debug_pprof: false
web_session_ttl: 720
dns:
bind_hosts:
- 0.0.0.0
port: 53
statistics_interval: 1
querylog_enabled: true
querylog_file_enabled: true
querylog_interval: 2160h
querylog_size_memory: 1000
anonymize_client_ip: false
protection_enabled: true
blocking_mode: default
blocking_ipv4: ""
blocking_ipv6: ""
blocked_response_ttl: 10
parental_block_host: family-block.dns.adguard.com
safebrowsing_block_host: standard-block.dns.adguard.com
ratelimit: 20
ratelimit_whitelist: []
refuse_any: true
upstream_dns:
- https://dns10.quad9.net/dns-query
upstream_dns_file: ""
bootstrap_dns:
- 9.9.9.10
- 149.112.112.10
- 2620:fe::10
- 2620:fe::fe:10
all_servers: false
fastest_addr: false
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: 0
cache_ttl_max: 0
cache_optimistic: false
bogus_nxdomain: []
aaaa_disabled: false
enable_dnssec: false
edns_client_subnet: false
max_goroutines: 300
handle_ddr: true
ipset: []
ipset_file: ""
filtering_enabled: true
filters_update_interval: 24
parental_enabled: false
safesearch_enabled: false
safebrowsing_enabled: false
safebrowsing_cache_size: 1048576
safesearch_cache_size: 1048576
parental_cache_size: 1048576
cache_time: 30
rewrites:
- domain: medium.com
answer: 0.0.0.0
- domain: marc
answer: marcpartensky.com
blocked_services: []
upstream_timeout: 10s
private_networks: []
use_private_ptr_resolvers: true
local_ptr_upstreams: []
serve_http3: false
use_http3_upstreams: false
tls:
enabled: false
server_name: ""
force_https: false
port_https: 443
port_dns_over_tls: 853
port_dns_over_quic: 853
port_dnscrypt: 0
dnscrypt_config_file: ""
allow_unencrypted_doh: false
certificate_chain: ""
private_key: ""
certificate_path: ""
private_key_path: ""
strict_sni_check: false
filters:
- enabled: true
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
name: AdGuard DNS filter
id: 1
- enabled: true
url: https://adaway.org/hosts.txt
name: AdAway Default Blocklist
id: 2
- enabled: true
url: https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
name: WindowsSpyBlocker - Hosts spy rules
id: 1668812860
- enabled: true
url: https://malware-filter.gitlab.io/malware-filter/phishing-filter-agh.txt
name: Phishing URL Blocklist (PhishTank and OpenPhish)
id: 1668812861
- enabled: true
url: https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV-AGH.txt
name: Perflyst and Dandelion Sprout's Smart-TV Blocklist
id: 1668812862
- 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: 1668812863
whitelist_filters: []
user_rules: []
dhcp:
enabled: false
interface_name: ""
local_domain_name: lan
dhcpv4:
gateway_ip: ""
subnet_mask: ""
range_start: ""
range_end: ""
lease_duration: 86400
icmp_timeout_msec: 1000
options: []
dhcpv6:
range_start: ""
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
clients:
runtime_sources:
whois: true
arp: true
rdns: true
dhcp: true
hosts: true
persistent: []
log_file: ""
log_max_backups: 0
log_max_size: 100
log_max_age: 3
log_compress: false
log_localtime: false
verbose: false
os:
group: ""
user: ""
rlimit_nofile: 0
schema_version: 14
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+7
View File
@@ -0,0 +1,7 @@
http:
middlewares:
basic:
basicAuth:
users:
- test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/
# usersFile: etc/traefik/.htpasswd
+97
View File
@@ -0,0 +1,97 @@
# https://doc.traefik.io/traefik/routing/overview/
global:
checkNewVersion: true
sendAnonymousUsage: false
api:
# insecure: false # = secure
insecure: true
dashboard: true
debug: true
providers:
docker:
swarmMode: true
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false # traefik enabled containers only
network: caddy
file:
filename: dynamic.yml
serversTransport: # enable ssl backend
insecureSkipVerify: true
certificatesResolvers:
# https://community.traefik.io/t/help-with-multiple-certificate-resolvers/15134
tls:
acme:
tlsChallenge: {}
email: marc.partensky@gmail.com
storage: /config/acme.json
cloudflare:
acme:
email: marc.partensky@gmail.com
storage: /config/acme.json
dnsChallenge:
provider: cloudflare
resolvers:
- "1.1.1.1:53"
ping: {} # mandatory for healthcheck
log:
level: debug
# level: error
entryPoints:
websecure:
address: ':443'
forwardedHeaders:
insecure: true
# http3:
# advertisedPort: 443
http:
tls:
certResolver: tls
# middlewares:
# - ldap
# http3:
# advertisedPort: 443
web:
address: ':80'
forwardedHeaders:
insecure: true
# forwardedHeaders:
# trustedIPs:
# - "127.0.0.1/32"
# - "192.168.1.7"
http:
redirections:
entryPoint:
to: websecure
scheme: https
permanent: true
priority: 10
experimental:
# http3: true
plugins:
ldapAuth:
moduleName: "github.com/wiltonsr/ldapAuth"
version: "v0.0.19"
souin:
moduleName: "github.com/darkweak/souin"
version: "v1.6.22"
sablier:
moduleName: "github.com/acouvreur/sablier"
version: "v1.0.0"
# ldap entreprise https://doc.traefik.io/traefik-enterprise/operations/static-configuration/
# authSources:
# ldapSource:
# ldap:
# url: ldaps://marcpartensky.com:636
# startTLS: true
# insecureSkipVerify: true
# bindDN: cn=admin,dc=admin,dc=org
# - --providers.docker.network=web # <== Operate on the docker network named web
## API Settings - https://docs.traefik.io/operations/api/, endpoints - https://docs.traefik.io/operations/api/#endpoints ##
# TRAEFIK_CERTIFICATESRESOLVERS_TLS_ACME_TLSCHALLENGE=true
# TRAEFIK_CERTIFICATESRESOLVERS_TLS_ACME_EMAIL=marc.partensky@gmail.com
# TRAEFIK_CERTIFICATESRESOLVERS_TLS_ACME_STORAGE=/letsencrypt/acme.json # log settings (options: error, debug, panic, fatal, warn, info) - https://docs.traefik.io/observability/logs/ ##
## Provider Settings - https://docs.traefik.io/providers/docker/#provider-configuration ##
## Entrypoints Settings - https://docs.traefik.io/routing/entrypoints/#configuration ##
Vendored
+3 -7
View File
@@ -1,9 +1,8 @@
caddy
traefik
website
arch
valentin
open-web-calendar
oxivia
wordpress-oxivia
adguard
servant
discord-bot
ia
@@ -11,14 +10,11 @@ docker-api
ialab
portainer
authentik
todolist
nextcloud
jenkins
seafile
matrix
etherpad
monero-miner
monero-node
pritunl
pritunl-mongo
fail2ban
+49
View File
@@ -0,0 +1,49 @@
version: "3.9"
services:
adguard:
image: adguard/adguardhome
restart: unless-stopped
ports:
- 53:53/tcp
- 53:53/udp
- 67:67/udp
- 68:68/udp # adguard home as dhcp
# - 80:80/tcp # https/dns-over-https
# - 443:443/tcp
# - 443:443/udp
# - 3000:3000/tcp # adguard home's admin
- 853:853/tcp # dns-over-tls
- 784:784/udp # dns-over-quic
- 853:853/udp
- 8853:8853/udp
- 5443:5443/tcp # dnscrypt server
- 5443:5443/udp
volumes:
- adguard:/opt/adguardhome/work
- ../data/adguard:/opt/adguardhome/conf
networks:
- caddy
labels:
caddy: adguard.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 3000}}"
traefik.enable: "true"
traefik.http.routers.adguard.rule: Host(`adguard.marcpartensky.com`)
traefik.http.routers.adguard.entrypoints: websecure
traefik.http.routers.adguard.tls.certresolver: tls
traefik.http.services.adguard.loadbalancer.server.port: 3000
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.adguard.rule: Host(`adguard.marcpartensky.com`)
traefik.http.routers.adguard.entrypoints: websecure
traefik.http.routers.adguard.tls.certresolver: tls
traefik.http.services.adguard.loadbalancer.server.port: 3000
traefik.http.routers.adguard.middlewares: ldap_auth
volumes:
adguard:
networks:
caddy:
external: true
+25
View File
@@ -0,0 +1,25 @@
version: "3.9"
services:
agenda_militant:
image: marcpartensky/agenda-militant
restart: unless-stopped
networks:
- caddy
labels:
caddy: agenda.militant.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8080}}"
traefik.enable: "true"
traefik.http.routers.agenda_militant.rule: Host(`agenda.militant.marcpartensky.com`)
traefik.http.routers.agenda_militant.entrypoints: websecure
traefik.http.routers.agenda_militant.tls.certresolver: tls
traefik.http.services.agenda_militant.loadbalancer.server.port: 8080
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.agenda_militant.rule: Host(`agenda.militant.marcpartensky.com`)
traefik.http.routers.agenda_militant.entrypoints: websecure
traefik.http.routers.agenda_militant.tls.certresolver: tls
traefik.http.services.agenda_militant.loadbalancer.server.port: 8080
networks:
caddy:
external: true
+15 -1
View File
@@ -4,10 +4,24 @@ services:
image: budtmo/docker-android-x86-12.0
restart: unless-stopped
privileged: true
networks:
- caddy
ports:
- "6080:6080"
# - "6080:6080"
- "5554:5554"
- "5555:5555"
- "4723:4723"
environment:
DEVICE: "Samsung Galaxy S6"
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.android.rule: >
Host(`android.marcpartensky.fr`)
traefik.http.routers.android.entrypoints: websecure
traefik.http.routers.android.tls.certresolver: cloudflare
traefik.http.services.android.loadbalancer.server.port: 6080
networks:
caddy:
external: true
+38 -8
View File
@@ -7,20 +7,50 @@ services:
- "5900:5900"
networks:
- caddy
- ldap
volumes:
- arch:/home/marc
labels:
caddy: arch.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8080}}"
traefik.enable: "true"
traefik.http.routers.arch.rule: Host(`arch.marcpartensky.com`)
traefik.http.routers.arch.entrypoints: websecure
traefik.http.routers.arch.tls.certresolver: tls
traefik.http.services.arch.loadbalancer.server.port: 8080
deploy:
labels:
caddy: arch.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8080}}"
traefik.enable: "true"
traefik.http.routers.arch.rule: Host(`arch.marcpartensky.com`)
traefik.http.routers.arch.entrypoints: websecure
traefik.http.routers.arch.tls.certresolver: tls
traefik.http.services.arch.loadbalancer.server.port: 8080
# traefik.http.routers.arch.middlewares: ldap_auth, sablier
#
# # sablier
# # The sablier URL service, must be reachable from the Traefik instance
# traefik.http.middlewares.sablier.plugin.sablierUrl: http://sablier:10000
# # Comma separated names of containers/services/deployments etc.
# traefik.http.middlewares.sablier.plugin.names: arch
# # The session duration after which containers/services/deployments instances are shutdown
# traefik.http.middlewares.sablier.plugin.sessionDuration: 1m
# # You can only use one strategy at a time
# # To do so, only declare `dynamic` or `blocking`
#
# # Dynamic strategy, provides the waiting webui
# # (Optional) Defaults to the middleware name
# traefik.http.middlewares.sablier.plugin.dynamic.displayName: Starting application
# # (Optional) Set to true or false to show details specifcally for this middleware, unset to use Sablier server defaults
# traefik.http.middlewares.sablier.plugin.dynamic.showDetails: "true"
# # (Optional) The theme to use
# traefik.http.middlewares.sablier.plugin.dynamic.theme: hacker-terminal
# # (Optional) The loading page refresh frequency
# traefik.http.middlewares.sablier.plugin.dynamic.refreshFrequency: 5s
#
# # Blocking strategy, waits until services are up and running
# # but will not wait more than `timeout`
# # blocking:
# # timeout: 1m
volumes:
arch:
networks:
ldap:
external: true
caddy:
external: true
+12 -12
View File
@@ -76,18 +76,18 @@ services:
networks:
- authentik
authentik_geoipupdate:
image: maxmindinc/geoipupdate:latest
restart: unless-stopped
volumes:
- authentik_geoip:/usr/share/GeoIP
environment:
GEOIPUPDATE_EDITION_IDS: "GeoLite2-City"
GEOIPUPDATE_FREQUENCY: "8"
# env_file:
# - ../data/secrets/authentik.env
networks:
- authentik
# authentik_geoipupdate:
# image: maxmindinc/geoipupdate:latest
# restart: unless-stopped
# volumes:
# - authentik_geoip:/usr/share/GeoIP
# environment:
# GEOIPUPDATE_EDITION_IDS: "GeoLite2-City"
# GEOIPUPDATE_FREQUENCY: "8"
# # env_file:
# # - ../data/secrets/authentik.env
# networks:
# - authentik
volumes:
authentik_postgres:
+26
View File
@@ -0,0 +1,26 @@
version: "3.9"
services:
burpserver:
image: pschiffe/burp-server
ports:
- "4971:4971"
volumes:
- conf:/etc/burp
- data:/var/spool/burp
environment:
BURP_CLIENTS_CONFIG: "host1:pass1 host2:pass2 host3:pass3"
tmpfs:
- /run
- /tmp
privileged: true
# deploy:
# labels:
# traefik.enable: "true"
# traefik.http.routers.burpserver.rule: Host(`burp.marcpartensky.fr`)
# traefik.http.routers.burpserver.entrypoints: websecure
# traefik.http.routers.burpserver.tls.certresolver: tls
# traefik.http.services.burpserver.loadbalancer.server.port: 4971
volumes:
conf:
data:
+6
View File
@@ -0,0 +1,6 @@
version: "3.9"
services:
chatgpt:
image: wongsaang/chatgpt-ui:latest
ports:
- "8000:80"
+17
View File
@@ -0,0 +1,17 @@
version: "3.9"
services:
cowrie:
image: rayson/cowrie:20160907-1
user: cowrie
ports:
- "22:2222/tcp"
- "23:2223/tcp"
environment:
COWRIE_TELNET_ENABLED: "yes"
volumes:
- cowrie:/opt/cowrie/data:Z
- cowrie-log:/opt/cowrie/log:Z
volumes:
cowrie:
cowrie-log:
-19
View File
@@ -1,19 +0,0 @@
version: "3.9"
services:
discord-bot:
image: marcpartensky/discord-bot
restart: unless-stopped
ports:
- "7010:8000"
networks:
- discord
depends_on:
- docker_api
env_file:
- ../data/secrets/esclave.env
deploy:
replicas: 1
networks:
discord:
+34
View File
@@ -0,0 +1,34 @@
version: "3.9"
services:
bot:
image: marcpartensky/discord-bot
restart: unless-stopped
ports:
- "7010:8000"
networks:
- discord
env_file:
- ../data/secrets/discord-bot.env
deploy:
replicas: 1
ia:
image: marcpartensky/discord-bot
restart: unless-stopped
ports:
- "7011:8000"
networks:
- discord
env_file:
- ../data/secrets/ia.env
deploy:
replicas: 1
chatgpt:
image: xxxbrian/discord_chatgpt_bot:latest
env_file:
- ../data/secrets/discord_chatgpt.env
networks:
discord:
-13
View File
@@ -1,13 +0,0 @@
version: "3.9"
services:
docker_api:
image: marcpartensky/docker-api
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- discord
networks:
discord:
+22
View File
@@ -0,0 +1,22 @@
version: "3.9"
services:
docker_api:
image: marcpartensky/docker-api
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- discord
# db:
# image: postgres
# container_name: docker-app-db
# restart: unless-stopped
# environment:
# POSTGRES_USER: docker_user
# POSTGRES_PASSWORD: d3kTrklm54208
# POSTGRES_DB: docker
networks:
discord:
+8
View File
@@ -0,0 +1,8 @@
version: "3.3"
services:
dockercraft:
image: gaetan/dockercraft
ports:
- "25567:25565"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:Z
+28
View File
@@ -0,0 +1,28 @@
version: "3.9"
services:
dockvpn:
image: alekslitvinenk/openvpn
cap_add:
- NET_ADMIN
networks:
- caddy
devices:
- /dev/net/tun
ports:
- 1194:1194/udp
- 8080:8080/tcp
volumes:
- ../data/dockvpn:/opt/Dockovpn_data/clients
environment:
HOST_ADDR: vpn.marcpartensky.fr
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.dockvpn.rule: >
Host(`dockvpn.marcpartensky.fr`)
traefik.http.routers.dockvpn.entrypoints: websecure
traefik.http.routers.dockvpn.tls.certresolver: cloudflare
traefik.http.services.dockvpn.loadbalancer.server.port: 8080
networks:
caddy:
external: true
+18
View File
@@ -18,6 +18,24 @@ services:
labels:
caddy: duplicati.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8200}}"
traefik.enable: "true"
traefik.http.services.duplicati.loadbalancer.server.port: 8200
traefik.http.routers.duplicati.rule: >
Host(`duplicati.marcpartensky.com`) || Host(`dupliati.marcpartensky.fr`)
traefik.http.routers.duplicati.entrypoints: websecure
# traefik.http.routers.duplicati.tls.certresolver: tls
traefik.http.routers.duplicati.middlewares: ldap_auth
deploy:
labels:
traefik.enable: "true"
traefik.http.services.duplicati.loadbalancer.server.port: 8200
# traefik.http.routers.duplicati.rule: Host(`duplicati.marcpartensky.com`)
traefik.http.routers.duplicati.rule: >
Host(`duplicati.marcpartensky.com`) || Host(`duplicati.marcpartensky.fr`)
traefik.http.routers.duplicati.entrypoints: websecure
# traefik.http.routers.duplicati.tls.certresolver: tls
traefik.http.routers.duplicati.tls.certresolver: cloudflare
# traefik.http.routers.duplicati.middlewares: ldap_auth
volumes:
duplicati_config:
+7
View File
@@ -0,0 +1,7 @@
version: "3.9"
services:
image: fazalfarhan01/earnapp:lite
volumes:
- earnapp:/etc/earnapp
environment:
EARNAPP_UUID: $EARNAPP_DEVICE_ID
+9 -1
View File
@@ -12,10 +12,18 @@ services:
caddy: etherpad.marcpartensky.com, pad.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 9001}}"
traefik.enable: "true"
traefik.http.routers.etherpad.rule: Host(`etherpad.marcpartensky.com`)
traefik.http.routers.etherpad.rule: Host(`pad.marcpartensky.com`)
traefik.http.routers.etherpad.entrypoints: websecure
traefik.http.routers.etherpad.tls.certresolver: tls
traefik.http.services.etherpad.loadbalancer.server.port: 9001
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.etherpad.rule: >
Host(`pad.marcpartensky.com`) && Host(`pad.marcpartensky.fr`)
traefik.http.routers.etherpad.entrypoints: websecure
traefik.http.routers.etherpad.tls.certresolver: tls
traefik.http.services.etherpad.loadbalancer.server.port: 9001
networks:
caddy:
+10
View File
@@ -0,0 +1,10 @@
version: "3.9"
services:
feroxbuster:
image: epi052/feroxbuster
volumes:
- /srv/feroxbuster:/srv
command: >
-u http://ravens-pu8yvgzavpu7ooyr.francecentral.cloudapp.azure.com
-x php
--wordlist /srv/rockyou.txt
+29
View File
@@ -0,0 +1,29 @@
version: "3.9"
services:
filebrowser:
image: hurlenko/filebrowser
restart: unless-stopped
# user: "${UID}:${GID}"
volumes:
- data:/data
- ../data/filebrowser:/config
# environment:
# FB_BASEURL: /filebrowser
networks:
- caddy
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.filebrowser.rule: Host(`file.marcpartensky.com`)
traefik.http.routers.filebrowser.entrypoints: websecure
traefik.http.routers.filebrowser.tls.certresolver: tls
traefik.http.services.filebrowser.loadbalancer.server.port: 8080
traefik.http.routers.filebrowser.middlewares: ldap_auth
networks:
caddy:
external: true
volumes:
data:
+31
View File
@@ -0,0 +1,31 @@
version: "3.9"
services:
focalboard:
image: mattermost/focalboard
volumes:
- data:/opt/focalboard/data
- pack:/opt/focalboard/pack
- ../data/focalboard/config.json:/opt/focalboard/config.json
environment:
EXCLUDE_ENTERPRISE: "1"
networks:
- caddy
- postgres
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.focalboard.rule: >
Host(`board.marcpartensky.com`) || Host(`board.marcpartensky.fr`)
traefik.http.routers.focalboard.entrypoints: websecure
# traefik.http.routers.focalboard.tls.certresolver: tls
traefik.http.services.focalboard.loadbalancer.server.port: 8000
# traefik.http.routers.focalboard.middlewares: ldap_auth
volumes:
data:
pack:
networks:
postgres:
external: true
caddy:
external: true
+25
View File
@@ -0,0 +1,25 @@
version: "3.9"
services:
gitbook:
image: marcpartensky/gitbook
# image: billryan/gitbook
# image: yanqd0/gitbook
restart: unless-stopped
# volumes:
# - ../data/gitbook:/gitbook
environment:
# BOOK_URL: https://github.com/marcpartensky/docker
BOOK_URL: https://github.com/marcpartensky/markdown
networks:
- caddy
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.gitbook.rule: Host(`gitbook.marcpartensky.com`)
traefik.http.routers.gitbook.entrypoints: websecure
traefik.http.routers.gitbook.tls.certresolver: tls
traefik.http.services.gitbook.loadbalancer.server.port: 4000
networks:
caddy:
external: true
+26 -17
View File
@@ -13,29 +13,38 @@ services:
- ../data/secrets/gitea.env
networks:
- caddy
- gitea
- postgres
volumes:
- gitea_ssh:/data/git/.ssh
- gitea:/data
- ssh:/data/git/.ssh
- data:/data
# - /etc/localtime:/etc/localtime:ro
ports:
- "7012:22"
depends_on:
- gitea_postgres
labels:
caddy: gitea.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 3000}}"
traefik.enable: "true"
traefik.http.routers.gitea.rule: Host(`git.marcpartensky.com`)
traefik.http.routers.gitea.entrypoints: websecure
traefik.http.routers.gitea.tls.certresolver: tls
traefik.http.services.gitea.loadbalancer.server.port: 3000
- "42070:22"
# labels:
# caddy: gitea.marcpartensky.com
# caddy.reverse_proxy: "{{upstreams 3000}}"
# traefik.enable: "true"
# traefik.http.routers.gitea.rule: Host(`git.marcpartensky.com`)
# traefik.http.routers.gitea.entrypoints: websecure
# traefik.http.routers.gitea.tls.certresolver: tls
# traefik.http.services.gitea.loadbalancer.server.port: 3000
deploy:
labels:
traefik.enable: "true"
# traefik.http.routers.gitea.rule: >
# Host(`git.marcpartensky.com`) || Host(`git.marcpartensky.fr`)
traefik.http.routers.gitea.rule: Host(`git.marcpartensky.fr`)
traefik.http.routers.gitea.entrypoints: websecure
# traefik.http.routers.gitea.tls.certresolver: tls
traefik.http.routers.gitea.tls.certresolver: cloudflare
traefik.http.services.gitea.loadbalancer.server.port: 3000
volumes:
gitea:
gitea_ssh:
data:
ssh:
networks:
gitea:
postgres:
external: true
caddy:
external: true
+14 -2
View File
@@ -17,7 +17,6 @@ services:
- gitlab_config:/etc/gitlab
- gitlab_log:/var/log/gitlab
- gitlab_data:/var/opt/gitlab
shm_size: '256m'
labels:
caddy: gitlab.marcpartensky.com
caddy.reverse_proxy: "{{upstreams http 80}}"
@@ -26,13 +25,26 @@ services:
traefik.http.routers.gitlab.entrypoints: websecure
traefik.http.routers.gitlab.tls.certresolver: tls
traefik.http.services.gitlab.loadbalancer.server.port: 80
# shm_size: '512m'
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.gitlab.rule: Host(`gitlab.marcpartensky.com`)
traefik.http.routers.gitlab.entrypoints: websecure
traefik.http.routers.gitlab.tls.certresolver: tls
traefik.http.services.gitlab.loadbalancer.server.port: 80
resources:
reservations:
cpus: "1"
# memory: "512M"
memory: "3G"
gitlab-runner:
image: gitlab/gitlab-runner:alpine
restart: unless-stopped
deploy:
mode: replicated
replicas: 4
replicas: 2
volumes:
gitlab_config:
+36
View File
@@ -0,0 +1,36 @@
version: "3.9"
services:
gluetun:
image: qmcgaw/gluetun
cap_add:
- NET_ADMIN
env_file:
- ../data/secrets/gluetun.env
# environment:
# # VPN_SERVICE_PROVIDER: protonvpn
# # VPN_SERVICE_PROVIDER: openvpn
# OPENVPN_USER: marcpartensky
# OPENVPN_PASSWORD: Lxxxxxxxxxyyyyyxxxxn
# # SERVER_COUNTRIES: France
# # FREE_ONLY: on # Only required when using ProtonVPN's free service
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp # Application container's ports to be published
networks:
- vpn
- caddy
deploy:
labels:
traefik.enable: "true"
traefik.http.services.gluetun.loadbalancer.server.port: 8000
traefik.http.routers.gluetun.rule: Host(`gluetun.marcpartensky.com`)
traefik.http.routers.gluetun.entrypoints: websecure
traefik.http.routers.gluetun.tls.certresolver: tls
traefik.http.routers.gluetun.middlewares: ldap_auth
networks:
vpn:
external: true
caddy:
external: true
+10
View File
@@ -19,8 +19,18 @@ services:
traefik.http.routers.heimdall.rule: Host(`heimdall.marcpartensky.com`)
traefik.http.routers.heimdall.entrypoints: websecure
traefik.http.routers.heimdall.tls: "true"
# traefik.http.middlewares.test-ldap-auth.plugin.ldapAuth.source: marcpartensky.com
# traefik.http.middlewares.test-ldap-auth.plugin.ldapAuth.baseDN: dc=marcpartensky,dc=com
# traefik.http.services.heimdall.loadbalancer.server.port: 80
# traefik.http.routers.heimdall.middlewares: authelia-basic@docker
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.heimdall.rule: Host(`heimdall.marcpartensky.com`)
traefik.http.routers.heimdall.entrypoints: websecure
traefik.http.routers.heimdall.tls.certresolver: tls
traefik.http.services.heimdall.loadbalancer.server.port: 80
traefik.http.routers.duplicati.middlewares: ldap_auth
networks:
caddy:
+10
View File
@@ -0,0 +1,10 @@
version: "3.9"
services:
homeassistant:
restart: unless-stopped
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
- config:/config
- /etc/localtime:/etc/localtime:ro
privileged: true
network_mode: host
+7
View File
@@ -12,6 +12,13 @@ services:
labels:
caddy: homer.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8080}}"
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.homer.rule: Host(`homer.marcpartensky.com`)
traefik.http.routers.homer.entrypoints: websecure
traefik.http.routers.homer.tls.certresolver: tls
traefik.http.services.homer.loadbalancer.server.port: 8080
volumes:
homer:
+6
View File
@@ -0,0 +1,6 @@
version: "3.9"
services:
honeygain:
image: marcpartensky/honeygain
env_file:
- ../data/secrets/honeygain.env
+14
View File
@@ -0,0 +1,14 @@
version: "3.9"
services:
hydra:
image: marcpartensky/hydra
network: host
command: -P /rockyou.txt -L /usernames.txt ssh://192.168.252.84
workdir: /root
volumes:
- ../data/hydra/rockyou.txt:/rockyou.txt
- ../data/hydra/usernames.txt:/usernames.txt
- hydra:/root
volumes:
hydra:
+14 -15
View File
@@ -2,19 +2,11 @@ version: "3.9"
services:
ialab:
image: marcpartensky/ialab
user: nobody
restart: unless-stopped
environment:
FLASK_APP: server.py
# entrypoint: "gunicorn server:app"
# entrypoint: "gunicorn --chdir /app server:app"
volumes:
- ialab:/app
image: marcpartensky/ialab:latest
# volumes:
# - ialab:/app
networks:
- caddy
depends_on:
- caddy
labels:
caddy: ialab.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8000}}"
@@ -22,11 +14,18 @@ services:
traefik.http.routers.ialab.rule: Host(`ialab.marcpartensky.com`)
traefik.http.routers.ialab.entrypoints: websecure
traefik.http.routers.ialab.tls.certresolver: tls
traefik.http.services.ialab.loadbalancer.server.port: 8000
volumes:
ialab:
traefik.http.services.ialab.loadbalancer.server.port: 80
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.ialab.rule: Host(`ialab.marcpartensky.com`)
traefik.http.routers.ialab.entrypoints: websecure
traefik.http.routers.ialab.tls.certresolver: tls
traefik.http.services.ialab.loadbalancer.server.port: 80
# volumes:
# ialab:
#
networks:
caddy:
external: true
+63
View File
@@ -0,0 +1,63 @@
version: "3.9"
services:
ipfs:
restart: unless-stopped
image: lscr.io/linuxserver/ipfs
environment:
PUID: 1000
PGID: 1000
TZ: Europe/Paris
volumes:
- ipfs:/config
networks:
- caddy
ports:
# - 80:80 #dumb http client
# - 443:443 #optional
- 4001:4001
- 5001:5001
- 8080:8080
deploy:
resources:
limits:
cpus: '0.1'
memory: 500M
# reservations:
# cpus: '0.1'
# memory: 100M
labels:
traefik.enable: "true"
# traefik.http.routers.ipfs.rule: Host(`ipfs.marcpartensky.com`)
traefik.http.routers.ipfs.rule: >
Host(`ipfs.marcpartensky.com`) || Host(`ipfs.marcpartensky.fr`)
# traefik.http.routers.ipfs.entrypoints: websecure
# traefik.http.routers.ipfs.tls.certresolver: tls
traefik.http.routers.ipfs.tls.certresolver: cloudflare
traefik.http.services.ipfs.loadbalancer.server.port: 5001
traefik.http.routers.ifps.middlewares: ldap_auth
# traefik.frontend.redirect.regex: ^https://ipfs.marcpartensky.com$$
# the middleware 'add-context' must be defined so that the regex rules can be attached to it
# traefik.http.routers.ifps.middlewares: add-context
#
# # here is the logic provided by gustavomtborges of this gist:
# traefik.http.middlewares.add-context.redirectregex.regex: ^https:\\/\\/([^\\/]+)\\/?$$
# traefik.http.middlewares.add-context.redirectregex.replacement: https://$$1/webui
#
traefik.http.routers.service_nextcloud.middlewares: custom_repath
traefik.http.middlewares.custom_repath.replacepathregex.regex: ^/$$
traefik.http.middlewares.custom_repath.replacepathregex.replacement: /webui
# the middleware 'add-context' must be defined so that the regex rules can be attached to it
traefik.http.routers.ipfs.middlewares: add-context
# here is the logic provided by gustavomtborges of this gist:
traefik.http.middlewares.add-context.redirectregex.regex: ^https:\\/\\/([^\\/]+)\\/?$$
traefik.http.middlewares.add-context.redirectregex.replacement: https://$$1/webui
volumes:
ipfs:
networks:
caddy:
external: true
+15
View File
@@ -0,0 +1,15 @@
version: "3.9"
services:
ipsec:
image: hwdsl2/ipsec-vpn-server
restart: unless-stopped
privileged: true
ports:
- "500:500/udp"
- "4500:4500/udp"
volumes:
- ikev2-vpn:/etc/ipsec.d
- /lib/modules:/lib/modules:ro
volumes:
ikev2-vpn:
+46
View File
@@ -0,0 +1,46 @@
version: "3.9"
services:
jellyfin:
image: jellyfin/jellyfin:latest
environment:
# PUID: 1000
# PGID: 1000
# TZ: Europe/Paris
JELLYFIN_PublishedServerUrl: jellyfin.marcpartensky.fr
devices:
- /dev/dri
volumes:
- config:/config
- cache:/cache
- media:/media
- movies:/movies
- musics:/musics
- photos:/photos
- ~/Videos/Youtube:/videos
# ports:
# - 8920:8920 #optional https self signed
# - 7359:7359/udp #optional lan discovery
# - 1900:1900/udp #optional dnla
networks:
- caddy
deploy:
labels:
traefik.enable: "true"
# traefik.http.routers.jellyfin.rule: Host(`jellyfin.marcpartensky.com`)
traefik.http.routers.jellyfin.rule: Host(`jellyfin.marcpartensky.fr`)
traefik.http.routers.jellyfin.entrypoints: websecure
traefik.http.routers.jellyfin.tls.certresolver: tls
traefik.http.services.jellyfin.loadbalancer.server.port: 8096
volumes:
config:
cache:
media:
movies:
musics:
photos:
videos:
networks:
caddy:
external: true
+14 -2
View File
@@ -2,13 +2,15 @@ version: "3.9"
services:
jupyterhub:
image: jupyterhub/jupyterhub
image: marcpartensky/jupyterhub
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ../data/jupyterhub/jupyterhub_config.py:/srv/jupyterhub/jupyterhub_config.py
# - jupyterhub:/srv/jupyterhub
networks:
- caddy
- jupyterhub
environment:
DOCKER_JUPYTER_IMAGE: marcpartensky/jupyterlab
DOCKER_NETWORK_NAME: jupyterhub
@@ -20,8 +22,18 @@ services:
traefik.http.routers.jupyterhub.rule: Host(`jupyterhub.marcpartensky.com`)
traefik.http.routers.jupyterhub.entrypoints: websecure
traefik.http.routers.jupyterhub.tls.certresolver: tls
traefik.http.services.jupyterhub.loadbalancer.server.port: 3000
traefik.http.services.jupyterhub.loadbalancer.server.port: 8000
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.jupyterhub.rule: Host(`jupyterhub.marcpartensky.com`)
traefik.http.routers.jupyterhub.entrypoints: websecure
traefik.http.routers.jupyterhub.tls.certresolver: tls
traefik.http.services.jupyterhub.loadbalancer.server.port: 8000
networks:
jupyterhub:
name: jupyterhub
driver: overlay
caddy:
external: true
+6 -2
View File
@@ -2,13 +2,13 @@ version: "3.9"
services:
jupyterlab:
image: marcpartensky/jupyterlab
image: jupyter/datascience-notebook:latest
restart: unless-stopped
environment:
# - GEN_CERT=yes
JUPYTER_ENABLE_LAB: "yes"
GRANT_SUDO: "yes"
entrypoint: start.sh jupyter lab --user root
# entrypoint: start.sh jupyter lab --user root
networks:
- caddy
labels:
@@ -19,6 +19,8 @@ services:
traefik.http.routers.jupyterlab.entrypoints: websecure
traefik.http.routers.jupyterlab.tls.certresolver: tls
traefik.http.services.jupyterlab.loadbalancer.server.port: 8888
volumes:
- jupyterlab:/home/jovyan
# entrypoint: start-notebook.sh \
# --NotebookApp.keyfile=key/0000_key-certbot.pem
# --NotebookApp.certfile=cert/0000_csr-certbot.pem
@@ -27,6 +29,8 @@ services:
# - /etc/letsencrypt/csr:/home/jovyan/work/cert
# - /etc/letsencrypt:/etc/letsencrypt
#
volumes:
jupyterlab:
networks:
caddy:
+29
View File
@@ -0,0 +1,29 @@
version: "3.9"
services:
keycloak:
image: quay.io/keycloak/keycloak:19.0.3
env_file:
- ../data/secrets/keycloak.env
networks:
- caddy
# command: start-dev
command: start --optimized
labels:
caddy: keycloak.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8080}}"
traefik.enable: "true"
traefik.http.routers.keycloak.rule: Host(`keycloak.marcpartensky.com`)
traefik.http.routers.keycloak.entrypoints: websecure
traefik.http.routers.keycloak.tls.certresolver: tls
traefik.http.services.keycloak.loadbalancer.server.port: 8080
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.keycloak.rule: Host(`keycloak.marcpartensky.com`)
traefik.http.routers.keycloak.entrypoints: websecure
traefik.http.routers.keycloak.tls.certresolver: tls
traefik.http.services.keycloak.loadbalancer.server.port: 8080
networks:
caddy:
external: true
+6
View File
@@ -0,0 +1,6 @@
version: "3.9"
services:
kippo:
image: tomdesinto/kippo
ports:
- "22:22"
+14
View File
@@ -0,0 +1,14 @@
version: "3.9"
services:
languagetool:
image: erikvl87/languagetool
restart: unless-stopped
networks:
- caddy
labels:
caddy: languagetoo.marcpartensky.com
caddy.reverse_proxy: "{{ upstreams 8010 }}"
networks:
caddy:
external: true
+48
View File
@@ -0,0 +1,48 @@
version: "3.9"
services:
ldap_manager_go:
image: romnn/ldap-manager
# command: --generate
env_file:
- ../data/secrets/ldap_manager_go.env
networks:
- ldap
- caddy
environment:
HTTP_PORT: 80
LDAP_HOST: "ldap"
LDAP_PORT: 636
# LDAP_ADMIN_PASSWORD: admin
# LDAP_CONFIG_PASSWORD: config
LDAP_ORGANIZATION: Marc Partensky
# LDAP_DOMAIN: marcpartensky.com
LDAP_DOMAIN: marcpartensky.fr
DAP_BASE_DN: dc=admin,dc=org
# DEFAULT_ADMIN_USERNAME: ldapadmin
# DEFAULT_ADMIN_PASSWORD: changeme
# FORCE_CREATE_ADMIN: "true"
LDAP_TLS: "false"
LDAP_USE_RFC2307BIS: "true"
ISSUER: ldap@marcpartensky.com
AUDIENCE: marcpartensky.com
GENERATE: "true" # ports:
# - 9090:9090
deploy:
labels:
traefik.enable: "true"
# traefik.http.routers.ldap_manager_go.rule: Host(`ldapgo.marcpartensky.com`)
traefik.http.routers.ldap_manager_go.rule: >
Host(`ldapgo.marcpartensky.com`) || Host(`ldapgo.marcpartensky.fr`)
traefik.http.routers.ldap_manager_go.entrypoints: websecure
traefik.http.routers.ldap_manager_go.tls.certresolver: tls
traefik.http.services.ldap_manager_go.loadbalancer.server.port: 80
networks:
ldap:
external: true
caddy:
external: true
+18 -8
View File
@@ -20,16 +20,26 @@ services:
networks:
- ldap
- caddy
labels:
caddy: auth.marcpartensky.com
caddy.reverse_proxy: "{{upstreams}}"
traefik.enable: "true"
traefik.http.routers.ldap_manager.rule: Host(`auth.marcpartensky.com`)
traefik.http.routers.ldap_manager.entrypoints: websecure
traefik.http.routers.ldap_manager.tls.certresolver: tls
traefik.http.services.ldap_manager.loadbalancer.server.port: 80
# labels:
# caddy: auth.marcpartensky.com
# caddy.reverse_proxy: "{{upstreams}}"
# traefik.enable: "true"
# traefik.http.routers.ldap_manager.rule: Host(`auth.marcpartensky.com`)
# traefik.http.routers.ldap_manager.entrypoints: websecure
# traefik.http.routers.ldap_manager.tls.certresolver: tls
# traefik.http.services.ldap_manager.loadbalancer.server.port: 80
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.ldap_manager.rule: >
Host(`auth.marcpartensky.com`) || Host(`auth.marcpartensky.fr`)
traefik.http.routers.ldap_manager.entrypoints: websecure
# traefik.http.routers.ldap_manager.tls.certresolver: tls
traefik.http.routers.ldap_manager.tls.certresolver: cloudflare
traefik.http.services.ldap_manager.loadbalancer.server.port: 80
networks:
ldap:
external: true
caddy:
external: true
+1
View File
@@ -26,3 +26,4 @@ volumes:
networks:
ldap:
external: true
+16
View File
@@ -0,0 +1,16 @@
version: "3.9"
services:
libreswan:
image: ibotty/ipsec-libreswan
restart: unless-stopped
privileged: true
environment:
HOST: /host
IMAGE: ipsec-libreswan
NAME: libreswan
entrypoint: /bin/sh
command: /bin/install.sh
volumes:
- libreswan:/host
volumes:
libreswan:
+427 -382
View File
File diff suppressed because it is too large Load Diff
+16
View File
@@ -8,11 +8,19 @@ services:
# SYNAPSE_REPORT_STATS: "no"
# SYNAPSE_SERVER_NAME: matrix.marcpartensky.com
# SYNAPSE_ENABLE_REGISTRATION: "true"
environment:
SYNAPSE_CONFIG_PATH: /data/homeserver.yml
volumes:
- ../data/matrix:/data
# - matrix:/data
networks:
- caddy
healthcheck:
test: ["CMD", "curl", "-fSs", "http://localhost:8008/health"]
interval: 15s
timeout: 5s
retries: 3
start_period: 5s
labels:
caddy: matrix.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8008}}"
@@ -21,6 +29,14 @@ services:
traefik.http.routers.matrix.entrypoints: websecure
traefik.http.routers.matrix.tls.certresolver: tls
traefik.http.services.matrix.loadbalancer.server.port: 8008
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.matrix.rule: >
Host(`matrix.marcpartensky.com`) || Host(`matrix.marcpartensky.fr`)
traefik.http.routers.matrix.entrypoints: websecure
traefik.http.routers.matrix.tls.certresolver: tls
traefik.http.services.matrix.loadbalancer.server.port: 8008
networks:
caddy:
+7
View File
@@ -24,6 +24,13 @@ services:
traefik.http.routers.minecraft.entrypoints: websecure
traefik.http.routers.minecraft.tls.certresolver: tls
traefik.http.services.minecraft.loadbalancer.server.port: 8080
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.minecraft.rule: Host(`mcadmin.marcpartensky.com`)
traefik.http.routers.minecraft.entrypoints: websecure
traefik.http.routers.minecraft.tls.certresolver: tls
traefik.http.services.minecraft.loadbalancer.server.port: 8080
volumes:
mcmyadmin:
+45
View File
@@ -0,0 +1,45 @@
version: "3.9"
services:
master:
image: efaviere/mobydock-master:lastest
# image: marcpartensky/mobidock-master:latest
# depends_on:
# - db
env_file:
- ../data/secrets/mobydock.env
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- caddy
- postgres
deploy:
labels:
traefik.enable: "true"
traefik.http.services.svc_mobydock.loadbalancer.server.port: 8080
traefik.http.routers.mobydock.service: svc_mobydock
traefik.http.routers.mobydock.rule: >
Host(`mobydock.marcpartensky.com`) || Host(`mobydock.marcpartensky.fr`)
traefik.http.routers.mobydock.entrypoints: websecure
# traefik.http.routers.dockerdash.middlewares: ldap_auth
traefik.http.services.svc_mobydockwss.loadbalancer.server.port: 8000
traefik.http.routers.mobydockwss.service: svc_mobydockwss
traefik.http.routers.mobydockwss.rule: >
Host(`wss.mobydock.marcpartensky.com`) || Host(`wss.mobydock.marcpartensky.fr`)
traefik.http.routers.mobydockwss.entrypoints: websecure
worker:
image: efaviere/mobidock-worker:latest
environment:
# MASTER_HOST: "https://mobydock.marcpartensky.com:8000"
MASTER_HOST: "https://wss.mobydock.marcpartensky.com"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
discord:
postgres:
external: true
caddy:
external: true
+12 -1
View File
@@ -1,7 +1,7 @@
version: "3.9"
services:
monero_miner:
miner:
image: giansalex/monero-miner
restart: unless-stopped
env_file:
@@ -11,3 +11,14 @@ services:
# -u $WALLET \
# -k \
# --cpu-priority=2
deploy:
resources:
# reservations:
# cpus: "2"
# # memory: "512M"
# memory: "5G"
limits:
cpus: "4"
# memory: "512M"
memory: "5G"
+33
View File
@@ -0,0 +1,33 @@
version: "3.9"
services:
honeygain:
image: marcpartensky/honeygain
env_file:
- ../data/secrets/honeygain.env
repocket:
image: repocket/repocket
env_file:
- ../data/secrets/repocket.env
traffmonetizer:
image: marcpartensky/traffmonetizer
env_file:
- ../data/secrets/traffmonetizer.env
packetstream:
image: packetstream/psclient:latest
environment:
CID: 4bYb
peer2profit:
image: peer2profit/peer2profit_x86_64:latest
environment:
P2P_EMAIL: marc@marcpartensky.com
# earnapp:
# image: fazalfarhan01/earnapp:lite
# volumes:
# - earnapp:/etc/earnapp
# environment:
# EARNAPP_UUID: $EARNAPP_DEVICE_ID
+12 -2
View File
@@ -15,7 +15,7 @@ services:
# healthcheck:
# test: CMD echo 'db.runCommand("ping").ok' | mongo localhost:27017/test --quiet
mongo_express:
express:
image: mongo-express
restart: unless-stopped
environment:
@@ -34,13 +34,23 @@ services:
traefik.http.routers.mongo.rule: Host(`mongo.marcpartensky.com`)
traefik.http.routers.mongo.entrypoints: websecure
traefik.http.routers.mongo.tls.certresolver: tls
traefik.http.services.mongo.loadbalancer.server.port: 80
traefik.http.services.mongo.loadbalancer.server.port: 8081
traefik.http.routers.duplicati.middlewares: ldap_auth
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.mongo.rule: Host(`mongo.marcpartensky.com`)
traefik.http.routers.mongo.entrypoints: websecure
traefik.http.routers.mongo.tls.certresolver: tls
traefik.http.services.mongo.loadbalancer.server.port: 8081
traefik.http.routers.mongo.middlewares: ldap_auth
volumes:
mongo:
networks:
mongo:
external: true
caddy:
external: true
attachable: true
+11
View File
@@ -0,0 +1,11 @@
version: "3.9"
services:
mysql:
image: mysql
restart: unless-stopped
networks:
- mysql
volumes:
- mysql:/var/lib/mysql
env_file:
- ../data/secrets/mysql.env
+23 -6
View File
@@ -5,15 +5,17 @@ services:
image: nextcloud
restart: unless-stopped
volumes:
- nextcloud:/var/www/html
# - nextcloud:/var/www/html/data
# - nextcloud_theme:/var/www/html/themes/<YOUR_CUSTOM_THEME>
# - nextcloud_apps:/var/www/html/custom_apps
# - nextcloud_config:/var/www/html/config
# - nextcloud:/var/www/html
- data:/var/www/html/data
- config:/var/www/html/config
- themes:/var/www/html/themes
- apps:/var/www/html/custom_apps
env_file:
- ../data/secrets/nextcloud.env
networks:
- caddy
- postgres
- ldap
- nextcloud
# depends_on:
# - nextcloud_mariadb
@@ -25,11 +27,26 @@ services:
traefik.http.routers.nextcloud.entrypoints: websecure
traefik.http.routers.nextcloud.tls.certresolver: tls
traefik.http.services.nextcloud.loadbalancer.server.port: 80
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.nextcloud.rule: >
Host(`cloud.marcpartensky.com`) && Host(`cloud.marcpartensky.fr`)
traefik.http.routers.nextcloud.entrypoints: websecure
traefik.http.routers.nextcloud.tls.certresolver: tls
traefik.http.services.nextcloud.loadbalancer.server.port: 80
volumes:
nextcloud:
data:
config:
themes:
apps:
networks:
nextcloud:
ldap:
external: true
caddy:
external: true
postgres:
external: true
+5
View File
@@ -0,0 +1,5 @@
version: "3.9"
services:
nixos:
image: nixos/nix
restart: unless-stopped
+71
View File
@@ -0,0 +1,71 @@
version: "3.9"
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: unless-stopped
env_file:
- ../data/secrets/numeris.env
links:
- numeris:db
networks:
- caddy
- numeris
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.phpmyadmin.rule: Host(`phpmyadmin.numeris.marcpartensky.com`)
traefik.http.routers.phpmyadmin.entrypoints: websecure
traefik.http.routers.phpmyadmin.tls.certresolver: tls
traefik.http.services.phpmyadmin.loadbalancer.server.port: 80
traefik.http.routers.phpmyadmin.middlewares: ldap_auth
mysql:
image: mysql:5.7
restart: unless-stopped
networks:
- numeris
volumes:
- numeris:/var/lib/mysql
env_file:
- ../data/secrets/numeris.env
back:
image: numerisisep/numeris-back:prod
networks:
- caddy
- numeris
env_file:
- ../data/secrets/numeris.env
# volumes:
# - .env:/home/numeris/.env
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.back.rule: Host(`api.numeris.marcpartensky.com`)
traefik.http.routers.back.entrypoints: websecure
traefik.http.routers.back.tls.certresolver: tls
traefik.http.services.back.loadbalancer.server.port: 80
front:
image: numerisisep/numeris-front:prod
networks:
- caddy
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.front.rule: Host(`numeris.marcpartensky.com`)
traefik.http.routers.front.entrypoints: websecure
traefik.http.routers.front.tls.certresolver: tls
traefik.http.services.front.loadbalancer.server.port: 80
traefik.http.routers.front.middlewares: ldap_auth
networks:
numeris:
caddy:
external: true
volumes:
numeris:
caddy_data:
mysql:
+28
View File
@@ -0,0 +1,28 @@
version: "3.9"
services:
openvpn:
image: ghcr.io/linuxserver/openvpn-as
cap_add:
- NET_ADMIN
environment:
PUID: 1000
PGID: 1000
TZ: Europe/Paris
# INTERFACE: eth0 #optional
volumes:
- config:/config
ports:
# - 943:943 # web
# - 9443:9443
- 1194:1194/udp
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.openvpn.rule: >
Host(`vpn.marcpartensky.fr`)
traefik.http.routers.openvpn.entrypoints: websecure
traefik.http.routers.openvpn.tls.certresolver: tls
traefik.http.services.openvpn.loadbalancer.server.port: 943
volumes:
config:
+16
View File
@@ -0,0 +1,16 @@
version: "3.9"
services:
openvpn_client:
image: dperson/openvpn-client
device: /dev/net/tun
volumes:
- ../data/openvpn_client:/vpn
- 'vpn.server.name;username;password'
cap-add:
- NET_ADMIN
networks:
- vpn
# sudo cp /path/to/vpn.crt /some/path/vpn-ca.crt
networks:
vpn:
external: true
+19
View File
@@ -0,0 +1,19 @@
version: "3.9"
services:
openvpn_client2:
image: frauhottelmann/openvpn-client
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
command: --config /vpn/client.ovpn --askpass /vpn/client.pwd --auth-nocache --script-security 3 --data-ciphers AES-128-CBC
volumes:
- ../data/openvpn_client2:/vpn
networks:
- vpn
# network_mode: "bridge"
networks:
vpn:
external: true
+10
View File
@@ -0,0 +1,10 @@
version: "3.9"
services:
openvpn-client:
image: ghcr.io/wfg/openvpn-client
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
volumes:
- ../data/openvpn_client3:/data/vpn
+20
View File
@@ -0,0 +1,20 @@
version: "3.9"
services:
openvpnclient:
image: haugene/transmission-openvpn
cap-add:
- NET_ADMIN
ports:
- 9091:9091
environment:
OPENVPN_PROVIDER: custom
OPENVPN_CONFIG: france
OPENVPN_USERNAME: user
OPENVPN_PASSWORD: pass
LOCAL_NETWORK: 192.168.0.0/16
volumes:
- data:/data
- ../data/openvpnclient4/:/config
volumes:
data:
+26
View File
@@ -0,0 +1,26 @@
version: "3.9"
services:
owncloud:
image: owncloud
networks:
- caddy
- postgres
volumes:
- data:/var/www/html/data
deploy:
labels:
traefik.enable: "true"
traefik.http.services.owncloud.loadbalancer.server.port: 80
traefik.http.routers.owncloud.rule: >
Host(`owncloud.marcpartensky.com`) || Host(`owncloud.marcpartensky.fr`)
traefik.http.routers.owncloud.entrypoints: websecure
traefik.http.routers.owncloud.tls.certresolver: tls
volumes:
data:
networks:
caddy:
external: true
postgres:
external: true
+7
View File
@@ -26,6 +26,13 @@ services:
traefik.http.routers.oxivia.entrypoints: websecure
traefik.http.routers.oxivia.tls.certresolver: tls
traefik.http.services.oxivia.loadbalancer.server.port: 80
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.oxivia.rule: Host(`oxivia.business.marcpartensky.com`)
traefik.http.routers.oxivia.entrypoints: websecure
traefik.http.routers.oxivia.tls.certresolver: tls
traefik.http.services.oxivia.loadbalancer.server.port: 80
networks:
oxivia:
+11
View File
@@ -0,0 +1,11 @@
version: "3.9"
services:
client:
image: packetstream/psclient:latest
environment:
CID: 4bYb
# watchtower:
# image: containrrr/watchtower
# command: --cleanup --include-stopped --revive-stopped --interval 60 ${_COMPOSE_PROJECT_NAME}_Packetstream_PsClient_${_COMPOSE_PROJECT_STACK_ID}
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
+7 -2
View File
@@ -17,10 +17,15 @@ services:
traefik.http.routers.pandoc.entrypoints: websecure
traefik.http.routers.pandoc.tls.certresolver: tls
traefik.http.services.pandoc.loadbalancer.server.port: 80
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.pandoc.rule: Host(`pandoc.marcpartensky.com`)
traefik.http.routers.pandoc.entrypoints: websecure
traefik.http.routers.pandoc.tls.certresolver: tls
traefik.http.services.pandoc.loadbalancer.server.port: 80
networks:
- caddy
depends_on:
- caddy
volumes:
pandoc:
+7
View File
@@ -0,0 +1,7 @@
version: "3.9"
services:
pawns:
image: marcpartensky/pawns
env_file:
- ../data/secrets/pawns.env
+6
View File
@@ -0,0 +1,6 @@
version: "3.9"
services:
peer2profit:
image: peer2profit/peer2profit_x86_64:latest
environment:
P2P_EMAIL: marc@marcpartensky.com
+4 -4
View File
@@ -24,10 +24,10 @@ services:
caddy: peertube.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 80}}"
traefik.enable: "true"
traefik.http.routers.gitea.rule: Host(`peertube.marcpartensky.com`)
traefik.http.routers.gitea.entrypoints: websecure
traefik.http.routers.gitea.tls.certresolver: tls
traefik.http.services.gitea.loadbalancer.server.port: 80
traefik.http.routers.peertube.rule: Host(`peertube.marcpartensky.com`)
traefik.http.routers.peertube.entrypoints: websecure
traefik.http.routers.peertube.tls.certresolver: tls
traefik.http.services.peertube.loadbalancer.server.port: 80
peertube_postgres:
image: postgres:13-alpine
+46
View File
@@ -0,0 +1,46 @@
version: "3.9"
services:
pgadmin:
image: dpage/pgadmin4
restart: unless-stopped
env_file:
- ../data/secrets/pgadmin.env
environment:
PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION: "True"
# PGADMIN_CONFIG_LOGIN_BANNER: "Authorised users only!"
PGADMIN_CONFIG_CONSOLE_LOG_LEVEL: 10
networks:
- postgres
- caddy
volumes:
- /srv/pgadmin:/usr/local/
labels:
caddy: pgadmin.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 80}}"
# caddy.reverse_proxy.header_up.Host: "{upstream_hostport}" # redundant
# caddy.reverse_proxy.header_up.X-Real-IP: "{host}"
# caddy.reverse_proxy.header_up.X-Forwarded-For: "{host}" # redundant
# caddy.basicauth: /* bcrypt
# caddy.basicauth.admin: JDJhJDEyJDVRUXdqQllCR2dCSEZ0ZUlaVUZTRE95WXpROFdUcFdXSm4wVGE2TmE4cEkxNHc5Si4venJxCg==
traefik.enable: "true"
traefik.http.routers.pgadmin.rule: Host(`pgadmin.marcpartensky.com`)
traefik.http.routers.pgadmin.entrypoints: websecure
traefik.http.routers.pgadmin.tls.certresolver: tls
traefik.http.services.pgadmin.loadbalancer.server.port: 80
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.pgadmin.rule: Host(`pgadmin.marcpartensky.com`)
traefik.http.routers.pgadmin.entrypoints: websecure
traefik.http.routers.pgadmin.tls.certresolver: tls
traefik.http.services.pgadmin.loadbalancer.server.port: 80
volumes:
postgres:
networks:
postgres:
external: true
caddy:
external: true
+40
View File
@@ -0,0 +1,40 @@
version: "3.9"
services:
pgweb:
image: marcpartensky/pgweb
restart: unless-stopped
env_file:
- ../data/secrets/pgweb.env
networks:
- postgres
- caddy
# depends_on:
# - postgres
labels:
caddy: pgweb.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8081}}"
# caddy.reverse_proxy.header_up.Host: "{upstream_hostport}" # redundant
# caddy.reverse_proxy.header_up.X-Real-IP: "{host}"
# caddy.reverse_proxy.header_up.X-Forwarded-For: "{host}" # redundant
caddy.basicauth: /* bcrypt
caddy.basicauth.admin: JDJhJDEyJDVRUXdqQllCR2dCSEZ0ZUlaVUZTRE95WXpROFdUcFdXSm4wVGE2TmE4cEkxNHc5Si4venJxCg==
traefik.enable: "true"
traefik.http.routers.pgweb.rule: Host(`pgweb.marcpartensky.com`)
traefik.http.routers.pgweb.entrypoints: websecure
traefik.http.routers.pgweb.tls.certresolver: tls
traefik.http.services.pgweb.loadbalancer.server.port: 8081
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.pgweb.rule: Host(`pgweb.marcpartensky.com`)
traefik.http.routers.pgweb.entrypoints: websecure
traefik.http.routers.pgweb.tls.certresolver: tls
traefik.http.services.pgweb.loadbalancer.server.port: 8081
# ldapAuth Register Middleware ====================================================
traefik.http.routers.pgweb.middlewares: ldap_auth
networks:
postgres:
external: true
caddy:
external: true
+7
View File
@@ -28,6 +28,13 @@ services:
traefik.http.routers.portainer.entrypoints: websecure
traefik.http.routers.portainer.tls.certresolver: tls
traefik.http.services.portainer.loadbalancer.server.port: 9000
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.portainer.rule: Host(`docker.marcpartensky.com`)
traefik.http.routers.portainer.entrypoints: websecure
traefik.http.routers.portainer.tls.certresolver: tls
traefik.http.services.portainer.loadbalancer.server.port: 9000
volumes:
portainer:
+49
View File
@@ -0,0 +1,49 @@
version: "3.9"
services:
postgres:
image: postgres:14
restart: unless-stopped
# user: postgres:postgres
# user: "974:974"
ports:
- target: 5432
published: 5432
mode: host
volumes:
- ../data/postgres:/docker-entrypoint-initdb.d
- postgres:/var/lib/postgresql/data
- ../data/postgres/server.crt:/var/lib/postgresql/server.crt
- ../data/postgres/server.key:/var/lib/postgresql/server.key
env_file:
- ../data/secrets/postgres.env
command: |
postgres
-c log_statement=all
-c log_destination=stderr
-c ssl=on
-c ssl_cert_file=/var/lib/postgresql/server.crt
-c ssl_key_file=/var/lib/postgresql/server.key
networks:
- postgres
pgbackups:
image: prodrigestivill/postgres-backup-local
restart: unless-stopped
# user: postgres:postgres
volumes:
- /srv/pgbackups:/backups
links:
- postgres
depends_on:
- postgres
networks:
- postgres
env_file:
- ../data/secrets/pgbackups.env
volumes:
postgres:
networks:
postgres:
external: true
+8
View File
@@ -13,6 +13,7 @@ services:
TZ: Europe/Paris
MONGODB_URI: mongodb://pritunl_mongo:27017/pritunl
PRITUNL_DEBUG: "true"
# WIREGUARD: true
privileged: true
cap_add:
- SYS_ADMIN
@@ -35,6 +36,13 @@ services:
traefik.http.routers.pritunl.entrypoints: websecure
traefik.http.routers.pritunl.tls.certresolver: tls
traefik.http.services.pritunl.loadbalancer.server.port: 9700
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.pritunl.rule: Host(`vpn.marcpartensky.com`)
traefik.http.routers.pritunl.entrypoints: websecure
traefik.http.routers.pritunl.tls.certresolver: tls
traefik.http.services.pritunl.loadbalancer.server.port: 9700
networks:
caddy:
+17
View File
@@ -28,6 +28,23 @@ services:
traefik.http.routers.registry.entrypoints: websecure
traefik.http.routers.registry.tls.certresolver: "tls"
traefik.http.services.registry.loadbalancer.server.port: 80
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.registry.rule: Host(`registry.marcpartensky.com`)
traefik.http.routers.registry.entrypoints: websecure
traefik.http.routers.registry.tls.certresolver: "tls"
traefik.http.services.registry.loadbalancer.server.port: 80
registry_browser:
image: klausmeyer/docker-registry-browser
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.registry_browser.rule: Host(`ui.registry.marcpartensky.com`)
traefik.http.routers.registry_browser.entrypoints: websecure
traefik.http.routers.registry_browser.tls.certresolver: "tls"
traefik.http.services.registry_browser.loadbalancer.server.port: 8080
volumes:
registry_data:
+6
View File
@@ -0,0 +1,6 @@
version: "3.9"
services:
repocket:
image: repocket/repocket
env_file:
- ../data/secrets/repocket.env
+15
View File
@@ -0,0 +1,15 @@
version: "3.9"
services:
sablier:
image: ghcr.io/acouvreur/sablier:local
command:
- start
- --provider.name=docker
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
labels:
traefik.enable: true
# Dynamic Middleware
traefik.http.middlewares.dynamic.plugin.sablier.names: sablier-whoami-1
traefik.http.middlewares.dynamic.plugin.sablier.sablierUrl: http://sablier:10000
traefik.http.middlewares.dynamic.plugin.sablier.dynamic.sessionDuration: 1m
+18
View File
@@ -0,0 +1,18 @@
version: "3.9"
services:
satisfactory-server:
image: "wolveix/satisfactory-server:latest"
restart: unless-stopped
ports:
- "7777:7777/udp"
- "15000:15000/udp"
- "15777:15777/udp"
environment:
PUID: 1000
PGID: 1000
AUTOSAVEINTERVAL: 300
AUTOSAVENUM: 5
MAXPLAYERS: 4
#- DISABLESEASONALEVENTS=true
volumes:
- './config:/config'
+104 -78
View File
@@ -1,78 +1,104 @@
version: "3.9"
services:
seafile_server:
image: ggogel/seafile-server:9.0.7
volumes:
- seafile_data:/shared
env_file:
- ../data/secrets/seafile.env
environment:
HTTPS: "true"
SEAFILE_SERVER_HOSTNAME: seafile.marcpartensky.com # Mandatory on first deployment!
depends_on:
- seafile_mariadb
- seafile_memcached
- seafile_caddy
networks:
- seafile
seahub:
image: ggogel/seahub:9.0.7
volumes:
- seafile_data:/shared
- seahub_avatars:/shared/seafile/seahub-data/avatars
- seahub_custom:/shared/seafile/seahub-data/custom
env_file:
- ../data/secrets/seafile.env
depends_on:
- seafile_server
- seafile_caddy
- seahub_media
networks:
- seafile
seahub_media:
image: ggogel/seahub-media:9.0.7
volumes:
- seahub_avatars:/usr/share/caddy/media/avatars
- seahub_custom:/usr/share/caddy/media/custom
depends_on:
- seafile_caddy
networks:
- seafile
seafile_mariadb:
image: mariadb:10.7.4
env_file:
- ../data/secrets/seafile.env
volumes:
- seafile_mariadb:/var/lib/mysql
networks:
- seafile
seafile_memcached:
image: memcached:1.6.16
entrypoint: memcached -m 1024
networks:
- seafile
seafile_caddy:
image: ggogel/seafile-caddy:1.0.6
networks:
- seafile
- caddy
labels:
caddy: seafile.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 80}}"
networks:
seafile:
internal: true
caddy:
external: true
volumes:
seafile_data:
seafile_mariadb:
seahub_avatars:
seahub_custom:
version: "3.9"
services:
db:
image: mariadb:10.5
restart: unless-stopped
env_file:
- ../data/secrets/seafile.env
volumes:
- mariadb:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
networks:
seafile:
aliases:
- seafile-mysql
memcached:
image: memcached:1.6
restart: unless-stopped
entrypoint: memcached -m 256
networks:
- seafile
networks:
seafile:
aliases:
- seafile-memcached
elasticsearch:
image: elasticsearch:7.16.2
restart: unless-stopped
environment:
discovery.type: single-node
bootstrap.memory_lock: "true"
ES_JAVA_OPTS: -Xms1g -Xmx1g
ulimits:
memlock:
soft: -1
hard: -1
# mem_limit: 2g
volumes:
- elasticsearch:/usr/share/elasticsearch/data # Requested, specifies the path to Elasticsearch data persistent store.
networks:
- seafile
networks:
seafile:
aliases:
- seafile-elasticsearch
seafile:
image: docker.seadrive.org/seafileltd/seafile-pro-mc:latest
restart: unless-stopped
# ports:
# - "80:80"
# - "443:443" # If https is enabled, cancel the comment.
# environment:
# SEAFILE_BOOTSTRAP: true
volumes:
- /srv/seafile:/shared/seafile
# - seafile:/shared/seafile/seafile-data
# - seahub:/shared/seafile/seahub-data
# - ../data/seafile:/shared/seafile/conf
# - ../data/seafile/ccnet.conf:/shared/seafile/conf/ccnet.conf
# - ../data/seafile/gunicorn.conf.py:/opt/seafile/conf/gunicorn.conf.py
# - ../data/seafile/seafdav.conf:/opt/seafile/conf/seafdav.conf
# - ../data/seafile/seafevents.conf:/opt/seafile/conf/seafevents.conf
# - ../data/seafile/seafile.conf:/opt/seafile/conf/seafile.conf
# - ../data/seafile/seahub_settings.py:/opt/seafile/conf/seahub_settings.py
env_file:
- ../data/secrets/seafile.env
depends_on:
- db
- memcached
- elasticsearch
networks:
- seafile
- caddy
healthcheck:
test: curl localhost/api2/ping/
# labels:
# caddy: seafile.marcpartensky.com
# caddy.reverse_proxy: "{{upstreams 80}}"
# traefik.enable: "true"
# traefik.http.routers.seafile.rule: Host(`seafile.marcpartensky.com`)
# traefik.http.routers.seafile.entrypoints: websecure
# traefik.http.services.seafile.loadbalancer.server.port: 80
deploy:
placement:
constraints:
- node.role == manager
labels:
traefik.enable: "true"
traefik.http.routers.seafile.rule: >
Host(`seafile.marcpartensky.com`) || Host(`seafile.marcpartensky.fr`)
traefik.http.routers.seafile.entrypoints: websecure
traefik.http.services.seafile.loadbalancer.server.port: 80
volumes:
seafile:
seahub:
mariadb:
elasticsearch:
networks:
seafile:
caddy:
external: true
+20 -11
View File
@@ -5,22 +5,31 @@ services:
image: searx/searx
restart: unless-stopped
volumes:
- searx:/etc/searx
- ../data/searx/templates:/etc/searx/templates
- ../data/searx/themes:/etc/searx/searx/static/themes
environment:
BASE_URL: https://searx.marcpartensky.com
networks:
- caddy
labels:
caddy: searx.marcpartensky.com
caddy.reverse_proxy: "{{upstreams}}"
traefik.enable: "true"
traefik.http.routers.searx.rule: Host(`searx.marcpartensky.com`)
traefik.http.routers.searx.entrypoints: websecure
traefik.http.routers.searx.tls.certresolver: tls
traefik.http.services.searx.loadbalancer.server.port: 80
# labels:
# caddy: searx.marcpartensky.com
# caddy.reverse_proxy: "{{upstreams}}"
# traefik.enable: "true"
# traefik.http.routers.searx.rule: Host(`searx.marcpartensky.com`)
# traefik.http.routers.searx.entrypoints: websecure
# traefik.http.routers.searx.tls.certresolver: tls
# traefik.http.services.searx.loadbalancer.server.port: 8080
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.searx.rule: >
Host(`searx.marcpartensky.com`) || Host(`searx.marcpartensky.fr`)
traefik.http.routers.searx.entrypoints: websecure
# traefik.http.routers.searx.tls.certresolver: tls
traefik.http.services.searx.loadbalancer.server.port: 8080
volumes:
searx:
# volumes:
# searx:
networks:
caddy:
+10
View File
@@ -0,0 +1,10 @@
version: "3.9"
services:
sqlmap:
image: paoloo/sqlmap
volumes:
- sqlmap:/root/.sqlmap
command: --url http://ravens-pu8yvgzavpu7ooyr.francecentral.cloudapp.azure.com/Reunion_secrete-2021-08-16.php
volumes:
sqlmap:
+4 -2
View File
@@ -11,7 +11,8 @@ services:
SSH_PORT: 22
# OPENVPN_HOST: localhost
# OPENVPN_PORT: 1194
HTTPS_HOST: caddy
# HTTPS_HOST: caddy
HTTPS_HOST: traefik
HTTPS_PORT: 443
ports:
- "443:8443"
@@ -23,7 +24,8 @@ services:
- caddy
healthcheck:
# test: ["CMD-SHELL", "wget", "--no-check-certificate", "https://caddy:8443"]
test: ["CMD", "/usr/bin/curl", "http://caddy"]
# test: ["CMD", "/usr/bin/curl", "http://caddy"]
test: ["CMD", "/usr/bin/wget", "--spider", "http://traefik:8080/ping"]
# interval: 30s
# timeout: 5s
# retries: 5
+20
View File
@@ -0,0 +1,20 @@
version: "3.9"
services:
streamlit:
image: aminehy/docker-streamlit-app:latest
# command: "streamlit run src/main.py"
volumes:
- ../data/streamlit:/usr/src/app/src
networks:
- caddy
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.streamlit.rule: Host(`streamlit.marcpartensky.com`)
traefik.http.routers.streamlit.entrypoints: websecure
traefik.http.routers.streamlit.tls.certresolver: tls
traefik.http.services.streamlit.loadbalancer.server.port: 8080
networks:
caddy:
external: true
+23
View File
@@ -0,0 +1,23 @@
version: "3.9"
services:
visualizer:
image: dockersamples/visualizer
restart: unless-stopped
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
logging:
options:
max-size: 1g
networks:
- caddy
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.swarm_visualizer.rule: Host(`swarm.marcpartensky.com`)
traefik.http.routers.swarm_visualizer.entrypoints: websecure
traefik.http.routers.swarm_visualizer.tls.certresolver: tls
traefik.http.services.swarm_visualizer.loadbalancer.server.port: 8080
networks:
caddy:
external: true
+5
View File
@@ -21,6 +21,11 @@ services:
limits:
cpus: '0.50'
memory: 1024M
labels:
traefik.http.routers.swarmpit.rule: Host(`swarm.marcpartensky.com`)
traefik.http.routers.swarmpit.entrypoints: websecure
traefik.http.routers.swarmpit.tls.certresolver: tls
traefik.http.services.swarmpit.loadbalancer.server.port: 8080
# reservations:
# cpus: '0.25'
# memory: 512M
+2 -2
View File
@@ -1,7 +1,7 @@
version: "3.9"
services:
tableau:
image: pvtmert/tableau
image: marcpartensky/tableau-server
restart: unless-stopped
env_file:
- ../data/secrets/tableau.env
@@ -11,7 +11,7 @@ services:
caddy: tableau.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8080}}"
traefik.enable: "true"
traefik.http.routers.tableau.rule: Host(`tableau.marcpartensky.com`)
traefik.http.routers.tableau.rule: Host(`tableau.marcpartensky.fr`)
traefik.http.routers.tableau.entrypoints: websecure
traefik.http.routers.tableau.tls.certresolver: tls
traefik.http.services.tableau.loadbalancer.server.port: 8080
+34 -21
View File
@@ -1,61 +1,74 @@
version: "3.9"
services:
todolist:
front:
image: marcpartensky/je-todoapp-react
restart: unless-stopped
environment:
PORT: 80
SPRING_API_URL: https://api.todolist.marcpartensky.com
depends_on:
- todolist_api
- back
networks:
- caddy
# entrypoint: ["/bin/sh", "-c", "'SPRING_API_URL=https://api.todolist.marcpartensky.com serve -s build'"]
labels:
caddy: todolist.marcpartensky.com
caddy.reverse_proxy: "{{upstreams}}"
traefik.enable: "true"
traefik.http.routers.todolist.rule: Host(`todolist.marcpartensky.com`)
traefik.http.routers.todolist.entrypoints: websecure
traefik.http.routers.todolist.tls.certresolver: tls
traefik.http.services.todolist.loadbalancer.server.port: 80
# entrypoint: ["/bin/sh", "-c", "'SPRING_API_URL=https://api.todolist.marcpartensky.com serve -s build'"]
traefik.http.routers.front.rule: Host(`todolist.marcpartensky.com`)
traefik.http.routers.front.entrypoints: websecure
traefik.http.routers.front.tls.certresolver: tls
traefik.http.services.front.loadbalancer.server.port: 80
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.front.rule: Host(`todolist.marcpartensky.com`)
traefik.http.routers.front.entrypoints: websecure
traefik.http.routers.front.tls.certresolver: tls
traefik.http.services.front.loadbalancer.server.port: 80
todolist_api:
back:
image: marcpartensky/je-todoapp-spring-api
restart: unless-stopped
env_file:
- ../data/secrets/todolist.env
environment:
PORT: 80
POSTGRES_HOST: todolist_postgres
# PORT: 80
POSTGRES_HOST: postgres
depends_on:
- todolist_postgres
- postgres
networks:
- caddy
- todolist
labels:
caddy: api.todolist.marcpartensky.com
caddy.reverse_proxy: "{{upstreams http 8080}}"
caddy.reverse_proxy: "{{ upstreams 8080 }}"
traefik.enable: "true"
traefik.http.routers.todolist_api.rule: Host(`api.todolist.marcpartensky.com`)
traefik.http.routers.todolist_api.entrypoints: websecure
traefik.http.routers.todolist_api.tls.certresolver: tls
traefik.http.services.todolist_api.loadbalancer.server.port: 8080
traefik.http.routers.back.rule: Host(`api.todolist.marcpartensky.com`)
traefik.http.routers.back.entrypoints: websecure
traefik.http.routers.back.tls.certresolver: tls
traefik.http.services.back.loadbalancer.server.port: 8080
deploy:
labels:
traefik.enable: "true"
traefik.http.routers.back.rule: Host(`api.todolist.marcpartensky.com`)
traefik.http.routers.back.entrypoints: websecure
traefik.http.routers.back.tls.certresolver: tls
traefik.http.services.back.loadbalancer.server.port: 8080
todolist_postgres:
image: postgres
postgres:
image: postgres:15
restart: unless-stopped
volumes:
- todolist_postgres:/var/lib/postgresql/data
- postgres:/var/lib/postgresql/data
env_file:
- ../data/secrets/todolist.env
networks:
- caddy
- todolist
volumes:
todolist_postgres:
postgres:
networks:
todolist:
+80 -31
View File
@@ -2,49 +2,98 @@ version: "3.9"
services:
traefik:
image: traefik
restart: unless-stopped
command:
## Provider Settings - https://docs.traefik.io/providers/docker/#provider-configuration ##
# - --providers.docker.exposedbydefault=false # <== Don't expose every container to traefik, only expose enabled ones
- --providers.file.filename=/dynamic.yaml # <== Referring to a dynamic configuration file
# - --providers.docker.network=web # <== Operate on the docker network named web
- --providers.docker=true # <== Enabling docker as the provider for traefik
## API Settings - https://docs.traefik.io/operations/api/, endpoints - https://docs.traefik.io/operations/api/#endpoints ##
- --api.insecure=false # <== Enabling insecure api, NOT RECOMMENDED FOR PRODUCTION
- --api.dashboard=true
- --api.debug=true # <== Enabling additional endpoints for debugging and profiling
## Entrypoints Settings - https://docs.traefik.io/routing/entrypoints/#configuration ##
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --certificatesresolvers.tls.acme.tlschallenge=true # <== Enable TLS-ALPN-01 to generate and renew ACME certs
- --certificatesresolvers.tls.acme.email=marc.partensky@gmail.com
- --certificatesresolvers.tls.acme.storage=/letsencrypt/acme.json # Log Settings (options: ERROR, DEBUG, PANIC, FATAL, WARN, INFO) - https://docs.traefik.io/observability/logs/ ##
- --log.level=DEBUG # <== Setting the level of the logs from traefik
- --entrypoints.web.http.redirections.entryPoint.to=websecure
- --entrypoints.web.http.redirections.entryPoint.scheme=https
- --entrypoints.web.http.redirections.entrypoint.permanent=true
image: traefik:2.9.1 # https://github.com/wiltonsr/ldapauth/issues/25
# image: traefik:latest # https://github.com/wiltonsr/ldapauth/issues/25
# env_file:
# - ../data/secrets/traefik.env
# restart: unless-stopped
# command:
# ## Provider Settings - https://docs.traefik.io/providers/docker/#provider-configuration ##
# # - --providers.docker.exposedbydefault=false # <== Don't expose every container to traefik, only expose enabled ones
# - --providers.file.filename=/dynamic.yaml # <== Referring to a dynamic configuration file
# # - --providers.docker.network=web # <== Operate on the docker network named web
# - --providers.docker=true # <== Enabling docker as the provider for traefik
# ## API Settings - https://docs.traefik.io/operations/api/, endpoints - https://docs.traefik.io/operations/api/#endpoints ##
# - --api.insecure=false # <== Enabling insecure api, NOT RECOMMENDED FOR PRODUCTION
# - --api.dashboard=true
# - --api.debug=true # <== Enabling additional endpoints for debugging and profiling
# ## Entrypoints Settings - https://docs.traefik.io/routing/entrypoints/#configuration ##
# - --entrypoints.web.address=:80
# - --entrypoints.websecure.address=:443
# - --certificatesresolvers.tls.acme.tlschallenge=true # <== Enable TLS-ALPN-01 to generate and renew ACME certs
# - --certificatesresolvers.tls.acme.email=marc.partensky@gmail.com
# - --certificatesresolvers.tls.acme.storage=/letsencrypt/acme.json # Log Settings (options: ERROR, DEBUG, PANIC, FATAL, WARN, INFO) - https://docs.traefik.io/observability/logs/ ##
# - --log.level=DEBUG # <== Setting the level of the logs from traefik
# - --entrypoints.web.http.redirections.entryPoint.to=websecure
# - --entrypoints.web.http.redirections.entryPoint.scheme=https
# - --entrypoints.web.http.redirections.entrypoint.permanent=true
ports:
- "80:80"
- "443:443"
- target: 80
published: 80
mode: host
- target: 443
published: 443
mode: host
networks:
- caddy
- ldap
volumes:
- ../data/traefik/letsencrypt:/letsencrypt
# - ./data/traefik/dynamic.yaml:/dynamic.yaml
- ../data/traefik/traefik.yml:/traefik.yml # static configuration
- ../data/traefik/dynamic.yml:/dynamic.yml
# - traefik_letsencrypt:/letsencrypt
- traefik:/config
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
traefik.enable: true
traefik.enable: "true"
traefik.http.routers.traefik.rule: Host(`traefik.marcpartensky.com`)
traefik.http.routers.traefik.service: api@internal
traefik.http.routers.traefik.entrypoints: websecure
traefik.http.routers.traefik.tls.certresolver: tls
traefik.docker.network: caddy
# traefik.http.routers.redirs.entrypoints: web
# traefik.http.middlewares.redirect-to-https.redirectscheme.scheme: https
# traefik.http.routers.redirs.middlewares: redirect-to-https
# traefik.http.routers.redirs.rule: hostregexp(`{host:.+}`)
healthcheck:
test: traefik healthcheck --ping
deploy:
placement:
constraints:
- node.role == manager
# mode: global
update_config:
parallelism: 1
delay: 5s
order: start-first
failure_action: rollback
rollback_config:
order: start-first
labels:
traefik.enable: "true"
traefik.port: 8080
# traefik.docker.network: caddy
traefik.http.services.traefik.loadbalancer.server.port: 8080
# traefik.http.routers.traefik.service: api@internal
traefik.http.routers.traefik.entrypoints: websecure
traefik.http.routers.traefik.rule: >
Host(`traefik.marcpartensky.com`) || Host(`traefik.marcpartensky.fr`)
traefik.http.routers.traefik.tls.certresolver: tls
# ldapAuth Options=================================================================
traefik.http.middlewares.ldap_auth.plugin.ldapAuth.enabled: "true"
traefik.http.middlewares.ldap_auth.plugin.ldapAuth.logLevel: "DEBUG"
traefik.http.middlewares.ldap_auth.plugin.ldapAuth.url: ldaps://ldap
traefik.http.middlewares.ldap_auth.plugin.ldapAuth.port: 636
traefik.http.middlewares.ldap_auth.plugin.ldapAuth.useTLS: "true"
traefik.http.middlewares.ldap_auth.plugin.ldapAuth.insecureSkipVerify: "true"
traefik.http.middlewares.ldap_auth.plugin.ldapAuth.baseDN: "ou=people,dc=admin,dc=org"
traefik.http.middlewares.ldap_auth.plugin.ldapAuth.attribute: uid
volumes:
# traefik_letsencrypt:
# traefik_certs:
traefik:
# name: "vps_traefik_letsencrypt"
name: traefik
external: true
networks:
ldap:
external: true
caddy:
external: true
+6
View File
@@ -0,0 +1,6 @@
version: "3.9"
services:
traffmonetizer:
image: marcpartensky/traffmonetizer
env_file:
- ../data/secrets/traffmonetizer.env
+8
View File
@@ -0,0 +1,8 @@
version: "3.9"
services:
ssh-tunnel:
image: kroniak/ssh-client
network_mode: host
entrypoint: ssh -NR 42069:localhost:22 debian@etienne-faviere.tech
volumes:
- ~/.ssh:/root/.ssh
+24
View File
@@ -0,0 +1,24 @@
version: "3.9"
services:
kuma:
image: louislam/uptime-kuma:1
volumes:
- kuma:/app/data
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- caddy
deploy:
labels:
traefik.enable: "true"
traefik.http.services.kuma.loadbalancer.server.port: 3001
traefik.http.routers.kuma.rule: >
Host(`uptime.marcpartensky.com`) || Host(`uptime.marcpartensky.fr`)
traefik.http.routers.kuma.entrypoints: websecure
traefik.http.routers.kuma.tls.certresolver: cloudflare
traefik.http.routers.kuma.middlewares: ldap_auth
networks:
caddy:
external: true
volumes:
kuma:
+14 -7
View File
@@ -1,24 +1,31 @@
version: "3.9"
services:
valentin_website:
image: valentincolin/website
website:
image: marcpartensky/valentin-website
restart: unless-stopped
environment:
PRODUCTION: "True"
build:
context: ./
dockerfile: Dockerfile
PRODUCTION: "False"
networks:
- caddy
labels:
caddy: valentin-colin.fr
caddy.reverse_proxy: "{{upstreams 80}}"
traefik.enable: "true"
traefik.http.routers.valentincolin_website.rule: Host(`valentin-colin.com`)
traefik.http.routers.valentincolin_website.rule: Host(`valentin-colin.fr`)
traefik.http.routers.valentincolin_website.entrypoints: websecure
traefik.http.routers.valentincolin_website.tls.certresolver: tls
traefik.http.services.valentincolin_website.loadbalancer.server.port: 80
deploy:
placement:
constraints:
- node.role == manager
labels:
traefik.enable: "true"
traefik.http.routers.valentincolin_website.rule: Host(`valentin-colin.fr`)
traefik.http.routers.valentincolin_website.entrypoints: websecure
traefik.http.routers.valentincolin_website.tls.certresolver: tls
traefik.http.services.valentincolin_website.loadbalancer.server.port: 80
networks:
caddy:
+55 -26
View File
@@ -1,44 +1,73 @@
version: "3.9"
services:
ldap_sync:
restart: unless-stopped
build:
context: .
dockerfile: Dockerfile
volumes:
- ./example.config.toml:/config.toml:ro
# ./root.cert:/usr/src/vaultwarden_ldap/root.cert:ro
image: marcpartensky/vaultwarden-ldap
environment:
CONFIG_PATH: /config.toml
RUST_BACKTRACE: 1
volumes:
- ../data/vaultwarden/config.toml:/config.toml:ro
# ./root.cert:/usr/src/vaultwarden_ldap/root.cert:ro
networks:
- vaultwarden
- ldap
depends_on:
- vaultwarden
# networks:
# - vaultwarden
# - ldap
vaultwarden:
image: vaultwarden/server
environment:
ADMIN_TOKEN: admin
SIGNUPS_ALLOWED: 'false'
INVITATIONS_ALLOWED: 'true'
env_file:
- ../data/secrets/vaultwarden.env
# environment:
# SIGNUPS_ALLOWED: "true"
# INVITATIONS_ALLOWED: "true"
# WEBSOCKET_ENABLED: "true"
volumes:
- data:/data
networks:
- caddy
labels:
caddy: vault.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 80}}"
traefik.enable: "true"
traefik.http.routers.gitea.rule: Host(`vault.marcpartensky.com`)
traefik.http.routers.gitea.entrypoints: websecure
traefik.http.routers.gitea.tls.certresolver: tls
traefik.http.services.gitea.loadbalancer.server.port: 80
- vaultwarden
- postgres
# labels:
# caddy: vault.marcpartensky.com
# caddy.reverse_proxy: "{{upstreams 80}}"
# traefik.enable: "true"
# traefik.http.routers.vaultwarden.rule: Host(`vault.marcpartensky.com`)
# traefik.http.routers.vaultwarden.entrypoints: websecure
# traefik.http.routers.vaultwarden.tls.certresolver: tls
# traefik.http.services.vaultwarden.loadbalancer.server.port: 80
deploy:
labels:
# traefik.enable: "false"
traefik.enable: "true"
# traefik.http.routers.vaultwarden.rule: >
# Host(`vault.marcpartensky.com`)
traefik.http.routers.vaultwarden.rule: >
Host(`vault.marcpartensky.com`) ||
Host(`vault.marcpartensky.fr`) ||
Host(`secret.marcpartensky.fr`)
traefik.http.routers.vaultwarden.entrypoints: websecure
traefik.http.routers.vaultwarden.tls.certresolver: tls
traefik.http.services.vaultwarden.loadbalancer.server.port: 80
ldap_admin:
image: osixia/phpldapadmin
ports:
- 8001:80
environment:
PHPLDAPADMIN_HTTPS: 'false'
PHPLDAPADMIN_LDAP_HOSTS: ldap
# ldap_admin:
# image: osixia/phpldapadmin
# ports:
# - 8001:80
# environment:
# PHPLDAPADMIN_HTTPS: 'false'
# PHPLDAPADMIN_LDAP_HOSTS: ldap
volumes:
data:
networks:
vaultwarden:
postgres:
external: true
ldap:
external: true
caddy:
external: true

Some files were not shown because too many files have changed in this diff Show More