From ce5f5c66e8fe4294d3c60892ac0312e744bd9f55 Mon Sep 17 00:00:00 2001 From: Thord Johansson Date: Sat, 24 Dec 2022 02:38:43 +0100 Subject: [PATCH] Initial commit --- README.md | 3 +++ jellyfin/docker-compose.yml | 38 +++++++++++++++++++++++++++++++++ mariadb/docker-compose.yml | 33 ++++++++++++++++++++++++++++ nextcloud/docker-compose.yml | 29 +++++++++++++++++++++++++ nginx-proxy/docker-compose.yml | 22 +++++++++++++++++++ pihole/docker-compose.yml | 29 +++++++++++++++++++++++++ scrutiny/docker-compose.yml | 17 +++++++++++++++ sonarr/docker-compose.yml | 16 ++++++++++++++ transmission/docker-compose.yml | 35 ++++++++++++++++++++++++++++++ 9 files changed, 222 insertions(+) create mode 100644 README.md create mode 100644 jellyfin/docker-compose.yml create mode 100644 mariadb/docker-compose.yml create mode 100644 nextcloud/docker-compose.yml create mode 100644 nginx-proxy/docker-compose.yml create mode 100644 pihole/docker-compose.yml create mode 100644 scrutiny/docker-compose.yml create mode 100644 sonarr/docker-compose.yml create mode 100644 transmission/docker-compose.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..c2237bb --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# docker-configs +Docker-compose files for running `docker-compose up -d` with when deploying on a new or reset home server. +Ensure that environment variables are overridden in local, uncommitted `.env` files as described [here](https://docs.docker.com/compose/environment-variables/). diff --git a/jellyfin/docker-compose.yml b/jellyfin/docker-compose.yml new file mode 100644 index 0000000..5a7a333 --- /dev/null +++ b/jellyfin/docker-compose.yml @@ -0,0 +1,38 @@ +version: '3.5' + +volumes: + media: + driver_opts: + type: "nfs" + o: "addr=192.168.1.245,nolock,soft,rw" + device: ":/mnt/data/media" + +services: + jellyfin: + image: jellyfin/jellyfin + container_name: jellyfin + user: 1000:1001 + network_mode: 'host' + volumes: + - ./config:/config + - ./cache:/cache + + - type: volume + source: media + target: /media + volume: + nocopy: true + + #ports: + # - "8096:8096/tcp" + # - "8920:8920/tcp" + # - "1900:1900/udp" + # - "7359:7359/udp" + restart: 'unless-stopped' + # Optional - alternative address used for autodiscovery + #environment: + # - JELLYFIN_PublishedServerUrl=http://example.com + # Optional - may be necessary for docker healthcheck to pass if running in host network mode + extra_hosts: + - "host.docker.internal:host-gateway" + diff --git a/mariadb/docker-compose.yml b/mariadb/docker-compose.yml new file mode 100644 index 0000000..3901ba7 --- /dev/null +++ b/mariadb/docker-compose.yml @@ -0,0 +1,33 @@ +version: '3.1' + +volumes: + + data: + driver_opts: + type: "nfs" + o: "addr=192.168.1.245,nolock,soft,rw" + device: ":/mnt/data/mysql" + +services: + + db: + image: mariadb + restart: always + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + volumes: + - type: volume + source: data + target: /var/lib/mysql + volume: + nocopy: false + environment: + - MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} + - MARIADB_DATABASE=${MARIADB_DATABASE} + - MARIADB_USER=${MARIADB_USER} + - MARIADB_PASSWORD=${MARIADB_PASSWORD} + + adminer: + image: adminer + restart: always + ports: + - 8081:8080 diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml new file mode 100644 index 0000000..1995e0d --- /dev/null +++ b/nextcloud/docker-compose.yml @@ -0,0 +1,29 @@ +version: '2' + +volumes: + app: + data: + driver_opts: + type: "nfs" + o: "addr=192.168.1.245,nolock,soft,rw" + device: ":/mnt/data/nextcloud" + +services: + app: + image: nextcloud + restart: always + ports: + - 8080:80 + volumes: + - app:/var/www/html + - data:/var/www/html/data + environment: + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_HOST=${MYSQL_HOST} + +networks: + default: + name: mariadb_default + external: true diff --git a/nginx-proxy/docker-compose.yml b/nginx-proxy/docker-compose.yml new file mode 100644 index 0000000..ccdf453 --- /dev/null +++ b/nginx-proxy/docker-compose.yml @@ -0,0 +1,22 @@ +version: "3" + +networks: + proxy: + external: true + +services: + reverse-proxy: + image: "jc21/nginx-proxy-manager:latest" + restart: always + ports: + - "80:80" + - "443:443" + - "81:81" + environment: + DB_SQLITE_FILE: "/data/database.sqlite" + DISABLE_IPV6: "true" + volumes: + - ./data:/data + - ./letsencrypt:/etc/letsencrypt + networks: + - proxy diff --git a/pihole/docker-compose.yml b/pihole/docker-compose.yml new file mode 100644 index 0000000..9d1c262 --- /dev/null +++ b/pihole/docker-compose.yml @@ -0,0 +1,29 @@ +version: "3" + +# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/ +services: + pihole: + container_name: pihole + image: pihole/pihole:latest + # For DHCP it is recommended to remove these ports and instead add: network_mode: "host" + ports: + - "53:53/tcp" + - "53:53/udp" + - "67:67/udp" # Only required if you are using Pi-hole as your DHCP server + - "8080:80/tcp" + environment: + TZ: 'Europe/Stockholm' + # WEBPASSWORD: 'set a secure password here or it will be random' + # Volumes store your data between container upgrades + volumes: + - './etc-pihole:/etc/pihole' + - './etc-dnsmasq.d:/etc/dnsmasq.d' + # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities + #cap_add: + # - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed + restart: unless-stopped + +networks: + default: + external: true + name: proxy diff --git a/scrutiny/docker-compose.yml b/scrutiny/docker-compose.yml new file mode 100644 index 0000000..60ce3c0 --- /dev/null +++ b/scrutiny/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.5' + +services: + scrutiny: + container_name: scrutiny + image: ghcr.io/analogj/scrutiny:master-omnibus + cap_add: + - SYS_RAWIO + ports: + - "1080:8080" # webapp + - "1086:8086" # influxDB admin + volumes: + - /run/udev:/run/udev:ro + - ./config:/opt/scrutiny/config + - ./influxdb:/opt/scrutiny/influxdb + devices: + - "/dev/sda" diff --git a/sonarr/docker-compose.yml b/sonarr/docker-compose.yml new file mode 100644 index 0000000..d150748 --- /dev/null +++ b/sonarr/docker-compose.yml @@ -0,0 +1,16 @@ +version: "2.1" +services: + sonarr: + image: lscr.io/linuxserver/sonarr:latest + container_name: sonarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Stockholm + volumes: + - ./config:/config + - ./tvseries:/tv #optional + - /home/thordj/downloads:/downloads #optional + ports: + - 8989:8989 + restart: unless-stopped diff --git a/transmission/docker-compose.yml b/transmission/docker-compose.yml new file mode 100644 index 0000000..870ab36 --- /dev/null +++ b/transmission/docker-compose.yml @@ -0,0 +1,35 @@ +version: "2.1" + +volumes: + download_data: + driver_opts: + type: "nfs" + o: "addr=192.168.1.245,nolock,soft,rw" + device: ":/mnt/data/downloads" + +services: + transmission: + image: lscr.io/linuxserver/transmission:latest + container_name: transmission + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Stockholm + - TRANSMISSION_WEB_HOME=/combustion-release/ #optional + - USER=${USERNAME} #optional + - PASS=${PASSWORD} #optional + - WHITELIST= #optional + - PEERPORT= #optional + - HOST_WHITELIST= #optional + volumes: + - ./data:/config + - type: volume + source: download_data + target: /downloads + volume: + nocopy: false + ports: + - 9091:9091 + - 51413:51413 + - 51413:51413/udp + restart: unless-stopped