diff --git a/README.md b/README.md index 16087b8..5ecd61e 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,6 @@ ScaleTail provides ready-to-run [Docker Compose](https://docs.docker.com/compose | 📥 **Mattermost** | A self-hosted collaborative workflow and communication tool. | [Details](services/mattermost) | | 📝 **Memos** | A lightweight, self-hosted note-taking and knowledge management platform for capturing ideas, daily notes, and personal knowledge. | [Details](services/memos) | | 📝 **Nanote** | A lightweight, self-hosted note-taking app with Markdown support. | [Details](services/nanote) | -| ☁️ **NextCloud** | A suite of client-server software for creating and using file hosting services. | [Details](services/nextcloud) | | 🤖 **Open WebUI** | A self-hosted AI platform with a ChatGPT-style interface for local and cloud-based models. | [Details](services/open-webui) | | 🔗 **Pingvin Share** | **PROJECT ARCHIVED** A self-hosted file sharing platform. | [Details](services/pingvin-share) | | 🔄 **Resilio Sync** | A fast, reliable, and simple file sync and share solution. | [Details](services/resilio-sync) | diff --git a/services/nextcloud/.env b/services/nextcloud/.env deleted file mode 100644 index 062e82c..0000000 --- a/services/nextcloud/.env +++ /dev/null @@ -1,25 +0,0 @@ -#version=1.1 -#URL=https://github.com/tailscale-dev/ScaleTail -#COMPOSE_PROJECT_NAME= # Optional: only use when running multiple deployments on the same infrastructure. - -# Service Configuration -SERVICE=nextcloud -IMAGE_URL=nextcloud - -# Network Configuration -SERVICEPORT=80 -DNS_SERVER=9.9.9.9 - -# Tailscale Configuration -TS_AUTHKEY= - -# Time Zone setting for containers -TZ=Europe/Amsterdam # See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - -# Optional Service variables -# PUID=1000 - -MYSQL_ROOT_PASSWORD= //Insert super root strong password -MYSQL_PASSWORD= //Insert super strong password - -#EXAMPLE_VAR="Environment varibale" diff --git a/services/nextcloud/README.md b/services/nextcloud/README.md deleted file mode 100644 index 8cd1581..0000000 --- a/services/nextcloud/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Nextcloud Server with Tailscale Sidecar Configuration - -This Docker Compose configuration sets up [Nextcloud Server](https://github.com/nextcloud/server) with Tailscale as a sidecar container to securely manage and access your personal cloud storage over a private Tailscale network. By using Tailscale in a sidecar configuration, you can enhance the security and privacy of your Nextcloud instance, ensuring that it is only accessible within your Tailscale network. - -## Nextcloud Server - -[Nextcloud Server](https://github.com/nextcloud/server) is an open-source, self-hosted cloud storage platform that allows you to store, share, and sync your files across multiple devices. It provides a secure and private alternative to commercial cloud services, giving you full control over your data. This configuration leverages Tailscale to securely connect to your Nextcloud instance, protecting your files and personal data from unauthorized access. - -## Configuration Overview - -In this setup, the `tailscale-nextcloud` service runs Tailscale, which manages secure networking for the Nextcloud Server. The `nextcloud` service uses the Tailscale network stack via Docker's `network_mode: service:` configuration. This setup ensures that Nextcloud's web interface and file synchronization services are only accessible through the Tailscale network (or locally, if preferred), providing an extra layer of security and privacy for your cloud storage solution. diff --git a/services/nextcloud/compose.yaml b/services/nextcloud/compose.yaml deleted file mode 100644 index 0069e1e..0000000 --- a/services/nextcloud/compose.yaml +++ /dev/null @@ -1,97 +0,0 @@ -configs: - ts-serve: - content: | - {"TCP":{"443":{"HTTPS":true}}, - "Web":{"$${TS_CERT_DOMAIN}:443": - {"Handlers":{"/": - {"Proxy":"http://127.0.0.1:80"}}}}, - "AllowFunnel":{"$${TS_CERT_DOMAIN}:443":false}} - -services: -# Make sure you have updated/checked the .env file with the correct variables. -# All the ${ xx } need to be defined there. - # Tailscale Sidecar Configuration - tailscale: - image: tailscale/tailscale:latest # Image to be used - container_name: tailscale-${SERVICE} # Name for local container management - hostname: ${SERVICE} # Name used within your Tailscale environment - environment: - - TS_AUTHKEY=${TS_AUTHKEY} - - TS_STATE_DIR=/var/lib/tailscale - - TS_SERVE_CONFIG=/config/serve.json # Tailscale Serve configuration to expose the web interface on your local Tailnet - remove this line if not required - - TS_USERSPACE=false - - TS_ENABLE_HEALTH_CHECK=true # Enable healthcheck endpoint: "/healthz" - - TS_LOCAL_ADDR_PORT=127.0.0.1:41234 # The : for the healthz endpoint - #- TS_ACCEPT_DNS=true # Uncomment when using MagicDNS - - TS_AUTH_ONCE=true - configs: - - source: ts-serve - target: /config/serve.json - volumes: - - ./config:/config # Config folder used to store Tailscale files - you may need to change the path - - ./ts/state:/var/lib/tailscale # Tailscale requirement - you may need to change the path - devices: - - /dev/net/tun:/dev/net/tun # Network configuration for Tailscale to work - cap_add: - - net_admin # Tailscale requirement - #ports: - # - 0.0.0.0:${SERVICEPORT}:${SERVICEPORT} # Binding port ${SERVICE}PORT to the local network - may be removed if only exposure to your Tailnet is required - # If any DNS issues arise, use your preferred DNS provider by uncommenting the config below - # dns: - # - ${DNS_SERVER} - healthcheck: - test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:41234/healthz"] # Check Tailscale has a Tailnet IP and is operational - interval: 1m # How often to perform the check - timeout: 10s # Time to wait for the check to succeed - retries: 3 # Number of retries before marking as unhealthy - start_period: 10s # Time to wait before starting health checks - restart: always - - # ${SERVICE} - application: - image: ${IMAGE_URL} # Image to be used - network_mode: service:tailscale # Sidecar configuration to route ${SERVICE} through Tailscale - container_name: app-${SERVICE} # Name for local container management - environment: - - MYSQL_PASSWORD=${MYSQL_PASSWORD} - - MYSQL_DATABASE=nextcloud - - MYSQL_USER=nextcloud - - MYSQL_HOST=db # Please note, this variable should reflect the service name of the database itself, in this case db - - TZ=${TZ} - volumes: - - ./${SERVICE}-data/nextcloud_data/:/var/www/html - depends_on: - tailscale: - condition: service_healthy - db: - condition: service_healthy - healthcheck: - test: ["CMD", "pgrep", "-f", "apache2"] # Check if ${SERVICE} process is running - interval: 1m # How often to perform the check - timeout: 10s # Time to wait for the check to succeed - retries: 3 # Number of retries before marking as unhealthy - start_period: 30s # Time to wait before starting health checks - restart: always - - # MariaDB used by NextCloud - db: - image: mariadb:latest # Image to be used - container_name: nextcloud_db # Name for local container management - environment: - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - - MYSQL_PASSWORD=${MYSQL_PASSWORD} - - MYSQL_DATABASE=nextcloud - - MYSQL_USER=nextcloud - volumes: - - db_data:/var/lib/mysql - healthcheck: - test: ["CMD", "pgrep", "mariadbd"] # Check if MariaDB is running - interval: 1m # How often to perform the check - timeout: 10s # Time to wait for the check to succeed - retries: 3 # Number of retries before marking as unhealthy - start_period: 30s # Time to wait before starting health checks - restart: always - -volumes: - nextcloud_data: - db_data: