diff --git a/README.md b/README.md index f030f34c..d3be8dd6 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Wireguard Easy](https://github.com/WeeJeWel/wg-easy) - WireGuard VPN + Web-based Admin UI - [Your Spotify](https://github.com/Yooooomi/your_spotify) - Self hosted Spotify tracking dashboard - [ZeroTier](https://github.com/zerotier/ZeroTierOne) - Easy to use zero configuration VPN. +- [Zipline](https://github.com/diced/zipline) - A ShareX/file upload server that is easy to use, packed with features, and with an easy setup! ## How to sumbit an app diff --git a/apps/zipline/config.json b/apps/zipline/config.json new file mode 100644 index 00000000..c4f129f9 --- /dev/null +++ b/apps/zipline/config.json @@ -0,0 +1,30 @@ +{ + "$schema": "../schema.json", + "name": "Zipline", + "port": 8139, + "available": true, + "exposable": true, + "id": "zipline", + "tipi_version": 1, + "version": "3.6.4", + "categories": ["media"], + "description": "A ShareX/file upload server that is easy to use, packed with features, and with an easy setup! ", + "short_desc": "A ShareX/file upload server that is easy to use, packed with features, and with an easy setup! ", + "author": "https://github.com/diced", + "source": "https://github.com/diced/zipline", + "website": "https://zipline.diced.tech/docs/config/", + "form_fields": [ + { + "type": "random", + "label": "DB_PASSWORD", + "min": 32, + "env_variable": "DB_PASSWORD" + }, + { + "type": "random", + "label": "CORE_SECRET", + "min": 32, + "env_variable": "CORE_SECRET" + } + ] +} diff --git a/apps/zipline/docker-compose.yml b/apps/zipline/docker-compose.yml new file mode 100644 index 00000000..7c2c32f2 --- /dev/null +++ b/apps/zipline/docker-compose.yml @@ -0,0 +1,47 @@ +version: "3.7" + +services: + zipline: + image: ghcr.io/diced/zipline:3.6.4 + ports: + - '${APP_PORT}:3000' + restart: unless-stopped + environment: + - CORE_RETURN_HTTPS=false + - CORE_SECRET=${CORE_SECRET} + - CORE_HOST=0.0.0.0 + - CORE_PORT=3000 + - CORE_DATABASE_URL=postgres://tipi:${DB_PASSWORD}@zipline-db/zipline + - CORE_LOGGER=true + volumes: + - '${APP_DATA_DIR}/data/uploads:/zipline/uploads' + - '${APP_DATA_DIR}/data/public:/zipline/public' + depends_on: + - 'zipline-db' + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.zipline.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.zipline.entrypoints: websecure + traefik.http.routers.zipline.service: zipline + traefik.http.routers.zipline.tls.certresolver: myresolver + traefik.http.services.zipline.loadbalancer.server.port: 3000 + networks: + - tipi_main_network + + zipline-db: + container_name: zipline-db + image: postgres:14 + restart: unless-stopped + environment: + - POSTGRES_USER=tipi + - POSTGRES_PASSWORD=${DB_PASSWORD} + - POSTGRES_DB=zipline + volumes: + - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data + networks: + - tipi_main_network + healthcheck: + test: ['CMD-SHELL', 'pg_isready -U postgres'] + interval: 10s + timeout: 5s + retries: 5 diff --git a/apps/zipline/metadata/description.md b/apps/zipline/metadata/description.md new file mode 100644 index 00000000..a74a27c7 --- /dev/null +++ b/apps/zipline/metadata/description.md @@ -0,0 +1,34 @@ +A ShareX/file upload server that is easy to use, packed with features, and with an easy setup! + +![Stars](https://img.shields.io/github/stars/diced/zipline?logo=github&style=flat) +![Version](https://img.shields.io/github/package-json/v/diced/zipline?logo=git&logoColor=white&style=flat) +![GitHub last commit (branch)](https://img.shields.io/github/last-commit/diced/zipline/trunk?logo=git&logoColor=white&style=flat) +[![Discord](https://img.shields.io/discord/729771078196527176?color=%23777ed3&label=discord&logo=discord&logoColor=white&style=flat)](https://discord.gg/EAhCRfGxCF) + +![Build](https://img.shields.io/github/actions/workflow/status/diced/zipline/build.yml?logo=github&style=flat&branch=trunk) +[![Docker Image (trunk)](https://img.shields.io/github/actions/workflow/status/diced/zipline/docker.yml?label=Docker%20%28trunk%29&logo=github&style=flat&branch=trunk)](https://github.com/diced/zipline/pkgs/container/zipline/?tag=trunk) +[![Docker Image (release)](https://img.shields.io/github/actions/workflow/status/diced/zipline/docker-release.yml?label=Docker%20%28release%29&logo=github&style=flat&branch=trunk)](https://github.com/diced/zipline/pkgs/container/zipline/?tag=latest) + + +## Features + +- Configurable +- Fast +- Built with Next.js & React +- Token protected uploading +- Image uploading +- Image compression +- Password Protected Uploads +- URL shortening +- Text uploading +- URL Formats (uuid, dates, random alphanumeric, original name, zws) +- Discord embeds (OG metadata) +- Gallery viewer, and multiple file format support +- Code highlighting +- Fully customizable Discord webhook notifications +- OAuth2 registration (Discord and GitHub) +- Two-Factor authentication with Google Authenticator, Authy, etc (totp services). +- User invites +- File Chunking (for large files) +- File deletion once it reaches a certain amount of views +- Easy setup instructions on [docs](https://zipl.vercel.app/) (One command install `docker-compose up -d`) diff --git a/apps/zipline/metadata/logo.jpg b/apps/zipline/metadata/logo.jpg new file mode 100644 index 00000000..caab8826 Binary files /dev/null and b/apps/zipline/metadata/logo.jpg differ