diff --git a/.gitignore b/.gitignore index 4c49bd7..cc75f65 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .env +**/.env +**/*.env diff --git a/books/books.env_template b/books/books.env_template new file mode 100644 index 0000000..89b2ea1 --- /dev/null +++ b/books/books.env_template @@ -0,0 +1,7 @@ +#kasm vnc login +KASM_USER= +KASM_PASS= + +#ports +CALIBRE_WEB_PORT= +CALIBRE_PORT= diff --git a/books.yml b/books/docker-compose.yml similarity index 93% rename from books.yml rename to books/docker-compose.yml index d0014df..779db9a 100644 --- a/books.yml +++ b/books/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3.8" - services: calibre-web: #Ebook hosting platform and online reader https://docs.linuxserver.io/images/docker-calibre-web/ @@ -8,12 +6,15 @@ services: environment: - PUID=${UID} - PGID=${GID} - - TZ=${TZ} + - TZ=${TZ_CITY} volumes: - ${DATA_PATH}/calibre-web/config:/config - ${MEDIA_PATH}:/mnt/Media ports: - ${CALIBRE_WEB_PORT}:8083 +# env_file: +# - books.env +# - .env restart: unless-stopped calibre: #VNC client to manage Calibre library remotely https://docs.linuxserver.io/images/docker-calibre/ diff --git a/minecraft.yml b/minecraft/docker-compose.yml similarity index 81% rename from minecraft.yml rename to minecraft/docker-compose.yml index d55277b..06da640 100644 --- a/minecraft.yml +++ b/minecraft/docker-compose.yml @@ -2,15 +2,6 @@ version: "3.8" services: - mc-nginx: # I use this to host a webpage at my minecraft ip - image: nginx - container_name: mc-nginx - volumes: - - ${MEDIA_PATH}/Games/minecraft/nginx/src:/usr/share/nginx/html - ports: - - ${MC_NGINX_PORT}:80 - restart: unless-stopped - mc-smp: # minecraft paper server. The config here and options in .env will get you a working server, but you might want to customize it further https://docker-minecraft-server.readthedocs.io/ image: itzg/minecraft-server container_name: mc-smp @@ -28,7 +19,7 @@ services: - VERSION=${MC_VERSION} - PAPER_CHANNEL=experimental - TYPE=PAPER - - SPIGET_RESOURCES=18494 +# - SPIGET_RESOURCES=18494 - MODS_FILE=/extras/mods.txt - DIFFICULTY=${MC_SMP_DIFFICULTY} - MOTD=${MC_SMP_MOTD} diff --git a/minecraft/minecraft.env_template b/minecraft/minecraft.env_template new file mode 100644 index 0000000..60d32bc --- /dev/null +++ b/minecraft/minecraft.env_template @@ -0,0 +1,14 @@ +#smp +MC_VERSION= +MC_SMP_DIFFICULTY= +MC_SMP_MOTD= +MC_SMP_OPS= +MC_SMP_MAX_PLAYERS= +MC_SMP_NAME= +MC_SMP_SEED= + +#ports +MC_SMP_JAVA_PORT= +MC_SMP_BEDROCK_PORT= +MC_DYNMAP_PORT= +MC_VOICE_PORT= diff --git a/monitoring.yml b/monitoring.yml deleted file mode 100644 index d6a349c..0000000 --- a/monitoring.yml +++ /dev/null @@ -1,27 +0,0 @@ -version: "3.8" - -services: - - portainer_agent: #Portainer is a web UI for managing your docker containers. This container is just the agent which you need to pair with the portainer-ce host container https://www.portainer.io/ - image: portainer/agent:2.19.3 - container_name: portainer_agent - ports: - - "9001:9001" - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - /var/lib/docker/volumes:/var/lib/docker/volumes - restart: always - - samba: # samba remote file access https://github.com/deftwork/samba - image: elswork/samba:latest - container_name: samba - environment: - - TZ=${TZ} - ports: - - "139:139" - - "445:445" - volumes: - - ${MEDIA_PATH}:/mnt/Media - - ${TEMP_PATH}/transcodecache:/transcodecache - command: '-u "${UID}:${GID}:${SMB_USER}:${SMB_USER}:${SMB_PASS}" -s "Media:/mnt/Media:rw:${SMB_USER}" -s "TranscodeCache:/transcodecache:rw:${SMB_USER}"' - restart: unless-stopped diff --git a/music.yml b/music/docker-compose.yml similarity index 84% rename from music.yml rename to music/docker-compose.yml index 4acf94a..08bb8ba 100644 --- a/music.yml +++ b/music/docker-compose.yml @@ -27,6 +27,17 @@ services: - ${AIRSONIC_REFIX_PORT}:80 restart: unless-stopped + navidrome: + image: deluan/navidrome:latest + container_name: navidrome + user: 1001:1001 + ports: + - "4533:4533" + restart: unless-stopped + volumes: + - "${DATA_PATH}/navidrome/data:/data" + - "${MEDIA_PATH}/Music:/music:ro" + lidarr: # music library management for media server https://docs.linuxserver.io/images/docker-lidarr/ image: lscr.io/linuxserver/lidarr:latest container_name: lidarr diff --git a/music/music.env_template b/music/music.env_template new file mode 100644 index 0000000..09634f0 --- /dev/null +++ b/music/music.env_template @@ -0,0 +1,6 @@ +#airsonic info +AIRSONIC_SERVER= +#ports +AIRSONIC_PORT= +AIRSONIC_REFIX_PORT= +LIDARR_PORT= diff --git a/peertube/docker-compose.yml b/peertube/docker-compose.yml new file mode 100644 index 0000000..1eb544f --- /dev/null +++ b/peertube/docker-compose.yml @@ -0,0 +1,47 @@ +version: "3.8" + +services: + + peertube: + image: chocobozzz/peertube:production-bookworm + container_name: peertube + env_file: + - .env + ports: +# - "1935:1935" # Comment if you don't want to use the live feature + - ${PEERTUBE_PORT}:9000 + volumes: + # Remove the following line if you want to use another webserver/proxy or test PeerTube in local +# - assets:/app/client/dist + - ${MEDIA_PATH}/peertube/data:/data + - ${DATA_PATH}/peertube/config:/config + depends_on: + - postgres + - redis + - postfix + restart: "always" + + postgres: + image: postgres:13-alpine + container_name: peertube-postgres + env_file: + - .env + volumes: + - ${MEDIA_PATH}/peertube/db:/var/lib/postgresql/data + restart: "always" + + redis: + image: redis:6-alpine + container_name: peertube-redis + volumes: + - ${MEDIA_PATH}/peertube/redis:/data + restart: "always" + + postfix: + image: mwader/postfix-relay + container_name: peertube-postfix + env_file: + - .env + volumes: + - ${MEDIA_PATH}/peertube/opendkim/keys:/etc/opendkim/keys + restart: "always" diff --git a/peertube/peertube.env_template b/peertube/peertube.env_template new file mode 100644 index 0000000..e6634a7 --- /dev/null +++ b/peertube/peertube.env_template @@ -0,0 +1,29 @@ +#peertube database +POSTGRES_USER= +POSTGRES_PASSWORD= +POSTGRES_DB= +PEERTUBE_DB_SUFFIX= +PEERTUBE_DB_USERNAME= +PEERTUBE_DB_PASSWORD= +PEERTUBE_DB_SSL= +PEERTUBE_DB_HOSTNAME= +#peertube server +PEERTUBE_WEBSERVER_HOSTNAME= +PEERTUBE_WEBSERVER_HTTPS= +PEERTUBE_TRUST_PROXY= +PEERTUBE_SECRET= +PEERTUBE_SMTP_USERNAME= +PEERTUBE_SMTP_PASSWORD= +PEERTUBE_SMTP_HOSTNAME= +PEERTUBE_SMTP_PORT= +PEERTUBE_SMTP_FROM= +PEERTUBE_SMTP_TLS= +PEERTUBE_SMTP_DISABLE_STARTTLS= +PEERTUBE_ADMIN_EMAIL= +POSTFIX_myhostname= +OPENDKIM_DOMAINS= +OPENDKIM_RequireSafeKeys= +PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PUBLIC= +PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PRIVATE= +#ports +PEERTUBE_PORT= diff --git a/terraria.yml b/terraria/docker-compose.yml similarity index 89% rename from terraria.yml rename to terraria/docker-compose.yml index 26390e0..bfc2313 100644 --- a/terraria.yml +++ b/terraria/docker-compose.yml @@ -1,12 +1,10 @@ -version: "3.8" - services: terraria: image: ghcr.io/beardedio/terraria:vanilla-latest container_name: terraria_salivating_salmon ports: - - '7777:7777' + - ${TERRARIA_PORT}:7777 restart: unless-stopped environment: - world=${TERRARIA_WORLD_FILE} diff --git a/terraria/terraria.env_template b/terraria/terraria.env_template new file mode 100644 index 0000000..eea9216 --- /dev/null +++ b/terraria/terraria.env_template @@ -0,0 +1,4 @@ +#terraria +TERRARIA_WORLD_FILE= +#ports +TERRARIA_PORT= diff --git a/torrenting.yml b/torrenting/docker-compose.yml similarity index 79% rename from torrenting.yml rename to torrenting/docker-compose.yml index 0233c1c..3c3475a 100644 --- a/torrenting.yml +++ b/torrenting/docker-compose.yml @@ -30,7 +30,7 @@ services: - ${DATA_PATH}/gluetun/qbtprivate:/config - ${TEMP_PATH}/torrents/downloads:/downloads network_mode: "service:gluetun" - restart: unless-stopped + restart: always qbittorrent-public: # qbittorrent with webui, with network piped through gluetun. Second container allows for different settings based on different torrent services https://docs.linuxserver.io/images/docker-qbittorrent/ image: lscr.io/linuxserver/qbittorrent:latest @@ -44,7 +44,7 @@ services: - ${DATA_PATH}/gluetun/qbtpublic:/config - ${TEMP_PATH}/torrents/downloads:/downloads:rw network_mode: "service:gluetun" - restart: unless-stopped + restart: always prowlarr: # torrent tracker manager/updater https://docs.linuxserver.io/images/docker-prowlarr/ image: lscr.io/linuxserver/prowlarr:latest @@ -70,3 +70,18 @@ services: ports: - ${FLARESOLVERR_PORT}:8191 restart: unless-stopped + + samba: # samba remote file access https://github.com/deftwork/samba + image: elswork/samba:latest + container_name: samba + environment: + - TZ=${TZ} + ports: + - "139:139" + - "445:445" + volumes: + - ${MEDIA_PATH}:/mnt/Media + - ${TEMP_PATH}/transcodecache:/transcodecache + - ${TEMP_PATH}/torrents/downloads:/downloads + command: '-u "${UID}:${GID}:${SMB_USER}:${SMB_USER}:${SMB_PASS}" -s "Media:/mnt/Media:rw:${SMB_USER}" -s "TranscodeCache:/transcodecache:rw:${SMB_USER}" -s "Downloads:/downloads:rw:${SMB_USER}"' + restart: unless-stopped diff --git a/torrenting/torrenting.env_template b/torrenting/torrenting.env_template new file mode 100644 index 0000000..acc6810 --- /dev/null +++ b/torrenting/torrenting.env_template @@ -0,0 +1,12 @@ +#samba +SMB_USER= +SMB_PASS= +#vpn +VPN_USER= +VPN_PASS= +WG_COUNTRIES= +#ports +QBT_PUBLIC_PORT= +QBT_PRIVATE_PORT= +PROWLARR_PORT= +FLARESOLVERR_PORT= diff --git a/video.yml b/video/docker-compose.yml similarity index 91% rename from video.yml rename to video/docker-compose.yml index d386324..b113cc2 100644 --- a/video.yml +++ b/video/docker-compose.yml @@ -22,15 +22,6 @@ services: - /dev/dri:/dev/dri restart: unless-stopped - jellyfin-vue: #reimagined jellyfin frontent https://github.com/jellyfin/jellyfin-vue - image: ghcr.io/jellyfin/jellyfin-vue:unstable - container_name: jellyfin-vue - environment: - - DEFAULT_SERVERS=${JELLYFIN_SERVER} - ports: - - ${JELLYFIN_VUE_PORT}:80 - restart: unless-stopped - bazarr: # automatic subtitle management for media server https://docs.linuxserver.io/images/docker-bazarr/ image: lscr.io/linuxserver/bazarr:latest container_name: bazarr diff --git a/video/video.env_template b/video/video.env_template new file mode 100644 index 0000000..d8d2cc6 --- /dev/null +++ b/video/video.env_template @@ -0,0 +1,11 @@ +#jellyfin info +JELLYFIN_SERVER= + +#ports +JELLYFIN_PORT= +BAZARR_PORT= +RADARR_PORT= +SONARR_PORT= +TDARR_HTTP_PORT= +TDARR_SERVER_PORT= +OMBI_PORT=