diff --git a/charts/seafile/Chart.lock b/charts/seafile/Chart.lock new file mode 100644 index 0000000..d6484e9 --- /dev/null +++ b/charts/seafile/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: librepod + repository: https://librepod.github.io/charts + version: 1.2.0 +- name: mariadb + repository: https://librepod.github.io/charts + version: 0.1.0 +digest: sha256:e5aa2030142116372756e00f93c35cbccebc1ebd3fd85fb36db3ddf36b490d58 +generated: "2023-06-04T22:54:52.121777999+03:00" diff --git a/charts/seafile/Chart.yaml b/charts/seafile/Chart.yaml new file mode 100644 index 0000000..0237ba8 --- /dev/null +++ b/charts/seafile/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +name: seafile +description: Reliable and Performant File Sync and Share Solution +version: 0.1.0 +appVersion: 10.0.1 +kubeVersion: ">=1.16.0-0" +type: application +keywords: + - seafile + - filesync + - file share +home: https://github.com/librepod/charts/tree/master/charts/seafile +sources: + - https://github.com/librepod/charts/tree/master/charts/seafile + - https://www.seafile.com/en/home/ + - https://manual.seafile.com/config/seafile-conf/ + - https://hub.docker.com/r/seafileltd/seafile-mc/tags +icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/seafile.png +dependencies: + - name: librepod + version: 1.2.0 + repository: https://librepod.github.io/charts + - name: mariadb + version: 0.1.0 + repository: https://librepod.github.io/charts +annotations: + category: My Apps diff --git a/charts/seafile/ci/ct-values.yaml b/charts/seafile/ci/ct-values.yaml new file mode 100644 index 0000000..8f7f892 --- /dev/null +++ b/charts/seafile/ci/ct-values.yaml @@ -0,0 +1,8 @@ +persistence: + data: + storageClassName: local-path + +mariadb: + persistence: + data: + storageClassName: local-path diff --git a/charts/seafile/docker-compose.yaml b/charts/seafile/docker-compose.yaml new file mode 100644 index 0000000..635d9f3 --- /dev/null +++ b/charts/seafile/docker-compose.yaml @@ -0,0 +1,58 @@ +networks: + seafile-net: + +volumes: + seafile_data: + mysql_data: + + +services: + postgres: + image: postgres:10-alpine + container_name: seafile-postgres + environment: + # POSTGRES_USER: postgres + POSTGRES_PASSWORD: db_dev + networks: + - seafile-net + + db: + image: mariadb:10.6 + container_name: seafile-mysql + environment: + - MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service. + - MYSQL_LOG_CONSOLE=true + volumes: + - mysql_data:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store. + networks: + - seafile-net + + memcached: + image: memcached:1.6.18 + container_name: seafile-memcached + entrypoint: memcached -m 256 + networks: + - seafile-net + + seafile: + image: seafileltd/seafile-mc:latest + container_name: seafile + ports: + - "8080:80" +# - "443:443" # If https is enabled, cancel the comment. + volumes: + - seafile_data:/shared # Requested, specifies the path to Seafile data persistent store. + #- ./shared:/shared + environment: + - DB_HOST=db + - DB_ROOT_PASSWD=db_dev # Requested, the value shuold be root's password of MySQL service. + - TIME_ZONE=Etc/UTC # Optional, default is UTC. Should be uncomment and set to your local time zone. + - SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'. + - SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret'. + - SEAFILE_SERVER_LETSENCRYPT=false # Whether to use https or not. + - SEAFILE_SERVER_HOSTNAME=docs.seafile.com # Specifies your host name if https is enabled. + depends_on: + - db + - memcached + networks: + - seafile-net diff --git a/charts/seafile/templates/all.yaml b/charts/seafile/templates/all.yaml new file mode 100644 index 0000000..6b1fe4e --- /dev/null +++ b/charts/seafile/templates/all.yaml @@ -0,0 +1 @@ +{{- include "librepod.all" . -}} diff --git a/charts/seafile/values.yaml b/charts/seafile/values.yaml new file mode 100644 index 0000000..9b3ba97 --- /dev/null +++ b/charts/seafile/values.yaml @@ -0,0 +1,47 @@ +image: + repository: seafileltd/seafile-mc + pullPolicy: IfNotPresent + tag: "" + +service: + main: + enabled: true + ports: + http: + port: 80 + +env: + TIME_ZONE: Europe/Moscow + DB_HOST: seafile-mariadb + DB_ROOT_PASSWD: somepassword + SEAFILE_ADMIN_EMAIL: admin@libre.pod + SEAFILE_ADMIN_PASSWORD: admin + SEAFILE_SERVER_LETSENCRYPT: false + SEAFILE_SERVER_HOSTNAME: seafile.libre.pod + FORCE_HTTPS_IN_CONF: true + +ingress: + main: + enabled: true + hosts: + - host: seafile.libre.pod + +dashboard: + expose: true + url: https://seafile.libre.pod + +persistence: + data: + enabled: true + type: pvc + mountPath: /shared + readOnly: false + accessMode: ReadWriteOnce + size: 20Gi + retain: true + +# Enable and configure postgresql subchart under this key. +mariadb: + fullnameOverride: seafile-mariadb + env: + MYSQL_ROOT_PASSWORD: somepassword