diff --git a/group_vars/all.yml.dist b/group_vars/all.yml.dist index 7901fc9c..3cc16547 100644 --- a/group_vars/all.yml.dist +++ b/group_vars/all.yml.dist @@ -314,6 +314,8 @@ traefik_debug: "false" heimdall_available_externally: "false" heimdall_docker_image: linuxserver/heimdall:latest heimdall_data_directory: "{{ docker_home }}/heimdall" +heimdall_port_http: "10080" +heimdall_port_https: "10443" ### ### Transmission @@ -323,9 +325,13 @@ transmission_with_openvpn_available_externally: "false" transmission_config_directory: "{{ docker_home }}/transmission/config" transmission_download_directory: "{{ downloads_root }}" transmission_watch_directory: "{{ torrents_root }}" -transmission_user_id: 0 -transmission_group_id: 0 +transmission_user_id: "0" +transmission_group_id: "0" transmission_local_network: "192.168.1.0/24" +transmission_webui_port: "9092" +transmission_external_port: "51414" +transmission_openvpn_webui_port: "9093" +transmission_openvpn_external_port: "51415" ### ### Joomla @@ -333,6 +339,7 @@ transmission_local_network: "192.168.1.0/24" joomla_data_directory: "{{ docker_home }}/joomla" joomla_available_externally: "false" joomla_database_password: top_secret +joomla_port: "8181" ### ### pyLoad @@ -340,9 +347,9 @@ joomla_database_password: top_secret pyload_available_externally: "false" pyload_config_directory: "{{ docker_home }}/pyload" pyload_download_directory: "{{ downloads_root }}" -pyload_user_id: 0 -pyload_group_id: 0 - +pyload_user_id: "0" +pyload_group_id: "0" +pyload_port: "8000" ### ### Plex @@ -360,8 +367,9 @@ plex_photos_directory: "{{ photos_root }}" plex_photos_permissions: "rw" plex_music_directory: "{{ music_root }}" plex_music_permissions: "rw" -plex_user_id: 0 -plex_group_id: 0 +plex_user_id: "0" +plex_group_id: "0" +plex_port: "32400" ### ### Homebridge @@ -370,6 +378,7 @@ homebridge_available_externally: "false" homebridge_config_directory: "{{ docker_home }}/homebridge/config" homebridge_user_id: "0" homebridge_group_id: "0" +homebridge_port: "8087" ### ### Emby @@ -382,24 +391,26 @@ emby_movies_directory: "{{ movies_root }}" emby_movies_permissions: "rw" emby_tv_directory: "{{ tv_root }}" emby_tv_permissions: "rw" -emby_user_id: 0 -emby_group_id: 0 +emby_user_id: "0" +emby_group_id: "0" +emby_port_http: "8096" +emby_port_https: "8920" ### ### Tautulli ### tautulli_available_externally: "false" tautulli_config_directory: "{{ docker_home }}/tautulli/config" -tautulli_user_id: 0 -tautulli_group_id: 0 - +tautulli_user_id: "0" +tautulli_group_id: "0" +tautulli_port: "8185" ### ### Duplicati ### duplicati_available_externally: "false" duplicati_data_directory: "{{ docker_home }}/duplicati/config" - +duplicati_port: "8200" ### ### Sonarr @@ -408,9 +419,9 @@ sonarr_available_externally: "false" sonarr_data_directory: "{{ docker_home }}/sonarr/config" sonarr_tv_directory: "{{ tv_root }}" sonarr_download_directory: "{{ downloads_root }}" -sonarr_user_id: 0 -sonarr_group_id: 0 - +sonarr_user_id: "0" +sonarr_group_id: "0" +sonarr_port: "8989" ### ### Radarr @@ -419,8 +430,9 @@ radarr_available_externally: "false" radarr_movies_directory: "{{ movies_root }}" radarr_download_directory: "{{ downloads_root }}" radarr_data_directory: "{{ docker_home }}/radarr" -radarr_user_id: 0 -radarr_group_id: 0 +radarr_user_id: "0" +radarr_group_id: "0" +radarr_port: "7878" ### ### Bazarr @@ -431,7 +443,7 @@ bazarr_tv_directory: "{{ tv_root }}" bazarr_movies_directory: "{{ movies_root }}" bazarr_user_id: "0" bazarr_group_id: "0" - +bazarr_port: "6767" ### ### Couchpotato @@ -441,9 +453,9 @@ couchpotato_config_directory: "{{ docker_home }}/couchpotato/config" couchpotato_movies_directory: "{{ movies_root }}" couchpotato_downloads_directory: "{{ downloads_root }}" couchpotato_torrents_directory: "{{ torrents_root }}" -couchpotato_user_id: 0 -couchpotato_group_id: 0 - +couchpotato_user_id: "0" +couchpotato_group_id: "0" +couchpotato_port: "5050" ### ### Sickchill @@ -452,13 +464,15 @@ sickchill_available_externally: "false" sickchill_config_directory: "{{ docker_home }}/sickchill/config" sickchill_tv_directory: "{{ tv_root }}" sickchill_downloads_directory: "{{ downloads_root }}/completed" -sickchill_user_id: 0 -sickchill_group_id: 0 +sickchill_user_id: "0" +sickchill_group_id: "0" +sickchill_port: "8081" ### ### Netdata ### netdata_available_externally: "false" +netdata_port: "19999" ### ### OpenVPN @@ -471,16 +485,16 @@ openvpn_config_directory: "{{ docker_home }}/openvpn" ### portainer_available_externally: "false" portainer_data_directory: "{{ docker_home }}/portainer/config" - +portainer_port: "9000" ### ### ZNC ### znc_available_externally: "false" znc_data_directory: "{{ docker_home }}/znc" -znc_user_id: 0 -znc_group_id: 0 - +znc_user_id: "0" +znc_group_id: "0" +znc_port: "6677" ### ### Stats @@ -490,28 +504,37 @@ telegraf_data_directory: "{{ docker_home }}/telegraf" influxdb_data_directory: "{{ docker_home }}/influxdb" grafana_data_directory: "{{ docker_home }}/grafana" stat_collection_interval: 15s +grafana_influxdb_port: "8086" +grafana_port: "3000" ### ### Gitea ### gitea_available_externally: "false" gitea_data_directory: "{{ docker_home }}/gitea" +gitea_port_http: "3001" +gitea_port_ssh: "222" ### ### Glances ### glances_available_externally: "false" +glances_port_one: "61208" +glances_port_two: "61209" ### ### Nextcloud ### nextcloud_available_externally: "false" nextcloud_data_directory: "{{ docker_home }}/nextcloud" +nextcloud_port: "8080" ### ### nginx ### nginx_data_directory: "{{ docker_home }}/nginx" +nginx_port_http: "80" +nginx_port_https: "443" ### ### Guacamole @@ -520,6 +543,7 @@ guacamole_available_externally: "false" guacamole_docker_image: guacamole/guacamole:0.9.14 guacamole_guacd_docker_image: guacamole/guacd:0.9.14 guacamole_data_directory: "{{ docker_home }}/guacamole" +guacamole_port: "8090" ### ### Miniflux @@ -528,12 +552,14 @@ miniflux_available_externally: "false" miniflux_data_directory: "{{ docker_home }}/miniflux" miniflux_admin_username: admin miniflux_admin_password: supersecure +miniflux_port: "8070" ### ### Airsonic ### airsonic_available_externally: "false" airsonic_data_directory: "{{ docker_home }}/airsonic" +airsonic_port: "4040" ### ### CloudCmd @@ -543,6 +569,7 @@ cloudcmd_data_directory: "{{ docker_home }}/cloudcmd/config" cloudcmd_browse_directory: "/" cloudcmd_user_id: "0" cloudcmd_group_id: "0" +cloudcmd_port: "7373" ### ### Watchtower @@ -578,12 +605,14 @@ timemachine_port: "10445" minidlna_media_directory1: "{{ movies_root }}" minidlna_media_directory2: "{{ tv_root }}" minidlna_friendly_name: "{{ ansible_nas_hostname }}" +minidlna_port: "8201" ### ### get_iplayer ### get_iplayer_config_directory: "{{ docker_home }}/get_iplayer" get_iplayer_download_directory: "{{ tv_root }}/iplayer_downloads" +get_iplayer_port: "8182" ### ### mymediaforalexa @@ -596,18 +625,23 @@ mymediaforalexa_data_directory: "{{ docker_home }}/mymediaforalexa" ### jackett_available_externally: "false" jackett_data_directory: "{{ docker_home }}/jackett" +jackett_port: "9117" ### ### The Lounge ### thelounge_available_externally: "false" thelounge_data_directory: "{{ docker_home }}/thelounge" +thelounge_port_one: "113" +thelounge_port_two: "9002" ### ### Bitwarden ### bitwarden_available_externally: "false" bitwarden_data_directory: "{{ docker_home }}/bitwarden" +bitwarden_port_a: "19080" +bitwarden_port_b: "3012" # Keep this token secret, this is password to access admin area of your server! # This token can be anything, but it's recommended to use a long, randomly generated string of characters, @@ -624,6 +658,7 @@ bitwarden_allow_signups: false ### firefly_available_externally: "false" firefly_data_directory: "{{ docker_home }}/firefly" +firefly_port: "8066" ### ### Nzbget @@ -631,20 +666,24 @@ firefly_data_directory: "{{ docker_home }}/firefly" nzbget_available_externally: "false" nzbget_data_directory: "{{ docker_home }}/nzbget" nzbget_download_directory: "{{ downloads_root }}" -nzbget_user_id: 0 -nzbget_group_id: 0 +nzbget_user_id: "0" +nzbget_group_id: "0" +nzbget_port: "6789" ### ### Wallabag ### wallabag_available_externally: "false" wallabag_data_directory: "{{ docker_home }}/wallabag" +wallabag_port: "7780" ### ### Mosquitto ### mosquitto_available_externally: "false" mosquitto_data_directory: "{{ docker_home }}/mosquitto" +mosquitto_port_a: "1883" +mosquitto_port_b: "9001" ### ### Calibre @@ -653,6 +692,7 @@ calibre_available_externally: "false" calibre_data_directory: "{{ docker_home }}/calibre" calibre_user_id: "0" calibre_group_id: "0" +calibre_port: "8084" # To disable ebook conversion set calibre_ebook_conversion to "". To enable it set it to "linuxserver/calibre-web:calibre" calibre_ebook_conversion: "linuxserver/calibre-web:calibre" @@ -661,6 +701,7 @@ calibre_ebook_conversion: "linuxserver/calibre-web:calibre" ### homeassistant_available_externally: "false" homeassistant_data_directory: "{{ docker_home }}/homeassistant" +homeassistant_port: "8123" ### ### openHAB @@ -668,6 +709,8 @@ homeassistant_data_directory: "{{ docker_home }}/homeassistant" openhab_available_externally: "false" openhab_docker_image: openhab/openhab:latest openhab_data_directory: "{{ docker_home }}/openhab" +openhab_port_http: "7777" +openhab_port_https: "7778" ### ### Jellyfin @@ -682,3 +725,5 @@ jellyfin_tv_directory: "{{ tv_root }}" jellyfin_tv_permissions: "rw" jellyfin_user_id: "0" jellyfin_group_id: "0" +jellyfin_port_http: "8896" +jellyfin_port_https: "8928" \ No newline at end of file diff --git a/tasks/airsonic.yml b/tasks/airsonic.yml index c28bbf57..fe93a3a7 100644 --- a/tasks/airsonic.yml +++ b/tasks/airsonic.yml @@ -19,12 +19,12 @@ - "{{ samba_shares_root }}/music:/airsonic/music:rw" - "{{ samba_shares_root }}/podcasts:/airsonic/podcasts:rw" ports: - - "4040:4040" + - "{{ airsonic_port }}:4040" restart_policy: unless-stopped memory: 1g labels: traefik.backend: "airsonic" traefik.frontend.rule: "Host:airsonic.{{ ansible_nas_domain }}" traefik.enable: "{{ airsonic_available_externally }}" - traefik.port: "4040" + traefik.port: "{{ airsonic_port }}" diff --git a/tasks/bazarr.yml b/tasks/bazarr.yml index ee8bd82a..62bd3116 100644 --- a/tasks/bazarr.yml +++ b/tasks/bazarr.yml @@ -16,7 +16,7 @@ - "{{ bazarr_movies_directory }}:/movies:rw" - "{{ bazarr_data_directory }}:/config:rw" ports: - - "6767:6767" + - "{{ bazarr_port }}:6767" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ bazarr_user_id }}" @@ -27,4 +27,4 @@ traefik.backend: "bazarr" traefik.frontend.rule: "Host:bazarr.{{ ansible_nas_domain }}" traefik.enable: "{{ bazarr_available_externally }}" - traefik.port: "6767" \ No newline at end of file + traefik.port: "{{ bazarr_port }}" \ No newline at end of file diff --git a/tasks/bitwarden.yml b/tasks/bitwarden.yml index 07f523cc..a8d9aad2 100644 --- a/tasks/bitwarden.yml +++ b/tasks/bitwarden.yml @@ -11,8 +11,8 @@ image: mprasil/bitwarden:latest pull: true ports: - - "19080:80" - - "3012:3012" + - "{{ bitwarden_port_a }}:80" + - "{{ bitwarden_port_b }}:3012" volumes: - "{{ bitwarden_data_directory }}:/data:rw" env: @@ -23,9 +23,9 @@ labels: traefik.web.frontend.rule: "Host:bitwarden.{{ ansible_nas_domain }}" traefik.enable: "{{ bitwarden_available_externally }}" - traefik.web.port: "80" + traefik.web.port: "bitwarden_port_a" traefik.hub.frontend.rule: "Host:bitwarden.{{ ansible_nas_domain }};Path:/notifications/hub" - traefik.hub.port: "3012" + traefik.hub.port: "bitwarden_port_b" traefik.hub.protocol: "ws" restart_policy: unless-stopped #memory: 1g diff --git a/tasks/calibre.yml b/tasks/calibre.yml index f42e0dc1..8545cec6 100644 --- a/tasks/calibre.yml +++ b/tasks/calibre.yml @@ -19,11 +19,11 @@ PGID: "{{ calibre_group_id }}" DOCKER_MODS: "{{ calibre_ebook_conversion }}" ports: - - "8084:8083" + - "{{ calibre_port }}:8083" restart_policy: unless-stopped labels: traefik.backend: "calibre" traefik.frontend.rule: "Host:calibre.{{ ansible_nas_domain }}" traefik.enable: "{{ calibre_available_externally }}" - traefik.port: "8083" + traefik.port: "{{ calibre_port }} " memory: 1g \ No newline at end of file diff --git a/tasks/cloudcmd.yml b/tasks/cloudcmd.yml index 6eed807c..6fe6d29b 100644 --- a/tasks/cloudcmd.yml +++ b/tasks/cloudcmd.yml @@ -15,7 +15,7 @@ - "{{ cloudcmd_data_directory }}:/config:rw" - "{{ cloudcmd_browse_directory }}:/mnt/fs" ports: - - "7373:8000" + - "{{ cloudcmd_port }}:8000" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ cloudcmd_user_id }}" @@ -26,4 +26,4 @@ traefik.backend: "cloudcmd" traefik.frontend.rule: "Host:cloudcmd.{{ ansible_nas_domain }}" traefik.enable: "{{ cloudcmd_available_externally }}" - traefik.port: "8000" \ No newline at end of file + traefik.port: "{{ cloudcmd_port }}" \ No newline at end of file diff --git a/tasks/couchpotato.yml b/tasks/couchpotato.yml index 04dacb7b..b33893ab 100644 --- a/tasks/couchpotato.yml +++ b/tasks/couchpotato.yml @@ -18,7 +18,7 @@ - "{{ couchpotato_movies_directory }}:/movies:rw" - "{{ couchpotato_torrents_directory }}:/torrents:rw" ports: - - "5050:5050" + - "{{ couchpotato_port }}:5050" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ couchpotato_user_id }}" @@ -29,4 +29,4 @@ traefik.backend: "couchpotato" traefik.frontend.rule: "Host:couchpotato.{{ ansible_nas_domain }}" traefik.enable: "{{ couchpotato_available_externally }}" - traefik.port: "5050" \ No newline at end of file + traefik.port: "{{ couchpotato_port }}" \ No newline at end of file diff --git a/tasks/duplicati.yml b/tasks/duplicati.yml index 3b6145e2..cf7778bf 100644 --- a/tasks/duplicati.yml +++ b/tasks/duplicati.yml @@ -12,7 +12,7 @@ image: linuxserver/duplicati pull: true ports: - - "8200:8200" + - "{{ duplicati_port }}:8200" volumes: - "{{ duplicati_data_directory }}:/config:rw" - "{{ samba_shares_root }}:/source/shares:ro" @@ -24,4 +24,4 @@ traefik.backend: "duplicati" traefik.frontend.rule: "Host:duplicati.{{ ansible_nas_domain }}" traefik.enable: "{{ duplicati_available_externally }}" - traefik.port: "8200" + traefik.port: "{{ duplicati_port }}" diff --git a/tasks/emby.yml b/tasks/emby.yml index fdded57c..101434d4 100644 --- a/tasks/emby.yml +++ b/tasks/emby.yml @@ -15,8 +15,8 @@ - "{{ emby_movies_directory }}:/movies:{{ emby_movies_permissions }}" - "{{ emby_tv_directory }}:/tv:{{ emby_tv_permissions }}" ports: - - "8096:8096" # HTTP port - - "8920:8920" # HTTPS port + - "{{ emby_port_http }}:8096" + - "{{ emby_port_https }}:8920" network_mode: host env: TZ: "{{ ansible_nas_timezone }}" @@ -28,4 +28,4 @@ traefik.backend: "emby" traefik.frontend.rule: "Host:emby.{{ ansible_nas_domain }}" traefik.enable: "{{ emby_available_externally }}" - traefik.port: "8096" + traefik.port: "{{ emby_port_https }}" \ No newline at end of file diff --git a/tasks/firefly.yml b/tasks/firefly.yml index c72a7a15..ed5a0213 100644 --- a/tasks/firefly.yml +++ b/tasks/firefly.yml @@ -38,7 +38,7 @@ links: - firefly-mysql:db ports: - - "8066:80" + - "{{ firefly_port }}:80" env: APP_ENV: "local" APP_KEY: "S0m3R@nd0mString0f32Ch@rsEx@ct1y" @@ -53,4 +53,4 @@ traefik.backend: "firefly" traefik.frontend.rule: "Host:firefly.{{ ansible_nas_domain }}" traefik.enable: "{{ firefly_available_externally }}" - traefik.port: "8080" + traefik.port: "{{ firefly_port }}" \ No newline at end of file diff --git a/tasks/get_iplayer.yml b/tasks/get_iplayer.yml index 85a4ec68..2a25a4b0 100644 --- a/tasks/get_iplayer.yml +++ b/tasks/get_iplayer.yml @@ -15,7 +15,7 @@ - "{{ get_iplayer_config_directory }}:/root/.get_iplayer:rw" - "{{ get_iplayer_download_directory }}:/root/output:rw" ports: - - "8182:8181" + - "{{ get_iplayer_port }}:8181" restart_policy: unless-stopped memory: 1g diff --git a/tasks/gitea.yml b/tasks/gitea.yml index c44cb26d..8a3f3ef0 100644 --- a/tasks/gitea.yml +++ b/tasks/gitea.yml @@ -51,8 +51,8 @@ volumes: - "{{ gitea_data_directory }}/gitea:/data:rw" ports: - - "3001:3000" - - "222:22" + - "{{ gitea_port_http }}:3000" + - "{{ gitea_port_ssh }}:22" env: DB_TYPE: "mysql" DB_HOST: "db:3306" @@ -61,8 +61,8 @@ DB_PASSWD: "gitea" RUN_MODE: "prod" SSH_DOMAIN: "{{ ansible_nas_hostname }}" - SSH_PORT: "222" - ROOT_URL: "http://{{ ansible_nas_hostname }}:3001/" + SSH_PORT: "{{ gitea_port_ssh }}" + ROOT_URL: "http://{{ ansible_nas_hostname }}:{{ gitea_port_http }}/" USER_UID: "1309" USER_GID: "1309" restart_policy: unless-stopped @@ -71,4 +71,4 @@ traefik.backend: "gitea" traefik.frontend.rule: "Host:gitea.{{ ansible_nas_domain }}" traefik.enable: "{{ gitea_available_externally }}" - traefik.port: "3000" + traefik.port: "{{ gitea_port_http }}" diff --git a/tasks/glances.yml b/tasks/glances.yml index 8e3808c2..ce1659a4 100644 --- a/tasks/glances.yml +++ b/tasks/glances.yml @@ -4,8 +4,8 @@ image: nicolargo/glances pull: true ports: - - "61208:61208" - - "61209:61209" + - "{{ glances_port_one }}:61208" + - "{{ glances_port_two }}:61209" volumes: #- "/glances.conf:/glances/conf/glances.conf" - "/var/run/docker.sock:/var/run/docker.sock:ro" @@ -20,4 +20,4 @@ traefik.backend: "glances" traefik.frontend.rule: "Host:glances.{{ ansible_nas_domain }}" traefik.enable: "{{ glances_available_externally }}" - traefik.port: "61208" + traefik.port: "{{ glances_port_one }}" \ No newline at end of file diff --git a/tasks/guacamole.yml b/tasks/guacamole.yml index 92578602..09ec4c5e 100644 --- a/tasks/guacamole.yml +++ b/tasks/guacamole.yml @@ -44,7 +44,7 @@ - guacamole-mysql:mysql - guacamole-guacd:guacd ports: - - "8090:8080" + - "{{ guacamole_port }}:8080" env: MYSQL_DATABASE: "guacamole" MYSQL_USER: "guacamole-user" @@ -55,4 +55,4 @@ traefik.backend: "guacamole" traefik.frontend.rule: "Host:guacamole.{{ ansible_nas_domain }}" traefik.enable: "{{ guacamole_available_externally }}" - traefik.port: "8080" + traefik.port: "{{ guacamole_port }}" \ No newline at end of file diff --git a/tasks/heimdall.yml b/tasks/heimdall.yml index 4ff0397a..dc7132f3 100644 --- a/tasks/heimdall.yml +++ b/tasks/heimdall.yml @@ -36,12 +36,12 @@ PGID: "1310" TZ: "{{ ansible_nas_timezone }}" ports: - - "10080:80" - - "10443:443" + - "{{ heimdall_port_http }}:80" + - "{{ heimdall_port_https }}:443" restart_policy: unless-stopped memory: 1g labels: traefik.backend: "heimdall" traefik.frontend.rule: "Host:heimdall.{{ ansible_nas_domain }}" traefik.enable: "{{ heimdall_available_externally }}" - traefik.port: "80" + traefik.port: "{{ heimdall_port_http }}" \ No newline at end of file diff --git a/tasks/homeassistant.yml b/tasks/homeassistant.yml index 3b615e3d..ece0fe81 100644 --- a/tasks/homeassistant.yml +++ b/tasks/homeassistant.yml @@ -13,7 +13,7 @@ volumes: - "{{ homeassistant_data_directory }}/config:/config:rw" ports: - - "8123:8123" + - "{{ homeassistant_port }}:8123" restart_policy: unless-stopped env: TZ: "{{ ansible_nas_timezone }}" @@ -21,6 +21,6 @@ traefik.backend: "homeassistant" traefik.frontend.rule: "Host:homeassistant.{{ ansible_nas_domain }}" traefik.enable: "{{ homeassistant_available_externally }}" - traefik.port: "8123" + traefik.port: "{{ homeassistant_port }}" traefik.frontend.headers.SSLRedirect: "true" memory: 1g diff --git a/tasks/homebridge.yml b/tasks/homebridge.yml index 20e63ec0..df43e4a9 100644 --- a/tasks/homebridge.yml +++ b/tasks/homebridge.yml @@ -19,11 +19,11 @@ PGID: "{{ homebridge_group_id }}" PUID: "{{ homebridge_user_id }}" HOMEBRIDGE_CONFIG_UI: "1" - HOMEBRIDGE_CONFIG_UI_PORT: "8087" + HOMEBRIDGE_CONFIG_UI_PORT: "{{ homebridge_port }}" restart_policy: unless-stopped memory: 1g labels: traefik.backend: "homebridge" traefik.frontend.rule: "Host:homebridge.{{ ansible_nas_domain }}" traefik.enable: "{{ homebridge_available_externally }}" - traefik.port: "8087" + traefik.port: "{{ homebridge_port }}" diff --git a/tasks/jackett.yml b/tasks/jackett.yml index 02c09e9f..9023ae3b 100644 --- a/tasks/jackett.yml +++ b/tasks/jackett.yml @@ -15,7 +15,7 @@ - "/etc/localtime:/etc/localtime:ro" - "{{ torrents_root }}:/downloads" ports: - - "9117:9117" + - "{{ jackett_port }}:9117" env: TZ: "{{ ansible_nas_timezone }}" restart_policy: unless-stopped @@ -23,4 +23,4 @@ traefik.backend: "jackett" traefik.frontend.rule: "Host:jackett.{{ ansible_nas_domain }}" traefik.enable: "{{ jackett_available_externally }}" - traefik.port: "9117" \ No newline at end of file + traefik.port: "{{ jackett_port }}" \ No newline at end of file diff --git a/tasks/jellyfin.yml b/tasks/jellyfin.yml index 8f864b40..34251144 100644 --- a/tasks/jellyfin.yml +++ b/tasks/jellyfin.yml @@ -15,8 +15,8 @@ - "{{ jellyfin_movies_directory }}:/movies:{{ jellyfin_movies_permissions }}" - "{{ jellyfin_tv_directory }}:/tv:{{ jellyfin_tv_permissions }}" ports: - - "8896:8096" # HTTP port - - "8928:8920" # HTTPS port + - "{{ jellyfin_port_http }}:8096" + - "{{ jellyfin_port_https }}:8920" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ jellyfin_user_id }}" @@ -27,4 +27,4 @@ traefik.backend: "jellyfin" traefik.frontend.rule: "Host:jellyfin.{{ ansible_nas_domain }}" traefik.enable: "{{ jellyfin_available_externally }}" - traefik.port: "8096" + traefik.port: "{{ jellyfin_port_https }}" \ No newline at end of file diff --git a/tasks/joomla.yml b/tasks/joomla.yml index 41888ff5..87d0df29 100644 --- a/tasks/joomla.yml +++ b/tasks/joomla.yml @@ -29,7 +29,7 @@ volumes: - "{{ joomla_data_directory }}:/var/www/html:rw" ports: - - "8181:80" + - "{{ joomla_port }}:80" links: - "joomla_mysql:mysql" env: @@ -42,4 +42,4 @@ traefik.backend: "joomla" traefik.frontend.rule: "Host: joomla.{{ ansible_nas_domain }}" traefik.enable: "{{ joomla_available_externally }}" - traefik.port: "80" + traefik.port: "{{ joomla_port }}" \ No newline at end of file diff --git a/tasks/minidlna.yml b/tasks/minidlna.yml index 58ef7129..9402700d 100644 --- a/tasks/minidlna.yml +++ b/tasks/minidlna.yml @@ -7,12 +7,12 @@ - "{{ minidlna_media_directory1 }}:/media1:rw" - "{{ minidlna_media_directory2 }}:/media2:rw" ports: - - "8201:8201" + - "{{ minidlna_port }}:8201" env: MINIDLNA_MEDIA_DIR1: "/media1" MINIDLNA_MEDIA_DIR2: "/media2" MINIDLNA_FRIENDLY_NAME: "{{ minidlna_friendly_name }}" - MINIDLNA_PORT: "8201" + MINIDLNA_PORT: "{{ minidlna_port }}" network_mode: host restart_policy: unless-stopped memory: 1g diff --git a/tasks/miniflux.yml b/tasks/miniflux.yml index 5d497a17..1feef495 100644 --- a/tasks/miniflux.yml +++ b/tasks/miniflux.yml @@ -26,7 +26,7 @@ links: - miniflux-postgres:db ports: - - "8070:8080" + - "{{ miniflux_port }}:8080" env: DATABASE_URL: "postgres://miniflux:supersecure@db/miniflux?sslmode=disable" RUN_MIGRATIONS: "1" @@ -39,4 +39,4 @@ traefik.backend: "miniflux" traefik.frontend.rule: "Host:miniflux.{{ ansible_nas_domain }}" traefik.enable: "{{ miniflux_available_externally }}" - traefik.port: "8080" + traefik.port: "{{ miniflux_port }}" \ No newline at end of file diff --git a/tasks/mosquitto.yml b/tasks/mosquitto.yml index 4a2ae235..1d1e2232 100644 --- a/tasks/mosquitto.yml +++ b/tasks/mosquitto.yml @@ -23,7 +23,7 @@ - "{{ mosquitto_data_directory }}/data:/mosquitto/data:rw" - "{{ mosquitto_data_directory }}/log:/mosquitto/log:rw" ports: - - "1883:1883" - - "9001:9001" + - "{{ mosquitto_port_a }}:1883" + - "{{ mosquitto_port_b }}:9001" restart_policy: unless-stopped memory: 1g diff --git a/tasks/netdata.yml b/tasks/netdata.yml index d4c7a5c8..2ece6e16 100644 --- a/tasks/netdata.yml +++ b/tasks/netdata.yml @@ -12,7 +12,7 @@ state: started pull: true ports: - - "19999:19999" + - "{{ netdata_port }}:19999" volumes: - "/proc:/host/proc:ro" - "/sys:/host/sys:ro" @@ -29,4 +29,4 @@ traefik.backend: "netdata" traefik.frontend.rule: "Host:netdata.{{ ansible_nas_domain }}" traefik.enable: "{{ netdata_available_externally }}" - traefik.port: "19999" \ No newline at end of file + traefik.port: "{{ netdata_port }}" \ No newline at end of file diff --git a/tasks/nextcloud.yml b/tasks/nextcloud.yml index 63789d5d..2bd3c05b 100644 --- a/tasks/nextcloud.yml +++ b/tasks/nextcloud.yml @@ -32,7 +32,7 @@ volumes: - "{{ nextcloud_data_directory }}/nextcloud:/var/www/html:rw" ports: - - "8080:80" + - "{{ nextcloud_port }}:80" env: MYSQL_HOST: "mysql" MYSQL_DATABASE: "nextcloud" @@ -45,4 +45,4 @@ traefik.backend: "nextcloud" traefik.frontend.rule: "Host:nextcloud.{{ ansible_nas_domain }}" traefik.enable: "{{ nextcloud_available_externally }}" - traefik.port: "80" + traefik.port: "{{ nextcloud_port }}" \ No newline at end of file diff --git a/tasks/nginx.yml b/tasks/nginx.yml index 80b30574..56cd23a7 100644 --- a/tasks/nginx.yml +++ b/tasks/nginx.yml @@ -15,8 +15,8 @@ image: jwilder/nginx-proxy pull: true ports: - - "80:80" - - "443:443" + - "{{ nginx_port_http }}:80" + - "{{ nginx_port_https }}:443" volumes: - "{{ nginx_data_directory }}/certs:/etc/nginx/certs:ro" - "{{ nginx_data_directory }}/vhost.d:/etc/nginx/vhost.d:rw" diff --git a/tasks/nzbget.yml b/tasks/nzbget.yml index 8d94cbf0..3731ea14 100644 --- a/tasks/nzbget.yml +++ b/tasks/nzbget.yml @@ -15,7 +15,7 @@ - "{{ nzbget_download_directory }}:/downloads:rw" - "{{ nzbget_data_directory }}:/config:rw" ports: - - "6789:6789" + - "{{ nzbget_port }}:6789" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ nzbget_user_id }}" @@ -26,4 +26,4 @@ traefik.backend: "nzbget" traefik.frontend.rule: "Host:nzbget.{{ ansible_nas_domain }}" traefik.enable: "{{ nzbget_available_externally }}" - traefik.port: "6789" \ No newline at end of file + traefik.port: "{{ nzbget_port }}" \ No newline at end of file diff --git a/tasks/openhab.yml b/tasks/openhab.yml index 312f60c8..f7ecef17 100644 --- a/tasks/openhab.yml +++ b/tasks/openhab.yml @@ -40,12 +40,12 @@ - "/etc/localtime:/etc/localtime:ro" - "/etc/timezone:/etc/timezone:ro" env: - OPENHAB_HTTP_PORT: "7777" - OPENHAB_HTTPS_PORT: "7778" + OPENHAB_HTTP_PORT: "{{ openhab_port_http }}" + OPENHAB_HTTPS_PORT: "{{ openhab_port_https }}" restart_policy: unless-stopped memory: 1g labels: traefik.backend: "openhab" traefik.frontend.rule: "Host:openhab.{{ ansible_nas_domain }}" traefik.enable: "{{ openhab_available_externally }}" - traefik.port: "80" + traefik.port: "{{ openhab_port_https }}" diff --git a/tasks/portainer.yml b/tasks/portainer.yml index 3ac0bf39..8f7da5e6 100644 --- a/tasks/portainer.yml +++ b/tasks/portainer.yml @@ -16,12 +16,11 @@ - "/var/run/docker.sock:/var/run/docker.sock:ro" - "/etc/timezone:/etc/timezone:ro" ports: - - "9000:9000" + - "{{ portainer_port }}:9000" restart_policy: unless-stopped memory: 1g labels: traefik.backend: "portainer" traefik.frontend.rule: "Host:portainer.{{ ansible_nas_domain }}" traefik.enable: "{{ portainer_available_externally }}" - traefik.port: "9000" - + traefik.port: "{{ portainer_port }}" \ No newline at end of file diff --git a/tasks/pyload.yml b/tasks/pyload.yml index 379e22a7..baa1aa1a 100644 --- a/tasks/pyload.yml +++ b/tasks/pyload.yml @@ -17,7 +17,7 @@ - "{{ pyload_config_directory }}:/opt/pyload/pyload-config:rw" - "{{ pyload_download_directory }}:/opt/pyload/Downloads:rw" ports: - - "8000:8000" + - "{{ pyload_port }}:8000" env: TZ: "{{ ansible_nas_timezone }}" UID: "{{ pyload_user_id }}" @@ -28,4 +28,4 @@ traefik.backend: "pyload" traefik.frontend.rule: "Host:pyload.{{ ansible_nas_domain }}" traefik.enable: "{{ pyload_available_externally }}" - traefik.port: "8000" + traefik.port: "{{ pyload_port }}" diff --git a/tasks/radarr.yml b/tasks/radarr.yml index 9e5ba6fb..60adc94c 100644 --- a/tasks/radarr.yml +++ b/tasks/radarr.yml @@ -16,7 +16,7 @@ - "{{ radarr_download_directory }}/complete:/downloads:rw" - "{{ radarr_data_directory }}:/config:rw" ports: - - "7878:7878" + - "{{ radarr_port }}:7878" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ radarr_user_id }}" @@ -27,4 +27,4 @@ traefik.backend: "radarr" traefik.frontend.rule: "Host:radarr.{{ ansible_nas_domain }}" traefik.enable: "{{ radarr_available_externally }}" - traefik.port: "7878" \ No newline at end of file + traefik.port: "{{ radarr_port }}" \ No newline at end of file diff --git a/tasks/sickchill.yml b/tasks/sickchill.yml index aa862dfe..c3555014 100644 --- a/tasks/sickchill.yml +++ b/tasks/sickchill.yml @@ -23,7 +23,7 @@ - "{{ sickchill_downloads_directory }}:/downloads:rw" - "{{ sickchill_tv_directory }}:/tv:rw" ports: - - "8081:8081" + - "{{ sickchill_port }}:8081" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ sickchill_user_id }}" @@ -34,4 +34,4 @@ traefik.backend: "sickchill" traefik.frontend.rule: "Host:sickchill.{{ ansible_nas_domain }}" traefik.enable: "{{ sickchill_available_externally }}" - traefik.port: "8081" + traefik.port: "{{ sickchill_port }}" diff --git a/tasks/sonarr.yml b/tasks/sonarr.yml index 40d2858a..c9b86e94 100644 --- a/tasks/sonarr.yml +++ b/tasks/sonarr.yml @@ -16,7 +16,7 @@ - "{{ sonarr_download_directory }}/complete:/downloads:rw" - "{{ sonarr_data_directory }}:/config:rw" ports: - - "8989:8989" + - "{{ sonarr_port }}:8989" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ sonarr_user_id }}" @@ -27,4 +27,4 @@ traefik.backend: "sonarr" traefik.frontend.rule: "Host:sonarr.{{ ansible_nas_domain }}" traefik.enable: "{{ sonarr_available_externally }}" - traefik.port: "8989" \ No newline at end of file + traefik.port: "{{ sonarr_port }}" \ No newline at end of file diff --git a/tasks/stats.yml b/tasks/stats.yml index c9870b51..0f8c2f77 100644 --- a/tasks/stats.yml +++ b/tasks/stats.yml @@ -28,7 +28,7 @@ volumes: - "{{ influxdb_data_directory }}:/var/lib/influxdb:rw" ports: - - "8086:8086" + - "{{ grafana_influxdb_port }}:8086" restart_policy: unless-stopped env: INFLUXDB_LOGGING_LEVEL: "error" @@ -64,11 +64,11 @@ - "{{ grafana_data_directory }}/data:/var/lib/grafana:rw" - "{{ grafana_data_directory }}/config/provisioning:/etc/grafana/provisioning:ro" ports: - - "3000:3000" + - "{{ grafana_port }}:3000" restart_policy: unless-stopped memory: 1g labels: traefik.backend: "grafana" traefik.frontend.rule: "Host:grafana.{{ ansible_nas_domain }}" traefik.enable: "{{ grafana_available_externally }}" - traefik.port: "3000" \ No newline at end of file + traefik.port: "{{ grafana_port }}" \ No newline at end of file diff --git a/tasks/tautulli.yml b/tasks/tautulli.yml index 187faf96..c2774252 100644 --- a/tasks/tautulli.yml +++ b/tasks/tautulli.yml @@ -15,7 +15,9 @@ volumes: - "{{ tautulli_config_directory }}:/config:rw" - "{{ plex_logs }}:/logs:ro" - network_mode: "host" + #network_mode: "host" + ports: + - "{{ tautulli_port }}:8181" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ tautulli_user_id }}" @@ -26,4 +28,4 @@ traefik.backend: "tautulli" traefik.frontend.rule: "Host:tautulli.{{ ansible_nas_domain }}" traefik.enable: "{{ tautulli_available_externally }}" - traefik.port: "8181" \ No newline at end of file + traefik.port: "{{ tautulli_port }}" \ No newline at end of file diff --git a/tasks/thelounge.yml b/tasks/thelounge.yml index 15311b56..25dec09c 100644 --- a/tasks/thelounge.yml +++ b/tasks/thelounge.yml @@ -19,8 +19,8 @@ image: thelounge/thelounge:latest pull: true ports: - - "113:9001" - - "9000:9000" + - "{{ thelounge_port_one }}:9001" + - "{{ thelounge_port_two }}:9000" volumes: - "{{ thelounge_data_directory }}:/var/opt/thelounge" - "/var/run/dbus:/var/run/dbus" @@ -30,5 +30,5 @@ traefik.backend: "thelounge" traefik.frontend.rule: "Host:thelounge.{{ ansible_nas_domain }}" traefik.enable: "{{ thelounge_available_externally }}" - traefik.port: "9000" + traefik.port: "thelounge_port_two" diff --git a/tasks/transmission.yml b/tasks/transmission.yml index 16c08ee6..c8205038 100644 --- a/tasks/transmission.yml +++ b/tasks/transmission.yml @@ -19,8 +19,8 @@ - "{{ transmission_download_directory }}:/downloads:rw" - "{{ transmission_watch_directory }}:/watch:rw" ports: - - "9092:9091" - - "51414:51413" + - "{{ transmission_webui_port }}:9091" + - "{{ transmission_external_port }}:51413" env: TZ: "{{ ansible_nas_timezone }}" PUID: "{{ transmission_user_id }}" @@ -31,4 +31,4 @@ traefik.backend: "transmission" traefik.frontend.rule: "Host:transmission.{{ ansible_nas_domain }}" traefik.enable: "{{ transmission_available_externally }}" - traefik.port: "9091" + traefik.port: "{{ transmission_webui_port }}" diff --git a/tasks/transmission_with_openvpn.yml b/tasks/transmission_with_openvpn.yml index 9bb8ad1f..67a227e1 100644 --- a/tasks/transmission_with_openvpn.yml +++ b/tasks/transmission_with_openvpn.yml @@ -24,8 +24,8 @@ - "{{ transmission_watch_directory }}:/storage/watch:rw" - "/etc/timezone:/etc/timezone:ro" ports: - - "9091:9091" - - "51413:51413" + - "{{ transmission_openvpn_webui_port }}:9091" + - "{{ transmission_openvpn_external_port }}:51413" env: TRANSMISSION_HOME: "/config" TRANSMISSION_DOWNLOAD_DIR: "/storage/downloads/complete" @@ -49,4 +49,4 @@ traefik.backend: "transmission-openvpn" traefik.frontend.rule: "Host:transmission-openvpn.{{ ansible_nas_domain }}" traefik.enable: "{{ transmission_with_openvpn_available_externally }}" - traefik.port: "9091" \ No newline at end of file + traefik.port: "{{ transmission_openvpn_webui_port }}" \ No newline at end of file diff --git a/tasks/wallabag.yml b/tasks/wallabag.yml index 993e5aec..cf26b086 100644 --- a/tasks/wallabag.yml +++ b/tasks/wallabag.yml @@ -15,7 +15,7 @@ - "{{ wallabag_data_directory }}/data:/var/www/wallabag/data:rw" - "{{ wallabag_data_directory }}/images:/var/www/wallabag/web/assets/images:rw" ports: - - "7780:80" + - "{{ wallabag_port }}:80" env: SYMFONY__ENV__DOMAIN_NAME: "https://wallabag.{{ ansible_nas_domain }}" restart_policy: unless-stopped @@ -23,6 +23,6 @@ traefik.backend: "wallabag" traefik.frontend.rule: "Host:wallabag.{{ ansible_nas_domain }}" traefik.enable: "{{ wallabag_available_externally }}" - traefik.port: "80" + traefik.port: "{{ wallabag_port }}" traefik.frontend.headers.SSLRedirect: "true" memory: 1g \ No newline at end of file diff --git a/tasks/znc.yml b/tasks/znc.yml index 2b5b5c09..7e2e357f 100644 --- a/tasks/znc.yml +++ b/tasks/znc.yml @@ -15,7 +15,7 @@ - "{{ znc_data_directory }}:/znc-data:rw" - "/etc/timezone:/etc/timezone:ro" ports: - - "6677:6677" + - "{{ znc_port }}:6677" env: PUID: "{{ znc_user_id }}" PGID: "{{ znc_group_id }}" @@ -25,4 +25,4 @@ traefik.backend: "znc" traefik.frontend.rule: "Host:znc.{{ ansible_nas_domain }}" traefik.enable: "{{ znc_available_externally }}" - traefik.port: "6677" \ No newline at end of file + traefik.port: "{{ znc_port }}" \ No newline at end of file