diff --git a/README.md b/README.md index b3dd4e87..60dc8dd9 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [NocoDB](https://github.com/nocodb/nocodb) - Open Source Airtable Alternative - [Node-RED](https://github.com/node-red/node-red) - Low-code programming for event-driven applications - [OneDev](https://code.onedev.io/onedev/server) - Self-hosted Git Server with Kanban and CI/CD +- [Owncloud](https://github.com/owncloud/core) - A personal cloud which runs on your own server. - [Overseerr](https://github.com/sct/overseerr) - Request management and media discovery tool for the Plex ecosystem - [Photoprism](https://github.com/photoprism/photoprism) - AI-Powered Photos App for the Decentralized Web. We are on a mission to protect your freedom and privacy. - [Pihole](https://github.com/pi-hole/pi-hole) - A black hole for Internet advertisements diff --git a/apps/owncloud/config.json b/apps/owncloud/config.json new file mode 100644 index 00000000..dc3612b9 --- /dev/null +++ b/apps/owncloud/config.json @@ -0,0 +1,40 @@ +{ + "$schema": "../schema.json", + "name": "Owncloud", + "port": 8151, + "available": true, + "exposable": true, + "id": "owncloud", + "tipi_version": 1, + "version": "10.11.0", + "categories": ["data"], + "description": "ownCloud gives you freedom and control over your own data. A personal cloud which runs on your own server. ", + "short_desc": "A personal cloud which runs on your own server. ", + "author": "https://github.com/owncloud", + "source": "https://github.com/owncloud/core", + "website": "https://owncloud.com/", + "form_fields": [ + { + "type": "random", + "label": "MYSQL_PASSWORD", + "min": 32, + "env_variable": "MYSQL_PASSWORD" + }, + { + "type": "text", + "label": "Owncloud Admin Username", + "max": 50, + "min": 3, + "required": true, + "env_variable": "ADMIN_USERNAME" + }, + { + "type": "password", + "label": "Owncloud Admin Password", + "max": 50, + "min": 3, + "required": true, + "env_variable": "OWNCLOUD_ADMIN_PASSWORD" + } + ] +} diff --git a/apps/owncloud/docker-compose.yml b/apps/owncloud/docker-compose.yml new file mode 100644 index 00000000..2212da07 --- /dev/null +++ b/apps/owncloud/docker-compose.yml @@ -0,0 +1,76 @@ +version: "3" + +services: + owncloud: + image: owncloud/server:10.11.0 + container_name: owncloud + restart: unless-stopped + ports: + - ${APP_PORT}:8080 + depends_on: + - mariadb + - redis + environment: + - OWNCLOUD_DOMAIN=${APP_DOMAIN} + - OWNCLOUD_TRUSTED_DOMAINS=${APP_DOMAIN} + - OWNCLOUD_DB_TYPE=mysql + - OWNCLOUD_DB_NAME=owncloud + - OWNCLOUD_DB_USERNAME=tipi + - OWNCLOUD_DB_PASSWORD=${MYSQL_PASSWORD} + - OWNCLOUD_DB_HOST=owncloud_mariadb + - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME} + - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} + - OWNCLOUD_MYSQL_UTF8MB4=true + - OWNCLOUD_REDIS_ENABLED=true + - OWNCLOUD_REDIS_HOST=owncloud_redis + healthcheck: + test: ["CMD", "/usr/bin/healthcheck"] + interval: 30s + timeout: 10s + retries: 5 + volumes: + - ${APP_DATA_DIR}/data/owncloud:/mnt/data + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.owncloud.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.owncloud.entrypoints: websecure + traefik.http.routers.owncloud.service: owncloud + traefik.http.routers.owncloud.tls.certresolver: myresolver + traefik.http.services.owncloud.loadbalancer.server.port: 8080 + + owncloud_mariadb: + image: mariadb:10.6 # minimum required ownCloud version is 10.9 + container_name: owncloud_mariadb + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_USER=tipi + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_DATABASE=owncloud + command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"] + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=${MYSQL_PASSWORD}"] + interval: 10s + timeout: 5s + retries: 5 + volumes: + - ${APP_DATA_DIR}/data/mysql:/var/lib/mysql + networks: + - tipi_main_network + + owncloud_redis: + image: redis:6 + container_name: owncloud_redis + restart: unless-stopped + command: ["--databases", "1"] + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + volumes: + - ${APP_DATA_DIR}/data/redis:/data + networks: + - tipi_main_network diff --git a/apps/owncloud/metadata/description.md b/apps/owncloud/metadata/description.md new file mode 100644 index 00000000..e1464c1c --- /dev/null +++ b/apps/owncloud/metadata/description.md @@ -0,0 +1,48 @@ +# ownCloud Core + +[![Build Status](https://camo.githubusercontent.com/97e0aae46cdd7a08fd19eede0343cbe079b0aa974a5385a79e9223f956bfac69/68747470733a2f2f64726f6e652e6f776e636c6f75642e636f6d2f6170692f6261646765732f6f776e636c6f75642f636f72652f7374617475732e7376673f6272616e63683d6d6173746572)](https://drone.owncloud.com/owncloud/core) [![Quality Gate Status](https://camo.githubusercontent.com/23ee60eecab2581d251cf0541ab3cb41a82fd06a574b216898156ea7be95491d/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d6f776e636c6f75645f636f7265266d65747269633d616c6572745f737461747573)](https://sonarcloud.io/dashboard?id=owncloud_core) [![Security Rating](https://camo.githubusercontent.com/938a4d116800c9c690e25c45a7543d8ebdffd3ce2c7058b6e5013858b075ff09/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d6f776e636c6f75645f636f7265266d65747269633d73656375726974795f726174696e67)](https://sonarcloud.io/dashboard?id=owncloud_core) [![Coverage](https://camo.githubusercontent.com/220dcace7a545cef54f6a1c29df832d38ad41e6d5affa0a48dbf2eb7c29e1d9a/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d6f776e636c6f75645f636f7265266d65747269633d636f766572616765)](https://sonarcloud.io/dashboard?id=owncloud_core) [![Design](https://camo.githubusercontent.com/4bc6b8df75c52b6dc7c83a1cf8ec4645f697e17e4a74e94dec2a1c1d7bb29311/68747470733a2f2f636f6e747269627574652e64657369676e2f6170692f736869656c642f6f776e636c6f75642f636f7265)](https://contribute.design/owncloud/core) + +**[ownCloud](http://ownCloud.com) gives you freedom and control over your own data. A personal cloud which runs on your own server.** + +[![](https://github.com/owncloud/screenshots/raw/master/files/sidebar_1.png)](https://github.com/owncloud/screenshots/blob/master/files/sidebar_1.png) + +## [](https://github.com/owncloud/core/blob/master/README.md#why-is-this-so-awesome)Why Is This so Awesome? + +- 📁 **Access your Data** You can store your files, contacts, calendars and more on a server of your choosing. +- 📦 **Sync your Data** You keep your files, contacts, calendars and more synchronized amongst your devices. +- 🔄 **Share your Data** You share your data with others, and give them access to your latest photo galleries, your calendar or anything else you want them to see. +- 🚀 **Expandable with dozens of Apps** ...like Calendar, Contacts, Mail or News. +- ☁️ **All Benefits of the Cloud** ...on your own Server. +- 🔒 **Encryption** You can encrypt data in transit with secure https connections. You can enable the encryption app to encrypt data on storage for improved security and privacy. +- ... + +## [](https://github.com/owncloud/core/blob/master/README.md#installation-instructions)Installation Instructions + +For installing ownCloud, see the official [ownCloud 10](https://doc.owncloud.com/server/latest/admin_manual/installation/) installation manual. + +## [](https://github.com/owncloud/core/blob/master/README.md#development-build-prerequisites)Development Build Prerequisites + +Note that when doing a local development build, you need to have **Composer v2** installed. If your OS provides a lower version than v2, you can install Composer v2 manually. As an example, which may be valid for other releases/distros too, see [How to install Composer on Ubuntu 22.04 | 20.04 LTS](https://www.how2shout.com/linux/how-to-install-composer-on-ubuntu-22-04-20-04-lts/). + +You also must have installed `yarn` and `node` (v14 or higher). + +## [](https://github.com/owncloud/core/blob/master/README.md#contribution-guidelines)Contribution Guidelines + +[https://owncloud.com/contribute/](https://owncloud.com/contribute/) + +## [](https://github.com/owncloud/core/blob/master/README.md#support)Support + +Learn about the different ways you can get support for ownCloud: [https://owncloud.com/support/](https://owncloud.com/support/) + +## [](https://github.com/owncloud/core/blob/master/README.md#get-in-touch)Get in Touch + +- 📋 [Forum](https://central.owncloud.org) +- #️⃣ [IRC channel](https://web.libera.chat/?channels=#owncloud) +- 👥 [Facebook](https://facebook.com/ownclouders) +- 🐣 [Twitter](https://twitter.com/ownCloud) + +## [](https://github.com/owncloud/core/blob/master/README.md#important-notice-on-translations)Important Notice on Translations + +Please submit translations via Transifex: [https://explore.transifex.com/owncloud-org/](https://explore.transifex.com/owncloud-org/) + +See the detailed information about [translations](https://doc.owncloud.com/server/latest/developer_manual/core/translation.html) here. \ No newline at end of file diff --git a/apps/owncloud/metadata/logo.jpg b/apps/owncloud/metadata/logo.jpg new file mode 100644 index 00000000..89abc6f6 Binary files /dev/null and b/apps/owncloud/metadata/logo.jpg differ