diff --git a/.gitignore b/.gitignore index 8d1e20c..ce96175 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,6 @@ authentik/custom-templates/ authentik/media/ dockge/data/ dockge/stacks/ +adguard-home/work/ +adguard-home/conf/ +obsidian-livesync/data/ diff --git a/README.md b/README.md index dade38e..16580a7 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,69 @@ # Sammlung an simplen Docker Compose +## Usage + +Run first: +```bash +docker network create --driver bridge proxy +``` + ## Services -| Service | Port | -| --------------------------------------------------------------------- | ------------------------------------ | -| [Cloudcmd](https://cloudcmd.io/) | [8000](http://localhost:8000) | -| [Code Server](https://github.com/linuxserver/docker-code-server) | [8443](http://localhost:8443) | -| [Gramps Web](https://www.grampsweb.org/) | [81](http://localhost:81) | -| [Home Assistant](https://www.home-assistant.io/) | [8123](http://localhost:8123) | -| [Homepage](https://gethomepage.dev) | [3045](http://localhost:3045) | -| [JDownloader2](https://jdownloader.org/jdownloader2) | [5800](http://localhost:5800) | -| [Adminer](https://www.adminer.org/) | [8081](http://localhost:8081) | -| [MariaDB](https://mariadb.org/) | 3306 | -| [Nextcloud](https://github.com/nextcloud/docker) | [8080](http://localhost:8080) | -| [Transmission](https://github.com/linuxserver/docker-transmission) | [9091](http://localhost:9091) | -| [Radarr](https://github.com/linuxserver/docker-radarr) | [7878](http://localhost:7878) | -| [Plex](https://github.com/linuxserver/docker-plex) | [32400](http://localhost:32400) | -| [Portainer](https://www.portainer.io/) | [9000](http://localhost:9000) | -| [InfluxDB](https://www.influxdata.com/) | [8086](http://localhost:8086) | -| [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) | | -| [traefik](https://doc.traefik.io/traefik/) | [8082](http://localhost:8082) 80 443 | -| [Uptime Kuma](https://github.com/louislam/uptime-kuma) | [3001](http://localhost:3001) | -| [Watchtower](https://containrrr.dev/watchtower/) | | +| Service | Port | +| --------------------------------------------------------------------- | -------------------------------------- | +| [Adguard Home](https://hub.docker.com/r/adguard/adguardhome) | [3002](http://localhost:3002) 53 67 68 | +| [Adminer](https://www.adminer.org/) | [8081](http://localhost:8081) | +| [Alpine](https://hub.docker.com/_/alpine) | docker exec -it alpine /bin/sh | +| [Authentik](https://goauthentik.io/) | [9001](http://localhost:9001) | +| [Cloudcmd](https://cloudcmd.io/) | [8000](http://localhost:8000) | +| [CockroachDB](https://www.cockroachlabs.com/) | 26257 | +| [Code Server](https://github.com/linuxserver/docker-code-server) | [8443](http://localhost:8443) | +| [Dawarich](https://github.com/Freika/dawarich) | [3007](http://localhost:3007) | +| [DBGate](https://dbgate.org/) | [8084](http://localhost:8084) | +| [Dockge](https://github.com/louislam/dockge) | [5002](http://localhost:5002) | +| [Dozzle](https://dozzle.dev/) | [8087](http://localhost:8087) | +| [Firebird](https://firebirdsql.org/) | 3050 | +| [Glances](TODO) | [TODO](http://localhost:) | +| [Grafana-Loki](https://grafana.com/docs/loki/latest/) | [3000](http://localhost:3000) 3100 | +| [Gramps Web](https://www.grampsweb.org/) | [81](http://localhost:81) | +| [Guacamole](https://github.com/jwetzell/docker-guacamole) | [80](http://localhost) | +| [Home Assistant](https://www.home-assistant.io/) | [8123](http://localhost:8123) | +| [Homepage](https://gethomepage.dev) | [3045](http://localhost:3045) | +| [InfluxDB](https://www.influxdata.com/) | [8086](http://localhost:8086) | +| [JDownloader2](https://jdownloader.org/jdownloader2) | [5800](http://localhost:5800) | +| [libsql](https://github.com/tursodatabase/libsql) | 5001 8098 | +| [MariaDB](https://mariadb.org/) | 3306 | +| [MySpeed](https://github.com/gnmyt/myspeed) | [5216](http://localhost:5216) | +| [MySQL 8](https://www.mysql.com/) | 3308 | +| [Nextcloud](https://github.com/nextcloud/docker) | [8080](http://localhost:8080) | +| [nginx](https://hub.docker.com/_/nginx) | [82](http://localhost:82) | +| [Obsidian-LiveSync](https://github.com/vrtmrz/obsidian-livesync) | [5984](http://localhost:5984/_utils/) | +| [Olivetin](https://github.com/OliveTin/OliveTin) | [1337](http://localhost:1337) | +| [PHPmyAdmin](https://hub.docker.com/_/phpmyadmin) | [8083](http://localhost:8083) | +| [Plex](https://github.com/linuxserver/docker-plex) | [32400](http://localhost:32400) | +| [Portainer](https://www.portainer.io/) | [9000](http://localhost:9000) | +| [PostgreSQL 15](https://www.postgresql.org/) | [5432](http://localhost:5432) | +| [Radarr](https://github.com/linuxserver/docker-radarr) | [7878](http://localhost:7878) | +| [SQLChat](https://github.com/sqlchat/sqlchat) | [3005](http://localhost:3005) | +| [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) | | +| [traefik](https://doc.traefik.io/traefik/) | [8085](http://localhost:8082) 83 444 | +| [Transmission](https://github.com/linuxserver/docker-transmission) | [9091](http://localhost:9091) | +| [Uptime Kuma](https://github.com/louislam/uptime-kuma) | [3001](http://localhost:3001) | +| [Watchtower](https://containrrr.dev/watchtower/) | | +| [Watchtower](https://containrrr.dev/watchtower/) | | +| [Webtrees](https://github.com/fisharebest/webtrees) | [86](http://localhost:86) | +| [Whoami](https://hub.docker.com/r/traefik/whoami) | [84](http://localhost:84) | +| [whoDB](https://github.com/clidey/whodb) | [8082](http://localhost:8082) | +| []() | [](http://localhost:) | -![homepage](homepage.jpg) + + +![homepage1](homepage1.jpg) +![homepage2](homepage2.jpg) ## ToDo -- dozzle -- dockge -- glances +- moodle - kavita - mealie - metube @@ -58,23 +92,12 @@ ### add to readme and homepage -- guacamole - webtrees -- Graphana Loki -- whodb -- phpmyadmin - sqlchat - postgres15 -- dbgate -- databases -- dawarich - olivetin -- authentik -- alpine -- nginx -- obsidian livesync - whoami -- adguard home +- glances ## Tools diff --git a/adguard-home/compose.yml b/adguard-home/compose.yml index 0037ad5..797be66 100644 --- a/adguard-home/compose.yml +++ b/adguard-home/compose.yml @@ -11,7 +11,14 @@ services: - 53:53 - 67:67/udp - 68:68/udp + - 3002:3000 #- 80:80/tcp #- 443:443/tcp #- 443:443/udp - image: adguard/adguardhome \ No newline at end of file + image: adguard/adguardhome + networks: + - proxy + +networks: + proxy: + external: true diff --git a/alpine/compose.yml b/alpine/compose.yml index 6f5ca68..5e07939 100644 --- a/alpine/compose.yml +++ b/alpine/compose.yml @@ -12,4 +12,9 @@ services: container_name: alpine image: alpine command: ash - \ No newline at end of file + networks: + - proxy + +networks: + proxy: + external: true diff --git a/authentik/compose.yml b/authentik/compose.yml index 032fe03..13fcb2b 100644 --- a/authentik/compose.yml +++ b/authentik/compose.yml @@ -15,7 +15,11 @@ services: - POSTGRES_DB=${POSTGRES_DB:-authentik} - TZ=${TZ:-UTC} healthcheck: - test: ['CMD-SHELL', 'pg_isready -U "${POSTGRES_USER:-authentik}"'] + test: + [ + 'CMD-SHELL', + 'pg_isready -U "${POSTGRES_USER:-authentik}"' + ] start_period: 30s interval: 10s timeout: 10s @@ -23,12 +27,14 @@ services: volumes: - postgres_data:/var/lib/postgresql/data restart: unless-stopped + networks: + - proxy redis: image: docker.io/library/redis:7.2.5 container_name: authentik-redis command: --save 60 1 --loglevel warning healthcheck: - test: ["CMD-SHELL", "redis-cli ping | grep PONG"] + test: [ "CMD-SHELL", "redis-cli ping | grep PONG" ] start_period: 20s interval: 30s retries: 5 @@ -36,6 +42,8 @@ services: volumes: - redis_data:/data restart: unless-stopped + networks: + - proxy server: image: ghcr.io/goauthentik/server:2024.6.1 container_name: authentik-server @@ -70,6 +78,8 @@ services: - postgres - redis restart: unless-stopped + networks: + - proxy worker: image: ghcr.io/goauthentik/server:2024.6.1 container_name: authentik-worker @@ -94,10 +104,10 @@ services: # - AUTHENTIK_EMAIL__USE_SSL=${EMAIL_USE_SSL:-false} # - AUTHENTIK_EMAIL__TIMEOUT=${EMAIL_TIMEOUT:-10} # - AUTHENTIK_EMAIL__FROM=${EMAIL_FROM:?error} - # (Optional) When using the docker socket integration - # See more for the docker socket integration here: - # https://goauthentik.io/docs/outposts/integrations/docker - # user: root + # (Optional) When using the docker socket integration + # See more for the docker socket integration here: + # https://goauthentik.io/docs/outposts/integrations/docker + # user: root volumes: # (Optional) When using the docker socket integration # - /run/docker.sock:/run/docker.sock @@ -108,9 +118,15 @@ services: - postgres - redis restart: unless-stopped + networks: + - proxy + +networks: + proxy: + external: true volumes: postgres_data: driver: local redis_data: - driver: local \ No newline at end of file + driver: local diff --git a/cloudcmd/docker-compose.yml b/cloudcmd/docker-compose.yml index b1f101c..826c5bb 100644 --- a/cloudcmd/docker-compose.yml +++ b/cloudcmd/docker-compose.yml @@ -13,3 +13,9 @@ services: - ~:/root - /:/mnt/fs image: coderaiser/cloudcmd + networks: + - proxy + +networks: + proxy: + external: true diff --git a/code-server/docker-compose.yml b/code-server/docker-compose.yml index ca3ca9f..097d410 100644 --- a/code-server/docker-compose.yml +++ b/code-server/docker-compose.yml @@ -21,3 +21,9 @@ services: ports: - 8443:8443 restart: unless-stopped + networks: + - proxy + +networks: + proxy: + external: true diff --git a/databases/compose.yml b/databases/compose.yml index 6f198e0..0ed7946 100644 --- a/databases/compose.yml +++ b/databases/compose.yml @@ -1,38 +1,14 @@ - name: databases volumes: - mysql: mysql8: - psql96: - psql13: cockroachdb: firebird: + services: - psql13: - image: postgres:13 - environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: example - POSTGRES_DB: test - volumes: - - psql13:/var/lib/postgresql/data - - ./dev/docker_psql_init:/docker-entrypoint-initdb.d - ports: - - 5433:5432 - psql: - image: postgres:9.6 - environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: example - POSTGRES_DB: test - volumes: - - psql96:/var/lib/postgresql/data - - ./dev/docker_psql_init:/docker-entrypoint-initdb.d - ports: - - 5434:5432 mysql8: + container_name: mysql8 image: mysql:8.0.21 command: --default-authentication-plugin=mysql_native_password restart: always @@ -44,38 +20,24 @@ services: volumes: - mysql8:/var/lib/mysql - ./dev/docker_mysql_init:/docker-entrypoint-initdb.d - mysql: - image: mysql:5.7.22 - command: --default-authentication-plugin=mysql_native_password - restart: always - environment: - MYSQL_ROOT_PASSWORD: example - MYSQL_DATABASE: test - ports: - - 3307:3306 - volumes: - - mysql:/var/lib/mysql - - ./dev/docker_mysql_init:/docker-entrypoint-initdb.d + networks: + - proxy cockroachdb: + container_name: cockroachdb image: cockroachdb/cockroach:v22.1.1 volumes: - cockroachdb:/cockroach/cockroach-data ports: - 26257:26257 command: start-single-node --insecure - cassandra: - image: cassandra:latest - entrypoint: ["/docker-entrypoint.initdb.d/entry.sh"] - ports: - - 9042:9042 - volumes: - - cassandra:/var/lib/cassandra - - ./dev/docker_cassandra_init:/docker-entrypoint.initdb.d -# use keyspace; describe tables; # get all the tables for a specific keyspace -# select * from system_schema.keyspaces; # gets all keyspaces -# https://www.folkstalk.com/2022/09/get-all-keyspaces-in-cassandra-with-code-examples.html -# Create keyspace https://www.tutorialspoint.com/cassandra/cassandra_create_keyspace.htm + networks: + - proxy + # use keyspace; describe tables; # get all the tables for a specific keyspace + # select * from system_schema.keyspaces; # gets all keyspaces + # https://www.folkstalk.com/2022/09/get-all-keyspaces-in-cassandra-with-code-examples.html + # Create keyspace https://www.tutorialspoint.com/cassandra/cassandra_create_keyspace.htm firebird: + container_name: firebird image: jacobalberty/firebird:v4.0.1 volumes: - ./dev/docker_firebird:/docker_init @@ -85,13 +47,22 @@ services: - ISC_PASSWORD=masterkey - EnableLegacyClientAuth=true command: sh -c 'chmod +x /docker_init/entrypoint.sh; /docker_init/entrypoint.sh & /usr/local/firebird/docker-entrypoint.sh firebird;' + networks: + - proxy libsql: + container_name: libsql image: ghcr.io/tursodatabase/libsql-server:latest platform: linux/amd64 ports: - 8098:8080 - 5001:5001 # environment: - # - SQLD_NODE=primary - # volumes: - # - ./dev/docker_libsql:/var/lib/sqld \ No newline at end of file + # - SQLD_NODE=primary + # volumes: + # - ./dev/docker_libsql:/var/lib/sqld + networks: + - proxy + +networks: + proxy: + external: true diff --git a/dawarich/compose.yml b/dawarich/compose.yml index 1c774b0..46643d8 100644 --- a/dawarich/compose.yml +++ b/dawarich/compose.yml @@ -13,6 +13,8 @@ services: container_name: redis volumes: - shared_data:/var/shared/redis + networks: + - proxy postgres14: image: postgres:14.2-alpine container_name: postgres14 @@ -22,6 +24,8 @@ services: environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password + networks: + - proxy dawarich: image: freikin/dawarich:latest container_name: dawarich @@ -33,7 +37,7 @@ services: stdin_open: true tty: true entrypoint: dev-entrypoint.sh - command: ['bin/dev'] + command: [ 'bin/dev' ] restart: on-failure environment: RAILS_ENV: development @@ -55,6 +59,8 @@ services: depends_on: - postgres14 - redis + networks: + - proxy sidekiq: image: freikin/dawarich:latest container_name: sidekiq @@ -64,7 +70,7 @@ services: stdin_open: true tty: true entrypoint: dev-entrypoint.sh - command: ['sidekiq'] + command: [ 'sidekiq' ] restart: on-failure environment: RAILS_ENV: development @@ -86,9 +92,15 @@ services: - postgres14 - redis - dawarich + networks: + - proxy + +networks: + proxy: + external: true volumes: db_data: gem_cache: shared_data: - public: \ No newline at end of file + public: diff --git a/dockge/compose.yml b/dockge/compose.yml index dae5d8f..d626c7b 100644 --- a/dockge/compose.yml +++ b/dockge/compose.yml @@ -9,7 +9,7 @@ services: image: louislam/dockge:1 container_name: dockge ports: - - 5001:5001 + - 5002:5001 volumes: - /var/run/docker.sock:/var/run/docker.sock - ./data:/app/data @@ -21,3 +21,9 @@ services: environment: # Tell Dockge where to find the stacks - DOCKGE_STACKS_DIR=/opt/stacks + networks: + - proxy + +networks: + proxy: + external: true diff --git a/dozzle/compose.yml b/dozzle/compose.yml index f4124bc..1abc590 100644 --- a/dozzle/compose.yml +++ b/dozzle/compose.yml @@ -11,4 +11,10 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - - 8087:8080 \ No newline at end of file + - 8087:8080 + networks: + - proxy + +networks: + proxy: + external: true diff --git a/grafana/config/loki-config.yaml b/grafana-loki/config/loki-config.yaml similarity index 100% rename from grafana/config/loki-config.yaml rename to grafana-loki/config/loki-config.yaml diff --git a/grafana/docker-compose.yml b/grafana-loki/docker-compose.yml similarity index 68% rename from grafana/docker-compose.yml rename to grafana-loki/docker-compose.yml index d43f920..6cf6602 100644 --- a/grafana/docker-compose.yml +++ b/grafana-loki/docker-compose.yml @@ -1,7 +1,12 @@ -version: '3.0' +# https://grafana.com/docs/loki/latest/ + +# Grafana Loki is a set of open source components that can be composed into a fully featured logging stack. A small index and highly compressed chunks simplifies the operation and significantly lowers the cost of Loki. + +name: grafana-loki services: grafana: + container_name: grafana image: grafana/grafana:11.0.0 environment: - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin @@ -15,7 +20,10 @@ services: - ./provisioning:/etc/grafana/provisioning extra_hosts: - 'host.docker.internal:host-gateway' + networks: + - proxy loki: + container_name: loki image: grafana/loki:main-e9b6ce9 environment: LOG_CLUSTER_DEPTH: '8' @@ -26,6 +34,15 @@ services: - ./config/loki-config.yaml:/etc/loki/local-config.yaml command: -config.file=/etc/loki/local-config.yaml restart: on-failure + networks: + - proxy generator: + container_name: generator image: us-docker.pkg.dev/grafanalabs-global/docker-explore-logs-prod/fake-log-generator:latest command: -url http://loki:3100/loki/api/v1/push + networks: + - proxy + +networks: + proxy: + external: true diff --git a/grafana/provisioning/datasources/default.yaml b/grafana-loki/provisioning/datasources/default.yaml similarity index 100% rename from grafana/provisioning/datasources/default.yaml rename to grafana-loki/provisioning/datasources/default.yaml diff --git a/grafana/provisioning/plugins/app.yaml b/grafana-loki/provisioning/plugins/app.yaml similarity index 100% rename from grafana/provisioning/plugins/app.yaml rename to grafana-loki/provisioning/plugins/app.yaml diff --git a/gramps-web/docker-compose.yml b/gramps-web/docker-compose.yml index 85c3598..636d4f5 100644 --- a/gramps-web/docker-compose.yml +++ b/gramps-web/docker-compose.yml @@ -27,6 +27,8 @@ services: - gramps_db:/root/.gramps/grampsdb # persist Gramps database - gramps_media:/app/media # persist media files - gramps_tmp:/tmp + networks: + - proxy grampsweb_celery: <<: *grampsweb # YAML merge key copying the entire grampsweb service config @@ -35,11 +37,19 @@ services: depends_on: - grampsweb_redis command: celery -A gramps_webapi.celery worker --loglevel=INFO + networks: + - proxy grampsweb_redis: image: redis:7.2.4-alpine container_name: grampsweb_redis restart: always + networks: + - proxy + +networks: + proxy: + external: true volumes: gramps_users: diff --git a/home-assistant/docker-compose.yml b/home-assistant/docker-compose.yml index ea832b1..92ff52e 100644 --- a/home-assistant/docker-compose.yml +++ b/home-assistant/docker-compose.yml @@ -11,3 +11,9 @@ services: - TZ=Europe/Vienna volumes: - ./homeassistant_config:/config + networks: + - proxy + +networks: + proxy: + external: true diff --git a/homepage.jpg b/homepage.jpg deleted file mode 100644 index f074a28..0000000 Binary files a/homepage.jpg and /dev/null differ diff --git a/homepage/docker-compose.yml b/homepage/docker-compose.yml index 3c0e04c..7eb280e 100644 --- a/homepage/docker-compose.yml +++ b/homepage/docker-compose.yml @@ -14,3 +14,9 @@ services: - ./homepage-config:/app/config # Make sure your local config directory exists - ./images:/app/public/images - /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations + networks: + - proxy + +networks: + proxy: + external: true diff --git a/homepage/homepage-config/logs/homepage.log b/homepage/homepage-config/logs/homepage.log index 512add3..35f3ae6 100644 --- a/homepage/homepage-config/logs/homepage.log +++ b/homepage/homepage-config/logs/homepage.log @@ -351,3 +351,11 @@ -------------------^ 144 | href: http://localhost:8086 145 | description: time-series database d ... +[2024-07-30T09:56:15.592Z] error: Failed to load services.yaml, please check for errors +[2024-07-30T09:56:15.595Z] error: TypeError: Cannot read properties of null (reading 'map') +[2024-07-30T09:56:16.357Z] error: Failed to load services.yaml, please check for errors +[2024-07-30T09:56:16.357Z] error: TypeError: Cannot read properties of null (reading 'map') +[2024-07-30T09:56:17.592Z] error: Failed to load services.yaml, please check for errors +[2024-07-30T09:56:17.592Z] error: TypeError: Cannot read properties of null (reading 'map') +[2024-07-30T09:56:28.116Z] error: Failed to load services.yaml, please check for errors +[2024-07-30T09:56:28.116Z] error: TypeError: Cannot read properties of null (reading 'map') diff --git a/homepage/homepage-config/services.yaml b/homepage/homepage-config/services.yaml index 79e691d..5507b5c 100644 --- a/homepage/homepage-config/services.yaml +++ b/homepage/homepage-config/services.yaml @@ -7,7 +7,7 @@ icon: plex.png href: http://localhost:32400 description: organize, stream, and share your personal media and discover new content from various sources - # siteMonitor: http://plex:32400 + siteMonitor: http://plex:32400 server: my-docker container: plex # widget: @@ -19,7 +19,7 @@ icon: radarr.png href: http://localhost:7878 description: download movies from various sources and formats - # siteMonitor: http://radarr:7878 + siteMonitor: http://radarr:7878 server: my-docker container: radarr # widget: @@ -32,35 +32,44 @@ icon: transmission.png href: http://localhost:9091 description: cross-platform BitTorrent client that integrates with your operating system and behaves like a Mac program - #siteMonitor: http://192.168.1.3:9091 + siteMonitor: http://transmission:9091 server: my-docker container: transmission - # widget: - # type: transmission - # url: - # username: - # password: - # rpcUrl: /transmission/ # Optional. Matches the value of "rpc-url" in your Transmission's settings.json file + widget: + type: transmission + url: http://transmission:9091 + rpcUrl: /transmission/ # Optional. Matches the value of "rpc-url" in your Transmission's settings.json file - Services: - - Nextcloud: - icon: nextcloud.png - href: http://localhost:8080 - description: self-hosted cloud storage and collaboration software that offers file access, talk, groupware and office integration - #siteMonitor: http://nextcloud:80 + - Dawarich: + icon: si-mapbox-#000000 + href: http://localhost:3007 + description: import your location history from Google Maps Timeline and Owntracks, view it on a map and see some statistics, such as the number of countries and cities visited, and distance traveled + siteMonitor: http://dawarich:3000 server: my-docker - container: nextcloud - # widget: - # type: nextcloud - # url: - # username: - # password: + container: dawarich + + - Gramps-Web: + icon: mdi-family-tree + href: http://localhost:81 + description: web app for collaborative genealogy + siteMonitor: http://grampsweb:5000 + server: my-docker + container: grampsweb + + - Guacamole: + icon: guacamole.png + href: http://localhost:80 + description: client-less remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH over HTML5. + #siteMonitor: http://guacamole:8080 + server: my-docker + container: guacamole - Home Assistant: icon: home-assistant.png href: http://localhost:8123 description: versatile and trustworthy smart home hub that integrates with over 1000 brands and runs on various devices - #siteMonitor: http://homeassistant:8123 + siteMonitor: http://homeassistant:8123 server: my-docker container: homeassistant # widget: @@ -77,22 +86,33 @@ # label: wind speed # value: "{attributes.wind_speed} {attributes.wind_speed_unit}" - - Gramps-Web: - icon: mdi-family-tree - href: http://localhost:81 - description: web app for collaborative genealogy - #siteMonitor: http://grampsweb:5000 + - Nextcloud: + icon: nextcloud.png + href: http://localhost:8080 + description: self-hosted cloud storage and collaboration software that offers file access, talk, groupware and office integration + siteMonitor: http://nextcloud:80 server: my-docker - container: grampsweb - + container: nextcloud + # widget: + # type: nextcloud + # url: + # username: + # password: + - Webtrees: + icon: webtrees.png + href: http://localhost:86 + description: web-based genealogy application that works from standard GEDCOM files + siteMonitor: http://webtrees:80 + server: my-docker + container: webtrees - Tools: - JDownloader: icon: jdownloader.png href: http://localhost:5800/ description: free, open-source download management tool with a huge community that makes downloading as easy and fast as it should be - #siteMonitor: http://jdownloader:5800/ + siteMonitor: http://jdownloader:5800/ server: my-docker container: jdownloader # widget: @@ -100,7 +120,95 @@ # username: "" # password: "" # client: + + - MySpeed: + icon: mdi-speedometer-#232835 + href: http://localhost:5216 + description: internet speed test + siteMonitor: http://myspeed:5216 + server: my-docker + container: myspeed + - OliveTin: + icon: olivetin.png + href: http://localhost:1337 + description: safe and simple access to predefined shell commands from a web interface + siteMonitor: http://olivetin:1337 + server: my-docker + container: olivetin + + - Uptime Kuma: + icon: uptime-kuma.png + href: http://localhost:3001 + description: easy-to-use self-hosted monitoring tool + siteMonitor: http://uptime-kuma:3001 + server: my-docker + container: uptime-kuma + # widget: + # type: uptimekuma + # url: + # slug: + + - Whoami: + icon: mdi-hat-fedora-#000000 + href: http://localhost:84 + description: simple HTTP server that shows its hostname and IP address + siteMonitor: http://whoami:80 + server: my-docker + container: whoami + +- Databases: + - CockroachDB: + icon: si-cockroachlabs + #href: http://localhost:26257 + description: Port 26257 distributed SQL database built on a transactional and strongly-consistent key-value store + #siteMonitor: http://cockroachdb:26257 + server: my-docker + container: cockroachdb + - CouchDB Obsidian LiveSync: + icon: si-obsidian-#7C3AED + href: http://localhost:5984/_utils/ + description: self-hosted LiveSync is a community-implemented synchronization plugin, available on every obsidian-compatible platform and using CouchDB or Object Storage + siteMonitor: http://obsidian-livesync:5984/_utils/ + server: my-docker + container: obsidian-livesync + - Firebird: + icon: si-thunderbird-#0A84FF + #href: http://localhost:3050 + description: Port 3050 relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms + #siteMonitor: http://firebird:3050 + server: my-docker + container: firebird + - LibSQL: + icon: si-ardour-#C61C3E + #href: http://localhost:5001 + description: Port 5001 SQL Server database that runs on Windows and Linux + #siteMonitor: http://libsql:5001 + server: my-docker + container: libsql + - MariaDB: + icon: mariadb.png + #href: http://localhost:3306 + description: Port 3306 relational database management system that runs on Linux, Windows, and a variety of Unix platforms + #siteMonitor: http://mariadb:3306 + server: my-docker + container: mariadb + - MySQL 8: + icon: si-mysql-#4479A1 + #href: http://localhost:3308 + description: Port 3308 relational database management system that runs on Linux, Windows, and a variety of Unix platforms + #siteMonitor: http://mysql8:3308 + server: my-docker + container: mysql8 + - PostgreSQL 15: + icon: si-postgresql-#336791 + #href: http://localhost:5432 + description: Port 5432 object-relational database system that runs on Linux, Windows, and a variety of Unix platforms + #siteMonitor: http://postgres:5432 + server: my-docker + container: postgres15 + +- Database Clients: - Adminer: icon: adminer.png href: http://localhost:8081 @@ -109,64 +217,156 @@ server: my-docker container: adminer + - DBGate: + icon: mdi-database-eye-outline-#2793da + href: http://localhost:8084 + description: database manager that supports MySQL, PostgreSQL, SQL Server, SQLite, and MongoDB + #siteMonitor: http://dbgate:8084 + server: my-docker + container: dbgate + - InfluxDB: icon: influxdb.png href: http://localhost:8086 description: time-series database designed to handle high write and query loads - #siteMonitor: http://influxdb:8086 + siteMonitor: http://influxdb:8086 server: my-docker container: influxdb - - Uptime Kuma: - icon: uptime-kuma.png - href: http://localhost:3001 - description: easy-to-use self-hosted monitoring tool - # siteMonitor: http://uptime-kuma:3001 + - PHPmyAdmin: + icon: phpmyadmin.png + href: http://localhost:8083 + description: web-based tool for managing MySQL databases + #siteMonitor: http://phpmyadmin:8083 server: my-docker - container: uptime-kuma - # widget: - # type: uptimekuma - # url: - # slug: + container: phpmyadmin + + - SQLChat: + icon: mdi-robot-excited-#504be2 + href: http://localhost:3005 + description: chat with your database + siteMonitor: http://sqlchat:3000 + server: my-docker + container: sqlchat + + - WhoDB: + icon: mdi-database-eye-#36c1b1 + href: http://localhost:8082 + description: web-based database management tool + #siteMonitor: http://whodb:8082 + server: my-docker + container: whodb - Server Management: + - Alpine: + icon: alpine.png + description: lightweight Linux distribution "docker exec -it alpine /bin/sh" + server: my-docker + container: alpine + - Authentik: + icon: authentik.png + href: http://localhost:9001 + description: secure and flexible solution for managing your identity needs + siteMonitor: http://server:9000 + server: my-docker + container: authentik-server + # widget: + # type: authentik + # url: + # key: + - CloudCMD: + icon: cloudcmd.png + href: http://localhost:8000 + description: file manager for the web. It includes a command-line console and a text editor + siteMonitor: http://cloudcmd:8000 + server: my-docker + container: cloudcmd + - Grafana-Loki: + icon: grafana.png + href: http://localhost:3000 + description: open-source logging system that does not index the contents of the logs, but rather a set of labels for each log stream + siteMonitor: http://grafana:3000 + server: my-docker + container: grafana + # widget: + # type: grafana + # url: + # username: + # password: + - VS Code: icon: code.png href: http://localhost:8443 description: VS Code on any machine and access it in the browser - #siteMonitor: http://code-server:8443 + siteMonitor: http://code-server:8443 server: my-docker container: code-server - + +- Docker Management: + - Dockge: + icon: dockge.png + href: http://localhost:5002 + description: fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager + siteMonitor: http://dockge:5001 + server: my-docker + container: dockge + + - Dozzle: + icon: dozzle.png + href: http://localhost:8087 + description: web-based application that provides a real-time log viewer for Docker containers + siteMonitor: http://dozzle:8080 + server: my-docker + container: dozzle + - Portainer: icon: portainer.png href: http://localhost:9000 description: versatile container management software that simplifies your secure adoption of containers - #siteMonitor: http://portainer:9000 + siteMonitor: http://portainer:9000 server: my-docker container: portainer # widget: # type: portainer # url: # env: - # key: - - - CloudCMD: - icon: cloudcmd.png - href: http://localhost:8000 - description: file manager for the web. It includes a command-line console and a text editor - #siteMonitor: http://cloudcmd:8000 - server: my-docker - container: cloudcmd + # key: + - Watchtower: + icon: watchtower.png + description: automatically update the running Docker containers + server: my-docker + container: watchtower + +- Network: + - Adguard Home: + icon: adguard-home.png + href: http://localhost:3002 + description: network-wide ads & trackers blocking DNS server + siteMonitor: http://adguard-home:3000 + server: my-docker + container: adguard-home + # widget: + # type: adguardhome + # url: http://adguard-home:3002 + # user: + # password: + + - nginx: + icon: nginx.png + href: http://localhost:82 + description: web server that can also be used as a reverse proxy, load balancer, mail proxy, and HTTP cache + siteMonitor: http://nginx:80 + server: my-docker + container: nginx - Traefik: icon: traefik.png - href: http://localhost:8082 + href: http://localhost:8085 description: open-source Edge Router that automatically discovers and routes requests to your services - # siteMonitor: http://traefik:8082 + siteMonitor: http://traefik:8080 server: my-docker container: traefik - # widget: - # type: traefik - # url: \ No newline at end of file + widget: + type: traefik + url: http://traefik:8080 diff --git a/homepage1.jpg b/homepage1.jpg new file mode 100644 index 0000000..ae0377d Binary files /dev/null and b/homepage1.jpg differ diff --git a/homepage2.jpg b/homepage2.jpg new file mode 100644 index 0000000..587d4f8 Binary files /dev/null and b/homepage2.jpg differ diff --git a/jdownloader2/docker-compose.yml b/jdownloader2/docker-compose.yml index 696915d..2bd2866 100644 --- a/jdownloader2/docker-compose.yml +++ b/jdownloader2/docker-compose.yml @@ -11,3 +11,9 @@ services: volumes: - "./config:/config:rw" - "./downloads:/output:rw" + networks: + - proxy + +networks: + proxy: + external: true diff --git a/mariadb/compose.yml b/mariadb/compose.yml index 62b6a62..4be1976 100644 --- a/mariadb/compose.yml +++ b/mariadb/compose.yml @@ -17,18 +17,18 @@ services: volumes: - ./mysql:/var/lib/mysql -# optionale web DB clients/IDEs + # optionale web DB clients/IDEs -# https://www.adminer.org/ -# Server: mariadb + # https://www.adminer.org/ + # Server: mariadb adminer: image: adminer container_name: adminer ports: - 8081:8080 -# https://github.com/clidey/whodb -# Host Name: mariadb + # https://github.com/clidey/whodb + # Host Name: mariadb whodb: image: clidey/whodb container_name: whodb @@ -37,7 +37,7 @@ services: ports: - "8082:8080" -# https://hub.docker.com/_/phpmyadmin + # https://hub.docker.com/_/phpmyadmin phpmyadmin: image: phpmyadmin container_name: phpmyadmin @@ -47,7 +47,7 @@ services: - PMA_ARBITRARY=1 - PMA_HOST=mariadb -# https://dbgate.org/ + # https://dbgate.org/ dbgate: image: dbgate/dbgate container_name: dbgate diff --git a/myspeed/compose.yml b/myspeed/compose.yml index f84b39a..e0e4a0e 100644 --- a/myspeed/compose.yml +++ b/myspeed/compose.yml @@ -11,4 +11,10 @@ services: - ./data:/myspeed/data restart: unless-stopped container_name: myspeed - image: germannewsmaker/myspeed \ No newline at end of file + image: germannewsmaker/myspeed + networks: + - proxy + +networks: + proxy: + external: true diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 3652009..7f1ca22 100644 --- a/nextcloud/docker-compose.yml +++ b/nextcloud/docker-compose.yml @@ -21,6 +21,8 @@ services: - MYSQL_PASSWORD=example - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud + networks: + - proxy nextcloud: image: nextcloud @@ -37,3 +39,9 @@ services: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db + networks: + - proxy + +networks: + proxy: + external: true diff --git a/nginx/compose.yml b/nginx/compose.yml index 1d6bb6c..0e9aaea 100644 --- a/nginx/compose.yml +++ b/nginx/compose.yml @@ -17,4 +17,10 @@ services: - ./data:/usr/share/nginx/html:ro environment: NGINX_HOST: localhost - NGINX_PORT: 80 \ No newline at end of file + NGINX_PORT: 80 + networks: + - proxy + +networks: + proxy: + external: true diff --git a/obsidian-livesync/compose.yml b/obsidian-livesync/compose.yml index b2a612f..b0b374b 100644 --- a/obsidian-livesync/compose.yml +++ b/obsidian-livesync/compose.yml @@ -12,8 +12,15 @@ services: - COUCHDB_USER=user - COUCHDB_PASSWORD=testitest volumes: - - /mnt/cache/appdata/obsidian-livesync/data:/opt/couchdb/data - - /mnt/cache/appdata/obsidian-livesync/local.ini:/opt/couchdb/etc/local.ini + - ./data:/opt/couchdb/data + - ./config/local.ini:/opt/couchdb/etc/local.ini # Ports not needed when already passed to Traefik ports: - - 5984:5984 \ No newline at end of file + - 5984:5984 + networks: + - proxy + +networks: + proxy: + external: true + diff --git a/obsidian-livesync/config/local.ini b/obsidian-livesync/config/local.ini new file mode 100644 index 0000000..d68f1d7 --- /dev/null +++ b/obsidian-livesync/config/local.ini @@ -0,0 +1,22 @@ +[couchdb] +single_node=true +max_document_size = 50000000 + +[chttpd] +require_valid_user = true +max_http_request_size = 4294967296 + +[chttpd_auth] +require_valid_user = true +authentication_redirect = /e=_/_utils/session.html + +[httpd] +WWW-Authenticate = Basic realm="couchdb" +enable_cors = true + +[cors] +origins = app://obsidian.md,capacitor://localhost,http://localhost +credentials = true +headers = accept, authorization, content-type, origin, referer +methods = GET, PUT, POST, HEAD, DELETE +max_age = 3600 diff --git a/olivetin/compose.yml b/olivetin/compose.yml index 13363fe..fad93c5 100644 --- a/olivetin/compose.yml +++ b/olivetin/compose.yml @@ -1,3 +1,7 @@ +# https://github.com/OliveTin/OliveTin + +# safe and simple access to predefined shell commands from a web interface + name: olivetin services: @@ -8,4 +12,10 @@ services: - ./config:/config ports: - 1337:1337 - restart: unless-stopped \ No newline at end of file + restart: unless-stopped + networks: + - proxy + +networks: + proxy: + external: true diff --git a/plex-radarr-transmission/docker-compose.yml b/plex-radarr-transmission/docker-compose.yml index 9218d06..45c9882 100644 --- a/plex-radarr-transmission/docker-compose.yml +++ b/plex-radarr-transmission/docker-compose.yml @@ -24,6 +24,8 @@ services: - 51413:51413 - 51413:51413/udp restart: unless-stopped + networks: + - proxy # https://github.com/linuxserver/docker-radarr radarr: @@ -40,6 +42,8 @@ services: ports: - 7878:7878 restart: unless-stopped + networks: + - proxy # https://github.com/linuxserver/docker-plex plex: @@ -58,3 +62,9 @@ services: - ./tv:/tv - ./movies:/movies restart: unless-stopped + networks: + - proxy + +networks: + proxy: + external: true diff --git a/portainer/docker-compose.yml b/portainer/docker-compose.yml index 9cac375..8b3b107 100644 --- a/portainer/docker-compose.yml +++ b/portainer/docker-compose.yml @@ -14,3 +14,9 @@ services: - './portainer_data:/data' image: portainer/portainer-ce:latest restart: 'unless-stopped' + networks: + - proxy + +networks: + proxy: + external: true diff --git a/postgres/compose.yml b/postgres/compose.yml index 2b8b3cf..5ec39f6 100644 --- a/postgres/compose.yml +++ b/postgres/compose.yml @@ -11,4 +11,10 @@ services: - ./data:/var/lib/postgresql/data - ./dev/docker_psql_init:/docker-entrypoint-initdb.d ports: - - 5432:5432 \ No newline at end of file + - 5432:5432 + networks: + - proxy + +networks: + proxy: + external: true diff --git a/sqlchat/compose.yml b/sqlchat/compose.yml index d567619..d0e7c75 100644 --- a/sqlchat/compose.yml +++ b/sqlchat/compose.yml @@ -4,11 +4,17 @@ name: sqlchat services: - sqlchat: - container_name: sqlchat - platform: linux/amd64 - environment: - - OPENAI_API_KEY=??? - ports: - - 3005:3000 - image: sqlchat/sqlchat \ No newline at end of file + sqlchat: + container_name: sqlchat + platform: linux/amd64 + environment: + - OPENAI_API_KEY=??? + ports: + - 3005:3000 + image: sqlchat/sqlchat + networks: + - proxy + +networks: + proxy: + external: true diff --git a/system-monitoring/docker-compose.yaml b/system-monitoring/docker-compose.yaml index 0e08de6..6735370 100644 --- a/system-monitoring/docker-compose.yaml +++ b/system-monitoring/docker-compose.yaml @@ -10,6 +10,8 @@ services: - ./influxdb/config:/etc/influxdb2 restart: unless-stopped image: influxdb:2.1.1 + networks: + - proxy # https://www.influxdata.com/time-series-platform/telegraf/ telegraf: container_name: telegraf @@ -18,3 +20,9 @@ services: - influxdb volumes: - ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro + networks: + - proxy + +networks: + proxy: + external: true diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index b10b8d5..c0aa9ec 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -1,16 +1,14 @@ -networks: - traefik-network: - - # https://doc.traefik.io/traefik/ +name: traefik +# https://doc.traefik.io/traefik/ services: traefik: image: docker.io/library/traefik:2.11.2 container_name: traefik ports: - - 80:80 - - 443:443 + - 83:80 + - 444:443 # -- (Optional) Enable Dashboard, don't do in production - - 8082:8080 + - 8085:8080 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./config:/etc/traefik @@ -20,5 +18,8 @@ services: - CF_DNS_API_TOKEN=xxx # -- (Optional) When using a custom network networks: - - traefik-network - restart: unless-stopped + - proxy + +networks: + proxy: + external: true diff --git a/uptimekuma/docker-compose.yml b/uptimekuma/docker-compose.yml index dac9109..c565fbb 100644 --- a/uptimekuma/docker-compose.yml +++ b/uptimekuma/docker-compose.yml @@ -10,3 +10,9 @@ services: ports: - 3001:3001 restart: always + networks: + - proxy + +networks: + proxy: + external: true diff --git a/watchtower/docker-compose.yml b/watchtower/docker-compose.yml index 5522da6..7089270 100644 --- a/watchtower/docker-compose.yml +++ b/watchtower/docker-compose.yml @@ -12,3 +12,9 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock command: --schedule "0 4 * * *" + networks: + - proxy + +networks: + proxy: + external: true diff --git a/webtrees/compose.yml b/webtrees/compose.yml index 173126b..fa66c81 100644 --- a/webtrees/compose.yml +++ b/webtrees/compose.yml @@ -6,9 +6,10 @@ name: webtrees services: webtrees: + container_name: webtrees image: ghcr.io/nathanvaughn/webtrees:latest ports: - - 82:80 + - 86:80 #- 443:443 environment: PRETTY_URLS: "0" @@ -29,7 +30,12 @@ services: volumes: # - ~/certs:/certs/ - app_data:/var/www/webtrees/data/ + networks: + - proxy +networks: + proxy: + external: true # db: # environment: # MARIADB_DATABASE: "webtrees" @@ -46,4 +52,4 @@ volumes: db_data: driver: local app_data: - driver: local \ No newline at end of file + driver: local diff --git a/whoami/compose.yml b/whoami/compose.yml index a1d1c16..8fa8d93 100644 --- a/whoami/compose.yml +++ b/whoami/compose.yml @@ -12,4 +12,10 @@ services: environment: - TZ=Europe/Vienna ports: - - 83:80 \ No newline at end of file + - 84:80 + networks: + - proxy + +networks: + proxy: + external: true