diff --git a/.gitignore b/.gitignore index 5cd5feea..dd644220 100644 --- a/.gitignore +++ b/.gitignore @@ -1,28 +1,25 @@ .pnpm-debug.log -.env .env* github.secrets node_modules/ -nginx/* -letsencrypt/* app-data/* traefik/ssl/* !traefik/ssl/.gitkeep !app-data/.gitkeep -!letsencrypt/mkcert/.gitkeep state/* !state/.gitkeep -tipi.config.json - -# Commit empty directories -!nignx/.gitkeep - media/data/movies/* media/data/tv/* +media/data/books/* !media/data/movies/.gitkeep !media/data/tv/.gitkeep +!media/data/books/.gitkeep -media/torrents/* -!media/torrents/.gitkeep \ No newline at end of file +media/torrents/complete/* +!media/torrents/complete/.gitkeep +media/torrents/incomplete/* +!media/torrents/incomplete/.gitkeep +media/torrents/watch/* +!media/torrents/watch/.gitkeep \ No newline at end of file diff --git a/apps/adguard/config.json b/apps/adguard/config.json index 325d7c58..d251ea57 100644 --- a/apps/adguard/config.json +++ b/apps/adguard/config.json @@ -8,9 +8,9 @@ "author": "ArneNaessens", "source": "https://github.com/AdguardTeam", "image": "https://avatars.githubusercontent.com/u/8361145?s=200&v=4", + "cagegories": ["network", "security"], "requirements": { "ports": [53] }, - "form_fields": { - } + "form_fields": {} } diff --git a/apps/adguard/metadata/description.md b/apps/adguard/metadata/description.md new file mode 100644 index 00000000..b88c68d3 --- /dev/null +++ b/apps/adguard/metadata/description.md @@ -0,0 +1,3 @@ +Network-wide ads & trackers blocking DNS server + +AdGuard Home is a network-wide software for blocking ads and tracking. After you set it up, it'll cover all your home devices, and you won't need any client-side software for that. Learn more on our official Github repository. diff --git a/apps/adguard/metadata/logo.png b/apps/adguard/metadata/logo.png new file mode 100644 index 00000000..0bde6eda Binary files /dev/null and b/apps/adguard/metadata/logo.png differ diff --git a/apps/anonaddy/docker-compose.yml b/apps/anonaddy/docker-compose.yml index a7c88dd9..494c65d9 100644 --- a/apps/anonaddy/docker-compose.yml +++ b/apps/anonaddy/docker-compose.yml @@ -1,6 +1,4 @@ - -version: "3.5" - +version: "3.7" services: db: image: mariadb:10.5 @@ -80,4 +78,4 @@ services: # traefik.http.routers.anonaddy.entrypoints: http # traefik.http.routers.anonaddy.service: anonaddy - # traefik.http.services.anonaddy.loadbalancer.server.port: 8000 \ No newline at end of file + # traefik.http.services.anonaddy.loadbalancer.server.port: 8000 diff --git a/apps/calibre-web/docker-compose.yml b/apps/calibre-web/docker-compose.yml index 5b6225fe..a8ee7ed7 100644 --- a/apps/calibre-web/docker-compose.yml +++ b/apps/calibre-web/docker-compose.yml @@ -1,4 +1,4 @@ -version: "2.1" +version: "3.7" services: calibre-web: image: lscr.io/linuxserver/calibre-web:latest @@ -9,9 +9,9 @@ services: - TZ=${TZ} volumes: - ${APP_DATA_DIR}/data/config:/config - - ${APP_DATA_DIR}/data/books:/books + - ${ROOT_FOLDER_HOST}/media/data/books:/books ports: - ${APP_PORT}:8083 restart: unless-stopped networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network diff --git a/apps/code-server/docker-compose.yml b/apps/code-server/docker-compose.yml index d2d72b9e..b8948432 100644 --- a/apps/code-server/docker-compose.yml +++ b/apps/code-server/docker-compose.yml @@ -1,4 +1,4 @@ -version: "2.1" +version: "3.7" services: code-server: image: lscr.io/linuxserver/code-server:latest @@ -16,4 +16,4 @@ services: - ${APP_PORT}:8443 restart: unless-stopped networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network diff --git a/apps/filebrowser/docker-compose.yml b/apps/filebrowser/docker-compose.yml index 0e9e526a..5e1d0cf1 100644 --- a/apps/filebrowser/docker-compose.yml +++ b/apps/filebrowser/docker-compose.yml @@ -1,3 +1,4 @@ +version: "3.7" services: filebrowser: container_name: filebrowser diff --git a/apps/gitea/docker-compose.yml b/apps/gitea/docker-compose.yml index 3bc4e9b9..50dc6a48 100644 --- a/apps/gitea/docker-compose.yml +++ b/apps/gitea/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3" +version: "3.7" services: gitea: @@ -22,7 +22,7 @@ services: - "222:22" depends_on: - gitea-db - + gitea-db: container_name: gitea-db image: postgres:14 diff --git a/apps/homarr/docker-compose.yml b/apps/homarr/docker-compose.yml index 9f374ab7..8181d1a0 100644 --- a/apps/homarr/docker-compose.yml +++ b/apps/homarr/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3' +version: "3.7" services: homarr: container_name: homarr @@ -9,4 +9,4 @@ services: ports: - ${APP_PORT}:7575 networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network diff --git a/apps/invidious/config.json b/apps/invidious/config.json index 79cf2077..e0bcb97d 100644 --- a/apps/invidious/config.json +++ b/apps/invidious/config.json @@ -3,9 +3,9 @@ "available": true, "port": 8095, "id": "invidious", - "description": "", - "short_desc": "", - "author": "", + "description": "Invidious is an open source alternative front-end to YouTube.", + "short_desc": "An alternative front-end to YouTube", + "author": "iv-org", "source": "https://github.com/iv-org/invidious", "image": "https://raw.githubusercontent.com/iv-org/invidious/master/assets/invidious-colored-vector.svg", "form_fields": {} diff --git a/apps/invidious/docker-compose.arm.yml b/apps/invidious/docker-compose.arm.yml index 0901ab6c..1d540dbb 100644 --- a/apps/invidious/docker-compose.arm.yml +++ b/apps/invidious/docker-compose.arm.yml @@ -1,4 +1,4 @@ -version: "3" +version: "3.7" services: invidious: user: 1000:1000 diff --git a/apps/invidious/docker-compose.yml b/apps/invidious/docker-compose.yml index 686fe9b9..2e84c863 100644 --- a/apps/invidious/docker-compose.yml +++ b/apps/invidious/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3" +version: "3.7" services: invidious: user: 1000:1000 diff --git a/apps/jellyfin/config.json b/apps/jellyfin/config.json index e434cc1e..748bfc58 100644 --- a/apps/jellyfin/config.json +++ b/apps/jellyfin/config.json @@ -3,10 +3,10 @@ "available": true, "port": 8091, "id": "jellyfin", - "description": "", - "short_desc": "", - "author": "", - "source": "", + "description": "Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. We welcome anyone who is interested in joining us in our quest!", + "short_desc": "A media server for your home collection", + "author": "jellyfin.org", + "source": "https://github.com/jellyfin/jellyfin", "image": "https://avatars.githubusercontent.com/u/45698031?s=200&v=4", "form_fields": {} } diff --git a/apps/libreddit/docker-compose.arm.yml b/apps/libreddit/docker-compose.arm.yml new file mode 100644 index 00000000..1ab9b6c3 --- /dev/null +++ b/apps/libreddit/docker-compose.arm.yml @@ -0,0 +1,12 @@ +version: "3.7" +services: + libreddit: + container_name: libreddit + image: spikecodes/libreddit:arm + dns: + - ${DNS_IP} + ports: + - ${APP_PORT}:8080 + restart: unless-stopped + networks: + - tipi_main_network diff --git a/apps/libreddit/docker-compose.yml b/apps/libreddit/docker-compose.yml index 90cc0b7a..b5eaa195 100644 --- a/apps/libreddit/docker-compose.yml +++ b/apps/libreddit/docker-compose.yml @@ -3,8 +3,10 @@ services: libreddit: container_name: libreddit image: spikecodes/libreddit + dns: + - ${DNS_IP} ports: - ${APP_PORT}:8080 restart: unless-stopped networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network diff --git a/apps/pihole/config.json b/apps/pihole/config.json index 6ef1e5ff..29c8b903 100644 --- a/apps/pihole/config.json +++ b/apps/pihole/config.json @@ -1,15 +1,15 @@ { - "name": "PiHole", + "name": "Pi-hole", "available": true, "port": 8081, "requirements": { "ports": [53] }, "id": "pihole", - "description": "", - "short_desc": "", - "author": "", - "source": "", + "description": "The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software.", + "short_desc": "A black hole for Internet advertisements", + "author": "pi-hole.net", + "source": "https://github.com/pi-hole/pi-hole", "image": "https://avatars.githubusercontent.com/u/16827203?s=200&v=4", "form_fields": { "password": { diff --git a/apps/prowlarr/docker-compose.yml b/apps/prowlarr/docker-compose.yml index 19eb8445..4885600e 100644 --- a/apps/prowlarr/docker-compose.yml +++ b/apps/prowlarr/docker-compose.yml @@ -1,7 +1,7 @@ -version: "2.1" +version: "3.7" services: prowlarr: # Should be exact same name as "id" field in config.json - container_name: prowlarr # Should be exact same name as "id" field in config.json + container_name: prowlarr # Should be exact same name as "id" field in config.json image: ghcr.io/linuxserver/prowlarr:develop environment: - TZ=${TZ} # Can use any env variable. List in runtipi/templates/env-sample @@ -12,4 +12,4 @@ services: - ${APP_PORT}:9696 restart: unless-stopped networks: - - tipi_main_network \ No newline at end of file + - tipi_main_network diff --git a/apps/radarr/config.json b/apps/radarr/config.json index db262749..ae40742f 100644 --- a/apps/radarr/config.json +++ b/apps/radarr/config.json @@ -3,10 +3,10 @@ "available": true, "port": 8088, "id": "radarr", - "description": "", - "short_desc": "", - "author": "", - "source": "", + "description": "Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available. Note that only one type of a given movie is supported. If you want both an 4k version and 1080p version of a given movie you will need multiple instances.", + "short_desc": "Movie collection manager for Usenet and BitTorrent users.", + "author": "radarr.video", + "source": "https://github.com/Radarr/Radarr", "image": "https://avatars.githubusercontent.com/u/25025331?s=200&v=4", "form_fields": {} } diff --git a/apps/radarr/docker-compose.yml b/apps/radarr/docker-compose.yml index 081c33ba..c9746e29 100644 --- a/apps/radarr/docker-compose.yml +++ b/apps/radarr/docker-compose.yml @@ -10,6 +10,7 @@ services: dns: - ${DNS_IP} volumes: + - /etc/localtime:/etc/localtime:ro - ${APP_DATA_DIR}/data:/config - ${ROOT_FOLDER_HOST}/media:/media ports: diff --git a/apps/sonarr/config.json b/apps/sonarr/config.json index e6db4649..aa6dabd7 100644 --- a/apps/sonarr/config.json +++ b/apps/sonarr/config.json @@ -3,10 +3,10 @@ "available": true, "port": 8098, "id": "sonarr", - "description": "", - "short_desc": "", - "author": "", - "source": "", + "description": "Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.", + "short_desc": "TV show manager for Usenet and BitTorrent", + "author": "sonarr.tv", + "source": "https://github.com/Sonarr/Sonarr", "image": "https://avatars.githubusercontent.com/u/1082903?s=200&v=4", "form_fields": {} } diff --git a/apps/sonarr/docker-compose.yml b/apps/sonarr/docker-compose.yml index 702d315b..785da965 100644 --- a/apps/sonarr/docker-compose.yml +++ b/apps/sonarr/docker-compose.yml @@ -10,6 +10,7 @@ services: dns: - ${DNS_IP} volumes: + - /etc/localtime:/etc/localtime:ro - ${APP_DATA_DIR}/data:/config - ${ROOT_FOLDER_HOST}/media:/media ports: diff --git a/apps/tailscale/config.json b/apps/tailscale/config.json index b849ea8c..6cddfdac 100644 --- a/apps/tailscale/config.json +++ b/apps/tailscale/config.json @@ -3,9 +3,9 @@ "available": true, "port": 8093, "id": "tailscale", - "description": "", - "short_desc": "", - "author": "", + "description": "Zero config VPN. Installs on any device in minutes, manages firewall rules for you, and works from anywhere.", + "short_desc": "The easiest, most secure way to use WireGuard and 2FA.", + "author": "© Tailscale Inc.", "source": "https://github.com/tailscale/tailscale", "website": "https://tailscale.com/", "image": "https://avatars.githubusercontent.com/u/48932923?s=200&v=4", diff --git a/apps/transmission/config.json b/apps/transmission/config.json index 8ac28df1..e252a5c5 100644 --- a/apps/transmission/config.json +++ b/apps/transmission/config.json @@ -6,10 +6,10 @@ "ports": [51413] }, "id": "transmission", - "description": "", - "short_desc": "", - "author": "", - "source": "https://transmissionbt.com", + "description": "Transmission is a fast, easy, and free BitTorrent client.", + "short_desc": "Fast, easy, and free BitTorrent client", + "author": "Transmission Project", + "source": "https://github.com/transmission/transmission", "image": "https://avatars.githubusercontent.com/u/223312?s=200&v=4", "form_fields": { "username": { diff --git a/apps/transmission/docker-compose.yml b/apps/transmission/docker-compose.yml index 3a75384c..d49c0cf4 100644 --- a/apps/transmission/docker-compose.yml +++ b/apps/transmission/docker-compose.yml @@ -9,12 +9,14 @@ services: - TZ=${TZ} - USER=${TRANSMISSION_USERNAME} - PASS=${TRANSMISSION_PASSWORD} + - TRANSMISSION_WEB_HOME=/transmission-web-control/ # - WHITELIST=iplist #optional # - PEERPORT=peerport #optional # - HOST_WHITELIST=dnsnane list #optional volumes: - ${APP_DATA_DIR}/data/config:/config - - ${ROOT_FOLDER_HOST}/media/torrents:/media/torrents + - ${ROOT_FOLDER_HOST}/media/torrents:/downloads + - ${ROOT_FOLDER_HOST}/media/torrents/watch:/watch ports: - ${APP_PORT}:9091 - 51413:51413 diff --git a/media/torrents/.gitkeep b/media/data/books/.gitkeep similarity index 100% rename from media/torrents/.gitkeep rename to media/data/books/.gitkeep diff --git a/media/torrents/complete/.gitkeep b/media/torrents/complete/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/media/torrents/incomplete/.gitkeep b/media/torrents/incomplete/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/media/torrents/watch/.gitkeep b/media/torrents/watch/.gitkeep new file mode 100644 index 00000000..e69de29b