diff --git a/docker/compose/arrs.yml b/docker/compose/arrs.yml index d4c2afc..c718114 100644 --- a/docker/compose/arrs.yml +++ b/docker/compose/arrs.yml @@ -1,12 +1,13 @@ --- -version: "3.7" + +version: "3.8" services: transmission: image: haugene/transmission-openvpn:latest container_name: transmission restart: always ports: - - "9091:9091" + - 8091:9091 cap_add: - NET_ADMIN environment: @@ -15,24 +16,24 @@ services: - OPENVPN_CONFIG=$CONFIG - OPENVPN_USERNAME=$USER - OPENVPN_PASSWORD=$PASSWORD + - WEBPROXY_ENABLED=false - LOCAL_NETWORK=$NETWORK - TRANSMISSION_SPEED_LIMIT_UP=$SPEED_LIMIT_UP - TRANSMISSION_SPEED_LIMIT_UP_ENABLED=true - - WEBPROXY_ENABLED=false - LOG_TO_STDOUT=true - TRANSMISSION_WEB_UI=flood-for-transmission - - PUID=1000 - - PGID=1000 volumes: - - $DOWNLOADS:/data + - $DOWNLOADS/completed:/data/completed + - $DOWNLOADS/incomplete:/data/incomplete - /etc/localtime:/etc/localtime:ro + - transmission_config:/config radarr: image: linuxserver/radarr:latest container_name: radarr restart: always ports: - - "7878:7878" + - 7878:7878 environment: - PGID=1000 - PUID=1000 @@ -40,14 +41,14 @@ services: volumes: - radarr_config:/config - $MOVIES:/movies - - $DOWNLOADS:/downloads + - $DOWNLOADS/completed:/data/completed sonarr: image: linuxserver/sonarr:latest container_name: sonarr restart: always ports: - - "8989:8989" + - 8989:8989 environment: - PGID=1000 - PUID=1000 @@ -55,14 +56,14 @@ services: volumes: - sonarr_config:/config - $TV:/tv - - $DOWNLOADS:/downloads + - $DOWNLOADS/completed:/data/completed prowlarr: image: linuxserver/prowlarr:develop container_name: prowlarr restart: always ports: - - "9696:9696" + - 9696:9696 cap_add: - NET_ADMIN environment: @@ -73,10 +74,61 @@ services: - prowlarr_config:/config - $DOWNLOADS/watch:/downloads + overseerr: + image: lscr.io/linuxserver/overseerr:latest + container_name: overseerr + environment: + - PUID=1000 + - PGID=1000 + - TZ=$TZ + volumes: + - overseerr_config:/config + ports: + - 5055:5055 + restart: unless-stopped + + lidarr: + image: lscr.io/linuxserver/lidarr:latest + container_name: lidarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=$TZ + volumes: + - lidarr_config:/config + - $MUSIC:/music + - $DOWNLOADS/completed:/data/completed + ports: + - 8686:8686 + restart: unless-stopped + + playlistSync: + image: rnagabhyrava/plexplaylistsync:latest + container_name: playlistSync + environment: + - PLEX_URL=$PLEX_URL + - PLEX_TOKEN=$PLEX_TOKEN + - WRITE_MISSING_AS_CSV=0 + - APPEND_SERVICE_SUFFIX=0 + - ADD_PLAYLIST_POSTER=0 + - ADD_PLAYLIST_DESCRIPTION=1 + - APPEND_INSTEAD_OF_SYNC=0 + - SECONDS_TO_WAIT=84000 + - SPOTIFY_CLIENT_ID=$SPOTIFY_CLIENT_ID + - SPOTIFY_CLIENT_SECRET=$SPOTIFY_CLIENT_SECRET + - SPOTIFY_USER_ID=$SPOTIFY_USER_ID + restart: unless-stopped + volumes: radarr_config: driver: local sonarr_config: driver: local prowlarr_config: - driver: local \ No newline at end of file + driver: local + transmission_config: + driver: local + overseerr_config: + driver: local + lidarr_config: + driver: local diff --git a/docker/compose/dashy.yml b/docker/compose/dashy.yml new file mode 100644 index 0000000..6696892 --- /dev/null +++ b/docker/compose/dashy.yml @@ -0,0 +1,25 @@ +--- + +version: "3.8" +services: + dashy: + container_name: dashy + image: lissy93/dashy + volumes: + - public:/app/public + ports: + - 4000:80 + environment: + - NODE_ENV=production + restart: unless-stopped + + healthcheck: + test: ['CMD', 'node', '/app/services/healthcheck'] + interval: 1m30s + timeout: 10s + retries: 3 + start_period: 40s + +volumes: + public: + driver: local diff --git a/docker/compose/exposee.yml b/docker/compose/exposee.yml index 05bdf11..63225e8 100644 --- a/docker/compose/exposee.yml +++ b/docker/compose/exposee.yml @@ -1,83 +1,78 @@ --- -version: "3.7" + +version: "3.8" services: - transmission: - image: haugene/transmission-openvpn:latest - container_name: transmission - restart: always + nginx: + image: jc21/nginx-proxy-manager:latest + container_name: nginx + restart: unless-stopped ports: - - "8091:9091" + - 80:80 + - 443:443 + - 81:81 + environment: + DISABLE_IPV6: 'true' + TZ: $TZ + volumes: + - nginx_data:/data + - nginx_certs:/etc/letsencrypt + + authelia: + image: authelia/authelia:latest + container_name: authelia + volumes: + - authelia_config:/config + ports: + - 9091:9091 + restart: unless-stopped + healthcheck: + disable: true + environment: + - TZ=$TZ + depends_on: + - redis + + redis: + image: redis:alpine + container_name: redis + volumes: + - redis_data:/data + expose: + - 6379 + restart: unless-stopped + environment: + - TZ=$TZ + + fail2ban: + image: crazymax/fail2ban:latest + container_name: fail2ban cap_add: - NET_ADMIN + - NET_RAW + network_mode: host environment: - TZ=$TZ - - OPENVPN_PROVIDER=$PROVIDER - - OPENVPN_CONFIG=$CONFIG - - OPENVPN_USERNAME=$USER - - OPENVPN_PASSWORD=$PASSWORD - - WEBPROXY_ENABLED=false - - LOCAL_NETWORK=$NETWORK - - TRANSMISSION_SPEED_LIMIT_UP=$SPEED_LIMIT_UP - - TRANSMISSION_SPEED_LIMIT_UP_ENABLED=true - - LOG_TO_STDOUT=true - - TRANSMISSION_WEB_UI=flood-for-transmission + - VERBOSITY=-vv volumes: - - $DOWNLOADS:/data - - /etc/localtime:/etc/localtime:ro - - transmission_config:/config + - authelia_config:/remotelogs/authelia:ro + - nextcloud_aio_nextcloud:/remotelogs/nextcloud:ro + - gitea_app:/remotelogs/gitea:ro + - fail2ban_data:/data - radarr: - image: linuxserver/radarr:latest - container_name: radarr - restart: always - ports: - - "7878:7878" - environment: - - PGID=1000 - - PUID=1000 - - TZ=$TZ - volumes: - - radarr_config:/config - - $MOVIES:/movies - - $DOWNLOADS:/downloads - - sonarr: - image: linuxserver/sonarr:latest - container_name: sonarr - restart: always - ports: - - "8989:8989" - environment: - - PGID=1000 - - PUID=1000 - - TZ=$TZ - volumes: - - sonarr_config:/config - - $TV:/tv - - $DOWNLOADS:/downloads - - prowlarr: - image: linuxserver/prowlarr:develop - container_name: prowlarr - restart: always - ports: - - "9696:9696" - cap_add: - - NET_ADMIN - environment: - - PGID=1000 - - PUID=1000 - - TZ=$TZ - volumes: - - prowlarr_config:/config - - $DOWNLOADS/watch:/downloads + restart: unless-stopped volumes: - radarr_config: + nginx_data: driver: local - sonarr_config: + nginx_certs: driver: local - prowlarr_config: + authelia_config: driver: local - transmission_config: - driver: local \ No newline at end of file + fail2ban_data: + driver: local + redis_data: + driver: local + nextcloud_aio_nextcloud: + external: true + gitea_app: + external: true diff --git a/docker/compose/gitea.yml b/docker/compose/gitea.yml new file mode 100644 index 0000000..cd16038 --- /dev/null +++ b/docker/compose/gitea.yml @@ -0,0 +1,51 @@ +--- + +version: "3.8" +services: + app: + image: gitea/gitea:latest + container_name: gitea_app + environment: + - GITEA__database__DB_TYPE=mysql + - GITEA__database__HOST=db:3306 + - GITEA__database__NAME=$DB_NAME + - GITEA__database__USER=$DB_USER + - GITEA__database__PASSWD=$DB_PASSWORD + networks: + - gitea + restart: always + volumes: + - app:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - 3333:3000 + - 222:22 + depends_on: + - db + + db: + image: mysql:latest + container_name: gitea_db + restart: always + environment: + - MYSQL_ROOT_PASSWORD=$DB_ROOT_PASSWORD + - MYSQL_USER=$DB_USER + - MYSQL_PASSWORD=$DB_PASSWORD + - MYSQL_DATABASE=$DB_NAME + networks: + - gitea + expose: + - 3306 + volumes: + - db:/var/lib/mysql + +networks: + gitea: + external: false + +volumes: + db: + driver: local + app: + driver: local diff --git a/docker/compose/grafana.yml b/docker/compose/grafana.yml new file mode 100644 index 0000000..f2114ad --- /dev/null +++ b/docker/compose/grafana.yml @@ -0,0 +1,48 @@ +--- + +version: "3.8" +services: + grafana: + image: grafana/grafana + container_name: grafana + restart: always + ports: + - 3501:3000 + volumes: + - grafana_volume:/var/lib/grafana + + influxdb: + image: influxdb + container_name: influxdb + restart: always + ports: + - 3500:8086 + volumes: + - influxdb_volume:/var/lib/influxdb + + influxdb-pfsense: + image: influxdb:1.8.3-alpine + container_name: influxdb-pfsense + hostname: influxdb-pfsense + ports: + - 2003:2003 + - 3502:8086 + environment: + INFLUXDB_DATA_QUERY_LOG_ENABLED: "false" + INFLUXDB_REPORTING_DISABLED: "true" + INFLUXDB_HTTP_AUTH_ENABLED: "true" + INFLUXDB_ADMIN_USER: $DB_ADMIN_USER + INFLUXDB_ADMIN_PASSWORD: $DB_ADMIN_PASSWORD + INFLUXDB_USER: $DB_USER + INFLUXDB_USER_PASSWORD: $DB_USER_PASSWORD + INFLUXDB_DB: $DB_NAME + volumes: + - influxdb_pfsense_volume:/var/lib/influxdb + +volumes: + grafana_volume: + driver: local + influxdb_volume: + driver: local + influxdb_pfsense_volume: + driver: local diff --git a/docker/compose/guacamole.yml b/docker/compose/guacamole.yml new file mode 100644 index 0000000..014b21c --- /dev/null +++ b/docker/compose/guacamole.yml @@ -0,0 +1,18 @@ +--- + +version: "3.8" +services: + guacamole: + image: jwetzell/guacamole + container_name: guacamole + restart: unless-stopped + environment: + - EXTENSIONS=$EXTENSIONS + volumes: + - postgres:/config + ports: + - 8080:8080 + +volumes: + postgres: + driver: local diff --git a/docker/compose/kanboard.yml b/docker/compose/kanboard.yml index a0d6f26..5d68fb2 100644 --- a/docker/compose/kanboard.yml +++ b/docker/compose/kanboard.yml @@ -1,11 +1,12 @@ --- -version: "3.7" + +version: "3.8" services: kanboard: image: kanboard/kanboard:latest ports: - - "10080:80" - - "10443:443" + - 10080:80 + - 10443:443 volumes: - data:/var/www/app/data - plugins:/var/www/app/plugins diff --git a/docker/compose/nextcloud.yml b/docker/compose/nextcloud.yml new file mode 100644 index 0000000..edf6c30 --- /dev/null +++ b/docker/compose/nextcloud.yml @@ -0,0 +1,24 @@ +--- + +version: "3.8" +services: + nextcloud-aio-mastercontainer: + image: nextcloud/all-in-one:latest + init: true + restart: always + container_name: nextcloud-aio-mastercontainer + volumes: + - nextcloud_aio_mastercontainer:/mnt/docker-aio-config + - /var/run/docker.sock:/var/run/docker.sock:ro + ports: + - 8680:8080 + environment: + - APACHE_PORT=11000 + - APACHE_IP_BINDING=$BIND_IP + - COLLABORA_SECCOMP_DISABLED=true + - NEXTCLOUD_DATADIR=$SHARE + +volumes: + nextcloud_aio_mastercontainer: + name: nextcloud_aio_mastercontainer + driver: local diff --git a/docker/compose/speedtest.yml b/docker/compose/speedtest.yml new file mode 100644 index 0000000..2562283 --- /dev/null +++ b/docker/compose/speedtest.yml @@ -0,0 +1,10 @@ +--- + +version: "3.8" +services: + web: + image: openspeedtest/latest + container_name: openspeedtest + restart: unless-stopped + ports: + - 3000:3000 diff --git a/docker/compose/stirling.yml b/docker/compose/stirling.yml new file mode 100644 index 0000000..7b9ea94 --- /dev/null +++ b/docker/compose/stirling.yml @@ -0,0 +1,19 @@ +--- + +version: "3.8" +services: + stirling-pdf: + image: frooodle/s-pdf:latest + container_name: stirling + restart: always + ports: + - 8780:8080 + volumes: + - data:/configs + environment: + - DOCKER_ENABLE_SECURITY=false + - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false + +volumes: + data: + driver: local diff --git a/docker/compose/tautulli.yml b/docker/compose/tautulli.yml new file mode 100644 index 0000000..13a2b12 --- /dev/null +++ b/docker/compose/tautulli.yml @@ -0,0 +1,16 @@ +--- + +version: "3.8" +services: + tautulli: + image: ghcr.io/tautulli/tautulli + container_name: tautulli + restart: unless-stopped + volumes: + - data:/config + ports: + - 8181:8181 + +volumes: + data: + driver: local diff --git a/docker/compose/uptime_kuma.yml b/docker/compose/uptime_kuma.yml new file mode 100644 index 0000000..529c6a0 --- /dev/null +++ b/docker/compose/uptime_kuma.yml @@ -0,0 +1,16 @@ +--- + +version: "3.8" +services: + uptime-kuma: + image: louislam/uptime-kuma:1 + container_name: uptime-kuma + volumes: + - data:/app/data + ports: + - 3001:3001 + restart: always + +volumes: + data: + driver: local diff --git a/docker/compose/watchtower.yml b/docker/compose/watchtower.yml new file mode 100644 index 0000000..3ea8482 --- /dev/null +++ b/docker/compose/watchtower.yml @@ -0,0 +1,16 @@ +--- + +version: "3.8" +services: + watchtower: + image: containrrr/watchtower + container_name: watchtower + hostname: Agrajag-Cloud + restart: unless-stopped + environment: + - WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG=$SUBJECT + - WATCHTOWER_NOTIFICATION_URL=smtp://$USER:$PASSWORD@$EMAIL_SERVER:$PORT/?from=$EMAIL_FROM&to=$EMAIL_TO + - WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2 + - TZ=$TZ + volumes: + - /var/run/docker.sock:/var/run/docker.sock