Merge branch 'meienberger:master' into dozzle
This commit is contained in:
commit
5b28268660
7
.github/workflows/renovate.yml
vendored
7
.github/workflows/renovate.yml
vendored
|
@ -17,7 +17,7 @@ on:
|
|||
schedule:
|
||||
# The "*" (#42, asterisk) character has special semantics in YAML, so this
|
||||
# string has to be quoted.
|
||||
- cron: '0/15 * * * *'
|
||||
- cron: '0/30 * * * *'
|
||||
jobs:
|
||||
renovate:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -25,6 +25,9 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v2.0.0
|
||||
- name: Self-hosted Renovate
|
||||
uses: renovatebot/github-action@v32.118.0
|
||||
uses: renovatebot/github-action@v36.0.4
|
||||
with:
|
||||
token: ${{ secrets.RENOVATE_TOKEN }}
|
||||
env:
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
|
|
@ -24,6 +24,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
|||
- [Emulatorjs](https://github.com/EmulatorJS/EmulatorJS) - Self-hosted Javascript emulation for various system.
|
||||
- [Excalidraw](https://github.com/excalidraw/excalidraw) - Online whiteboard collaboration made easy
|
||||
- [Filebrowser](https://github.com/filebrowser/filebrowser) - Web File Browser
|
||||
- [Filestash](https://github.com/mickael-kerjean/filestash) - A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze
|
||||
- [Firefly III](https://github.com/firefly-iii/firefly-iii) - A personal finances manager
|
||||
- [Fireshare](https://github.com/ShaneIsrael/fireshare) - Self host your media and share with unique links
|
||||
- [Flatnotes](https://github.com/Dullage/flatnotes) - A self-hosted, database-less note taking web app
|
||||
|
@ -33,6 +34,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
|||
- [Gitea](https://github.com/go-gitea/gitea) - Gitea - A painless self-hosted Git service
|
||||
- [Gladys Assistant](https://github.com/gladysassistant/gladys) - A privacy-first, open-source home assistant
|
||||
- [Gotify](https://github.com/gotify/server) - Gotify - Simple server for sending and receiving notification messages
|
||||
-[GoToSocial](https://github.com/superseriousbusiness/gotosocial) - Fast, fun, ActivityPub server, powered by Go.
|
||||
- [Grafana](https://github.com/grafana/grafana) - The open and composable observability and data visualization platform
|
||||
- [Grav](https://github.com/getgrav/grav) - Fast, Simple, and Flexible, file-based Web-platform.
|
||||
- [Grocy](https://github.com/grocy/grocy) - Grocy - ERP beyond your fridge
|
||||
|
@ -43,6 +45,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
|||
- [Homarr](https://github.com/ajnart/homarr) - A homepage for your server
|
||||
- [Home Assistant](https://github.com/home-assistant/core) - Open source home automation that puts local control and privacy first
|
||||
- [HomeBox](https://github.com/hay-kot/homebox) - Homebox is the inventory and organization system built for the Home User
|
||||
- [Halo](https://github.com/halo-dev/halo) - Halo is a powerful and easy-to-use open source website building tool.
|
||||
- [Immich](https://github.com/immich-app/immich) - Photo and video backup solution directly from your mobile phone
|
||||
- [IT-Tools](https://github.com/CorentinTh/it-tools) - Collection of handy online tools for developers, with great UX.
|
||||
- [Invidious](https://github.com/iv-org/invidious) - An alternative front-end to YouTube
|
||||
|
@ -50,6 +53,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
|||
- [Jellyfin](https://github.com/jellyfin/jellyfin) - A media server for your home collection
|
||||
- [Jellyseerr](https://github.com/Fallenbagel/jellyseerr) - Fork of overseerr for Jellyfin support
|
||||
- [Joplin](https://github.com/laurent22/joplin) - Privacy focused note-taking app
|
||||
- [Kanboard](https://github.com/kanboard/kanboard) - Kanboard is a free and open source Kanban project management software.
|
||||
- [Kavita](https://github.com/Kareadita/Kavita) - Kavita is a fast, feature rich, cross platform reading server
|
||||
- [Libreddit](https://github.com/spikecodes/libreddit) - Private front-end for Reddit
|
||||
- [LibrePhotos](https://github.com/LibrePhotos/librephotos) - Complete photo management service
|
||||
|
@ -85,6 +89,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
|||
- [Peppermint](https://github.com/Peppermint-Lab/peppermint) - An open source ticket management & help desk solution.
|
||||
- [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
|
||||
- [Plausible](https://github.com/plausible/analytics) - Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.
|
||||
- [Plex](https://github.com/plexinc/pms-docker) - Stream Movies & TV Shows
|
||||
- [PodFetch](https://github.com/SamTV12345/PodFetch) - A sleek and efficient podcast downloader.
|
||||
- [Portainer](https://github.com/portainer/portainer) - Making Docker and Kubernetes management easy.
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"exposable": true,
|
||||
"port": 8011,
|
||||
"id": "actual-budget",
|
||||
"tipi_version": 1,
|
||||
"version": "23.4.2",
|
||||
"tipi_version": 2,
|
||||
"version": "23.5.0",
|
||||
"categories": [
|
||||
"finance"
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@ version: '3.9'
|
|||
services:
|
||||
actual-budget:
|
||||
container_name: actual-budget
|
||||
image: actualbudget/actual-server:23.4.2
|
||||
image: actualbudget/actual-server:23.5.0
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${APP_PORT}:5006
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "autobrr",
|
||||
"tipi_version": 3,
|
||||
"version": "1.24.1",
|
||||
"tipi_version": 4,
|
||||
"version": "1.25.0",
|
||||
"categories": [
|
||||
"media"
|
||||
],
|
||||
|
|
|
@ -3,7 +3,7 @@ version: '3'
|
|||
services:
|
||||
autobrr:
|
||||
container_name: autobrr
|
||||
image: ghcr.io/autobrr/autobrr:v1.24.1
|
||||
image: ghcr.io/autobrr/autobrr:v1.25.0
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${APP_PORT}:7474
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"exposable": true,
|
||||
"port": 6767,
|
||||
"id": "bazarr",
|
||||
"tipi_version": 4,
|
||||
"version": "1.2.0",
|
||||
"tipi_version": 5,
|
||||
"version": "1.2.1",
|
||||
"categories": [
|
||||
"media",
|
||||
"utilities"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
version: "3.7"
|
||||
services:
|
||||
bazarr:
|
||||
image: lscr.io/linuxserver/bazarr:1.2.0
|
||||
image: lscr.io/linuxserver/bazarr:1.2.1
|
||||
container_name: bazarr
|
||||
environment:
|
||||
- PUID=1000
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"exposable": true,
|
||||
"port": 8119,
|
||||
"id": "bookstack",
|
||||
"tipi_version": 6,
|
||||
"version": "23.02.20230226",
|
||||
"tipi_version": 7,
|
||||
"version": "23.05.20230503",
|
||||
"description": "BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. Default login: admin@admin.com password: password",
|
||||
"short_desc": "BookStack is a self-hosted platform for organising and storing information.",
|
||||
"author": "Dan Brown",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
version: "3.7"
|
||||
services:
|
||||
bookstack:
|
||||
image: lscr.io/linuxserver/bookstack:23.02.20230226
|
||||
image: lscr.io/linuxserver/bookstack:23.05.20230503
|
||||
container_name: bookstack
|
||||
environment:
|
||||
- APP_URL=http://${INTERNAL_IP}:${APP_PORT}
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "chatgpt-ui",
|
||||
"tipi_version": 5,
|
||||
"version": "2.5.3",
|
||||
"tipi_version": 7,
|
||||
"version": "2.5.4",
|
||||
"categories": [
|
||||
"utilities"
|
||||
"ai"
|
||||
],
|
||||
"description": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage",
|
||||
"short_desc": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
version: '3'
|
||||
services:
|
||||
chatgpt-ui:
|
||||
image: wongsaang/chatgpt-ui-client:v2.5.3
|
||||
image: wongsaang/chatgpt-ui-client:v2.5.4
|
||||
container_name: chatgpt-ui
|
||||
environment:
|
||||
- SERVER_DOMAIN=http://chatgpt-ui-web-server
|
||||
|
|
|
@ -5,9 +5,11 @@
|
|||
"exposable": true,
|
||||
"port": 8179,
|
||||
"id": "chatpad",
|
||||
"tipi_version": 1,
|
||||
"tipi_version": 2,
|
||||
"version": "latest",
|
||||
"categories": ["utilities"],
|
||||
"categories": [
|
||||
"ai"
|
||||
],
|
||||
"description": "Not just another ChatGPT user-interface!",
|
||||
"short_desc": "Not just another ChatGPT user-interface!",
|
||||
"author": "Andrei Canta",
|
||||
|
|
|
@ -5,9 +5,11 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "dailytxt",
|
||||
"tipi_version": 1,
|
||||
"tipi_version": 2,
|
||||
"version": "1.0.12",
|
||||
"categories": ["utilities"],
|
||||
"categories": [
|
||||
"utilities"
|
||||
],
|
||||
"description": "DailyTxT is an encrypted Diary Web-App to write down your stories of the day and to find them again easily.",
|
||||
"short_desc": "Encrypted Diary Web-App",
|
||||
"author": "PhiTux",
|
||||
|
@ -20,11 +22,12 @@
|
|||
"env_variable": "DAILYTXT_SECRET_KEY"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"type": "boolean",
|
||||
"label": "Allow User Registrastion",
|
||||
"hint": "Set it to false to disallow registration of new users.",
|
||||
"hint": "Set it to true intially to create the first user.",
|
||||
"placeholder": "true",
|
||||
"required": true,
|
||||
"default": true,
|
||||
"env_variable": "DAILYTXT_ALLOW_REGISTRATION"
|
||||
}
|
||||
]
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "dashdot",
|
||||
"tipi_version": 2,
|
||||
"version": "5.1.3",
|
||||
"tipi_version": 3,
|
||||
"version": "5.2.1",
|
||||
"categories": [
|
||||
"utilities"
|
||||
],
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
version: '3.5'
|
||||
services:
|
||||
dashdot:
|
||||
image: mauricenino/dashdot:5.1.3
|
||||
image: mauricenino/dashdot:5.2.1
|
||||
restart: unless-stopped
|
||||
container_name: dashdot
|
||||
privileged: true
|
||||
|
|
|
@ -10,7 +10,7 @@ services:
|
|||
- DELUGE_LOGLEVEL=error #optional
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/deluge/config:/config
|
||||
- ${ROOT_FOLDER_HOST}/media/torrents:/downloads
|
||||
- ${ROOT_FOLDER_HOST}/media/torrents:/media/torrents
|
||||
ports:
|
||||
- ${APP_PORT}:8112
|
||||
- 6881:6881
|
||||
|
|
|
@ -10,7 +10,7 @@ Password: deluge
|
|||
| Root Folder | Container Folder |
|
||||
|----------------------------------------------|------------------|
|
||||
| /runtipi/app-data/deluge/data/deluge/config | /config |
|
||||
| /runtipi/media/torrents | /downloads |
|
||||
| /runtipi/media/torrents | /media/torrents |
|
||||
|
||||
---
|
||||
|
||||
|
|
35
apps/filestash/config.json
Normal file
35
apps/filestash/config.json
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Filestash",
|
||||
"port": 8189,
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "filestash",
|
||||
"tipi_version": 1,
|
||||
"version": "397fd8b",
|
||||
"categories": ["utilities"],
|
||||
"description": "A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze",
|
||||
"short_desc": "A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze",
|
||||
"author": "mickael-kerjean",
|
||||
"source": "https://github.com/mickael-kerjean/filestash",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "text",
|
||||
"label": "(Optional) Google Drive Client ID",
|
||||
"required": false,
|
||||
"env_variable": "FILESTASH_GDRIVE_CLIENT_ID"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "(Optional) Google Drive Client Secret",
|
||||
"required": false,
|
||||
"env_variable": "FILESTASH_GDRIVE_CLIENT_SECRET"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "(Optional) Dropbox Client ID",
|
||||
"required": false,
|
||||
"env_variable": "FILESTASH_DROPBOX_CLIENT_ID"
|
||||
}
|
||||
]
|
||||
}
|
35
apps/filestash/docker-compose.yml
Normal file
35
apps/filestash/docker-compose.yml
Normal file
|
@ -0,0 +1,35 @@
|
|||
version: '2'
|
||||
services:
|
||||
filestash:
|
||||
container_name: filestash
|
||||
image: machines/filestash:397fd8b
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- APPLICATION_URL=${APP_DOMAIN}
|
||||
- GDRIVE_CLIENT_ID=${FILESTASH_GDRIVE_CLIENT_ID}
|
||||
- GDRIVE_CLIENT_SECRET=${FILESTASH_GDRIVE_CLIENT_SECRET}
|
||||
- DROPBOX_CLIENT_ID=${FILESTASH_DROPBOX_CLIENT_ID}
|
||||
- ONLYOFFICE_URL=http://filestash-onlyoffice
|
||||
ports:
|
||||
- ${APP_PORT}:8334
|
||||
depends_on:
|
||||
- filestash-onlyoffice
|
||||
networks:
|
||||
- tipi_main_network
|
||||
labels:
|
||||
traefik.enable: ${APP_EXPOSED}
|
||||
traefik.http.routers.filestash.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.filestash.entrypoints: websecure
|
||||
traefik.http.routers.filestash.service: filestash
|
||||
traefik.http.routers.filestash.tls.certresolver: myresolver
|
||||
traefik.http.services.filestash.loadbalancer.server.port: 8334
|
||||
|
||||
filestash-onlyoffice:
|
||||
container_name: filestash_oods
|
||||
image: onlyoffice/documentserver:7.3.3.50
|
||||
restart: unless-stopped
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
networks:
|
||||
- tipi_main_network
|
||||
|
76
apps/filestash/metadata/description.md
Normal file
76
apps/filestash/metadata/description.md
Normal file
|
@ -0,0 +1,76 @@
|
|||
## Configure the Dropbox connector
|
||||
|
||||
Configuring Dropbox must be done by:
|
||||
|
||||
1. requesting access to the Dropbox API. Without this, Filestash can’t access anything stored on the Dropbox servers. To do that, go [there](https://www.dropbox.com/developers/apps/), then:
|
||||
- click: “Create App”
|
||||
- select: “dropbox api”
|
||||
- select: “Full Dropbox” or “App folder”
|
||||
- type: “whatever name you want”
|
||||
- in the ‘redirect URI’ field, insert https://example.com/login
|
||||
2. store the `client_id` configuration given by Dropbox (also known as the `App key`) in the admin console or by setting the `DROPBOX_CLIENT_ID` environment variable
|
||||
|
||||
## Configure the Google Drive connector
|
||||
|
||||
Configuring Google drive can be done by:
|
||||
|
||||
1. Requesting access to the Google Drive API. Without this, Filestash cannot store anything on Google’s servers. To do that, you need to [go there](https://console.developers.google.com/apis/api/drive.googleapis.com/overview) and enable the Drive API. Then, go [there](https://console.developers.google.com/apis/credentials/oauthclient) and create credentials that Filestash will be using to communicate with Google
|
||||
2. Publish the configuration provided by Google (`client_id` and `client_secret`) in your Filestash admin console or by setting the `GDRIVE_CLIENT_ID` and `GDRIVE_CLIENT_SECRET` environment variables
|
||||
|
||||
---
|
||||
|
||||
[![screenshot](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo.jpg)](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo.jpg)
|
||||
|
||||
[![](https://camo.githubusercontent.com/189498ada91da90bbdb4744c08cc65e8967890ff749389ddec490402333890e8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d69636b61656c2d6b65726a65616e2f66696c657374617368)](https://github.com/mickael-kerjean/contributors)[![](https://camo.githubusercontent.com/437c9de456499e8dda9d0ec3a4477b6b75655dc94d19986e17810fe0098781bc/68747470733a2f2f696d672e736869656c64732e696f2f6f70656e636f6c6c6563746976652f6261636b6572732f66696c657374617368) ](https://opencollective.com/filestash)[![](https://camo.githubusercontent.com/e8018d8ef35a1fd24b3740ca55507ac58f58b20be2a676f59f44ac08cb7ed780/68747470733a2f2f696d672e736869656c64732e696f2f6f70656e636f6c6c6563746976652f73706f6e736f72732f66696c657374617368) ](https://opencollective.com/filestash)[![](https://camo.githubusercontent.com/53f6b0e53320b9f7669819bc0bb281ea1a3d4a648c3611a7a669dbd1b58da7aa/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6d616368696e65732f66696c657374617368)](https://hub.docker.com/r/machines/filestash)
|
||||
[![](https://github.com/mickael-kerjean/filestash/actions/workflows/ci.yml/badge.svg)](https://github.com/mickael-kerjean/filestash#)[![](https://camo.githubusercontent.com/bc51a239b32cd20f21e82567ceb3d68a589ba2a61c38d1138ee9ad3eb160950a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4952432d25323366696c6573746173682d627269676874677265656e2e737667)](https://kiwiirc.com/nextclient/#irc://irc.libera.chat/#filestash?nick=guest??)
|
||||
|
||||
A Dropbox-like file manager that let you manage your data anywhere it is located:
|
||||
[FTP](https://www.filestash.app/ftp-client.html) • FTPS • [SFTP](https://www.filestash.app/ssh-file-transfer.html) • [WebDAV](https://www.filestash.app/webdav-client.html) • Git • [S3](https://www.filestash.app/s3-browser.html) • NFS • Samba • Artifactory • [LDAP](https://www.filestash.app/ldap-browser.html) • Mysql
|
||||
Storj • CardDAV • CalDAV • Backblaze B2 • [Minio](https://www.filestash.app/s3-browser.html)
|
||||
Dropbox • Google Drive
|
||||
|
||||
# [](https://github.com/mickael-kerjean/filestash#features)Features
|
||||
|
||||
- Manage your files from a browser
|
||||
- Authentication middleware to connect to various source of user
|
||||
- Flexible Share mechanism
|
||||
- Chromecast support for images, music, and videos
|
||||
- Video player
|
||||
- Video transcoding (mov, mkv, avi, mpeg, and more)
|
||||
- Image viewer
|
||||
- Image transcoding (raw images from Nikon, Canon, and more)
|
||||
- Photo management
|
||||
- Audio player
|
||||
- Shared links are full fledge network drive
|
||||
- Office documents (docx, xlsx and more)
|
||||
- Full org mode client ([documentation](https://www.filestash.app/2018/05/31/release-note-v0.1/))
|
||||
- User friendly
|
||||
- Mobile friendly
|
||||
- Customisable
|
||||
- Plugins
|
||||
- Super fast
|
||||
- Upload files and folders
|
||||
- Download as zip
|
||||
- Multiple cloud providers and protocols, easily extensible
|
||||
- Nyan cat loader
|
||||
- Quick access: frequently access folders are pin to the homepage
|
||||
- Emacs, VIM or Sublime keybindings `;)`
|
||||
- Search
|
||||
- .. and many more
|
||||
|
||||
# Documentation
|
||||
|
||||
- [Getting started](https://www.filestash.app/docs/)
|
||||
- [Installation](https://www.filestash.app/docs/install-and-upgrade/)
|
||||
- [FAQ](https://www.filestash.app/docs/faq/)
|
||||
|
||||
# Screenshots
|
||||
|
||||
[![user experience on navigation](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/navigation.gif)](https://demo.filestash.app)[![user experience on navigation](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/navigation.gif)
|
||||
|
||||
](https://demo.filestash.app/)[](https://demo.filestash.app/)
|
||||
|
||||
[![user experience on medias](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo_management.gif)](http://demo.filestash.app)[![user experience on medias](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo_management.gif)
|
||||
|
||||
](http://demo.filestash.app/)[](http://demo.filestash.app/)
|
||||
\
|
BIN
apps/filestash/metadata/logo.jpg
Normal file
BIN
apps/filestash/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
|
@ -5,9 +5,11 @@
|
|||
"exposable": true,
|
||||
"id": "flatnotes",
|
||||
"port": 8137,
|
||||
"tipi_version": 2,
|
||||
"version": "v2.2.0",
|
||||
"categories": ["utilities"],
|
||||
"tipi_version": 4,
|
||||
"version": "3.0.1",
|
||||
"categories": [
|
||||
"utilities"
|
||||
],
|
||||
"description": "A self-hosted, database-less note taking web app that utilises a flat folder of markdown files for storage.",
|
||||
"short_desc": "A self-hosted, database-less note taking web app",
|
||||
"author": "Dullage",
|
||||
|
|
|
@ -3,7 +3,7 @@ version: "3"
|
|||
services:
|
||||
flatnotes:
|
||||
container_name: flatnotes
|
||||
image: dullage/flatnotes:v2.2.0
|
||||
image: dullage/flatnotes:v3.0.1
|
||||
environment:
|
||||
FLATNOTES_AUTH_TYPE: ${FLATNOTES_AUTH_TYPE}
|
||||
FLATNOTES_USERNAME: ${FLATNOTES_USERNAME}
|
||||
|
@ -11,11 +11,11 @@ services:
|
|||
FLATNOTES_SECRET_KEY: ${FLATNOTES_SECRET_KEY}
|
||||
FLATNOTES_TOTP_KEY: ${FLATNOTES_TOTP_KEY}
|
||||
volumes:
|
||||
- "${APP_DATA_DIR}/data:/app/data"
|
||||
- "${APP_DATA_DIR}/data:/data"
|
||||
# - "./index:/app/data/.flatnotes"
|
||||
# Optional. Allows you to save the search index in a different location.
|
||||
ports:
|
||||
- ${APP_PORT}:80
|
||||
- ${APP_PORT}:8080
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- tipi_main_network
|
||||
|
@ -25,4 +25,4 @@ services:
|
|||
traefik.http.routers.flatnotes.entrypoints: websecure
|
||||
traefik.http.routers.flatnotes.service: flatnotes
|
||||
traefik.http.routers.flatnotes.tls.certresolver: myresolver
|
||||
traefik.http.services.flatnotes.loadbalancer.server.port: 80
|
||||
traefik.http.services.flatnotes.loadbalancer.server.port: 8080
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "ghost",
|
||||
"tipi_version": 12,
|
||||
"version": "5.45.1",
|
||||
"tipi_version": 14,
|
||||
"version": "5.46.1",
|
||||
"categories": [
|
||||
"social",
|
||||
"media"
|
||||
|
|
|
@ -3,7 +3,7 @@ version: '3.9'
|
|||
services:
|
||||
|
||||
ghost:
|
||||
image: ghost:5.45.1
|
||||
image: ghost:5.46.1
|
||||
container_name: ghost
|
||||
depends_on:
|
||||
- ghostdb
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "gitea",
|
||||
"tipi_version": 6,
|
||||
"version": "1.19.2",
|
||||
"tipi_version": 7,
|
||||
"version": "1.19.3",
|
||||
"categories": [
|
||||
"development"
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3.7"
|
|||
|
||||
services:
|
||||
gitea:
|
||||
image: gitea/gitea:1.19.2
|
||||
image: gitea/gitea:1.19.3
|
||||
container_name: gitea
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": false,
|
||||
"id": "gladys",
|
||||
"tipi_version": 4,
|
||||
"version": "4.21.1",
|
||||
"tipi_version": 6,
|
||||
"version": "4.22.0",
|
||||
"categories": [
|
||||
"automation"
|
||||
],
|
||||
|
|
|
@ -3,7 +3,7 @@ version: '3'
|
|||
services:
|
||||
gladys:
|
||||
container_name: gladys
|
||||
image: gladysassistant/gladys:v4.21.1
|
||||
image: gladysassistant/gladys:v4.22.0
|
||||
privileged: true
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
|
|
71
apps/gotosocial/config.json
Normal file
71
apps/gotosocial/config.json
Normal file
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "GoToSocial",
|
||||
"port": 8188,
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"force_expose": true,
|
||||
"id": "gotosocial",
|
||||
"tipi_version": 3,
|
||||
"uid": 1000,
|
||||
"gid": 1000,
|
||||
"version": "0.8.1",
|
||||
"categories": ["social"],
|
||||
"description": "Fast, fun, ActivityPub server, powered by Go.",
|
||||
"short_desc": "Fast, fun, ActivityPub server, powered by Go.",
|
||||
"author": "superseriousbusiness",
|
||||
"source": "https://github.com/superseriousbusiness/gotosocial",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "random",
|
||||
"label": "GoToSocial DB Password",
|
||||
"min": 32,
|
||||
"env_variable": "GTS_DB_PASSWORD"
|
||||
},
|
||||
{
|
||||
"label": "Sign Ups",
|
||||
"type": "text",
|
||||
"required": true,
|
||||
"options": [
|
||||
{ "label": "Open Sign Up", "value": "true" },
|
||||
{ "label": "Invite Only", "value": "false" }
|
||||
],
|
||||
"env_variable": "GTS_ACCOUNTS_REGISTRATION_OPE"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "SMTP Host",
|
||||
"hint": "Your SMTP Server",
|
||||
"required": false,
|
||||
"env_variable": "GTS_SMTP_HOST"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "SMTP Port",
|
||||
"hint": "Your SMTP Port",
|
||||
"required": false,
|
||||
"env_variable": "GTS_SMTP_PORT"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "SMTP Username",
|
||||
"hint": "Your SMTP Server User/Username",
|
||||
"required": false,
|
||||
"env_variable": "GTS_SMTP_USERNAME"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "SMTP Password",
|
||||
"hint": "Your SMTP Server Password",
|
||||
"required": false,
|
||||
"env_variable": "GTS_SMTP_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "SMTP From Address",
|
||||
"hint": "Make sure the Format is like noreply@example.com",
|
||||
"required": false,
|
||||
"env_variable": "GTS_SMTP_FROM"
|
||||
}
|
||||
]
|
||||
}
|
52
apps/gotosocial/docker-compose.yml
Normal file
52
apps/gotosocial/docker-compose.yml
Normal file
|
@ -0,0 +1,52 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
gotosocial:
|
||||
container_name: gotosocial
|
||||
image: superseriousbusiness/gotosocial:0.8.1
|
||||
user: 1000:1000
|
||||
ports:
|
||||
- ${APP_PORT}:8080
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/gotosocial:/gotosocial/storage
|
||||
depends_on:
|
||||
- gotosocial-db
|
||||
environment:
|
||||
- GTS_HOST=${APP_DOMAIN}
|
||||
- GTS_LETSENCRYPT_ENABLED=false
|
||||
- GTS_DB_TYPE=postgres
|
||||
- GTS_DB_ADDRESS=gotosocial-db
|
||||
- GTS_DB_PORT=5432
|
||||
- GTS_DB_USER=tipi
|
||||
- GTS_DB_PASSWORD=${GTS_DB_PASSWORD}
|
||||
- GTS_DB_DATABASE=gotosocial-db
|
||||
- GTS_ACCOUNTS_REGISTRATION_OPEN=${GTS_ACCOUNTS_REGISTRATION_OPEN}
|
||||
- GTS_SMTP_HOST=${GTS_SMTP_HOST}
|
||||
- GTS_SMTP_PORT=${GTS_SMTP_PORT}
|
||||
- GTS_SMTP_USERNAME=${GTS_SMTP_USERNAME}
|
||||
- GTS_SMTP_PASSWORD=${GTS_SMTP_PASSWORD}
|
||||
- GTS_SMTP_FROM=${GTS_SMTP_FROM}
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- tipi_main_network
|
||||
labels:
|
||||
traefik.enable: ${APP_EXPOSED}
|
||||
traefik.http.routers.gotosocial.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.gotosocial.entrypoints: websecure
|
||||
traefik.http.routers.gotosocial.service: gotosocial
|
||||
traefik.http.routers.gotosocial.tls.certresolver: myresolver
|
||||
traefik.http.services.gotosocial.loadbalancer.server.port: 8080
|
||||
|
||||
gotosocial-db:
|
||||
container_name: gotosocial-db
|
||||
image: postgres:14
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${GTS_DB_PASSWORD}
|
||||
POSTGRES_USER: tipi
|
||||
POSTGRES_DB: gotosocial-db
|
||||
PG_DATA: /var/lib/postgresql/data
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- tipi_main_network
|
58
apps/gotosocial/metadata/description.md
Normal file
58
apps/gotosocial/metadata/description.md
Normal file
|
@ -0,0 +1,58 @@
|
|||
# Installation Docs
|
||||
|
||||
### To Create your user
|
||||
1. SSH into your Tipi Server
|
||||
2. Fill in your credentials (some_username,someone@example.org, some_very_good_password), then run the command:
|
||||
```
|
||||
docker exec -it gotosocial /gotosocial/gotosocial admin account create --username some_username --email someone@example.org --password 'some_very_good_password'
|
||||
```
|
||||
### To promote the initial user (or any user) to admin:
|
||||
1. SSH into your Tipi Server
|
||||
2. Fill in your credentials (some_username), then run the command:
|
||||
```
|
||||
docker exec -it gotosocial /gotosocial/gotosocial admin account promote --username some_username
|
||||
```
|
||||
3. Go Back To your WebUI, Stop and Start your instance.
|
||||
4. Go to yourdomain.com/settings and you will be able to see personal and instance settings!
|
||||
|
||||
### (Optional) S3 Bucket
|
||||
|
||||
If you would rather store your data within a S3 Bucket, here is an easy way to do it.
|
||||
|
||||
1. Follow the [App User Config Guide](https://www.runtipi.io/docs/guides/customize-app-config) to make a folder and app.env.
|
||||
2. In the docker-compose.yml you can set the S3 Config Like
|
||||
|
||||
```
|
||||
version: "3"
|
||||
services:
|
||||
gotosocial:
|
||||
environment:
|
||||
- GTS_STORAGE_BACKEND=s3
|
||||
- GTS_STORAGE_S3_ENDPOINT=your_endpoint
|
||||
- GTS_STORAGE_S3_USE_SSL=true
|
||||
- GTS_STORAGE_S3_ACCESS_KEY=your_access_key
|
||||
- GTS_STORAGE_S3_SECRET_KEY=your_secret_key
|
||||
- GTS_STORAGE_S3_BUCKET=your_bucket
|
||||
```
|
||||
3. Restart your app, and your good to go!
|
||||
|
||||
4. For More Info [Read the Docs!](https://docs.gotosocial.org/en/latest/configuration/storage/)
|
||||
|
||||
---
|
||||
# GoToSocial
|
||||
|
||||
GoToSocial is an [ActivityPub](https://activitypub.rocks/) social network server, written in Golang.
|
||||
|
||||
With GoToSocial, you can keep in touch with your friends, post, read, and share images and articles. All without being tracked or advertised to!
|
||||
|
||||
[![](https://github.com/superseriousbusiness/gotosocial/raw/main/docs/assets/sloth.png)](https://github.com/superseriousbusiness/gotosocial/blob/main/docs/assets/sloth.png)
|
||||
|
||||
**GoToSocial is still [ALPHA SOFTWARE](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha)**. It is already deployable and useable, and it federates cleanly with many other Fediverse servers (not yet all). However, many things are not yet implemented, and there are plenty of bugs! We foresee entering beta somewhere in 2023.
|
||||
|
||||
Documentation is at [docs.gotosocial.org](https://docs.gotosocial.org). You can skip straight to the API documentation [here](https://docs.gotosocial.org/en/latest/api/swagger/). To build from source, check the [CONTRIBUTING.md](https://github.com/superseriousbusiness/gotosocial/blob/main/CONTRIBUTING.md) file.
|
||||
|
||||
Here's a screenshot of the instance landing page!
|
||||
|
||||
[![Screenshot of the landing page for the GoToSocial instance goblin.technology. It shows basic information about the instance; number of users and posts etc.](https://github.com/superseriousbusiness/gotosocial/raw/main/docs/assets/instancesplash.png)](https://github.com/superseriousbusiness/gotosocial/blob/main/docs/assets/instancesplash.png)
|
||||
|
||||
## [Read More!](https://github.com/superseriousbusiness/gotosocial#table-of-contents-)
|
BIN
apps/gotosocial/metadata/logo.jpg
Normal file
BIN
apps/gotosocial/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
43
apps/halo/config.json
Normal file
43
apps/halo/config.json
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Halo",
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"port": 8092,
|
||||
"id": "halo",
|
||||
"tipi_version": 1,
|
||||
"version": "2.5.2",
|
||||
"description": "Halo is a powerful and easy-to-use open source website building tool.",
|
||||
"short_desc": "Halo - Open source website building tool.",
|
||||
"categories": [
|
||||
"social",
|
||||
"media"
|
||||
],
|
||||
"author": "halo-dev",
|
||||
"source": "https://github.com/halo-dev/halo",
|
||||
"website": "https://halo.run",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "random",
|
||||
"label": "Database password",
|
||||
"min": 20,
|
||||
"env_variable": "HALO_DATABASE_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Initial admin username",
|
||||
"env_variable": "HALO_ADMIN_USERNAME"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Initial admin password",
|
||||
"min": 8,
|
||||
"env_variable": "HALO_ADMIN_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "url",
|
||||
"label": "External url",
|
||||
"env_variable": "HALO_EXTERNAL_URL"
|
||||
}
|
||||
]
|
||||
}
|
56
apps/halo/docker-compose.yml
Normal file
56
apps/halo/docker-compose.yml
Normal file
|
@ -0,0 +1,56 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
halo:
|
||||
image: halohub/halo:2.5.2
|
||||
container_name: halo
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
halodb:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- tipi_main_network
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}:/root/.halo2
|
||||
ports:
|
||||
- ${APP_PORT}:8090
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
command:
|
||||
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
|
||||
- --spring.r2dbc.username=halo
|
||||
- --spring.r2dbc.password=${HALO_DATABASE_PASSWORD}
|
||||
- --spring.sql.init.platform=postgresql
|
||||
- --halo.external-url=${HALO_EXTERNAL_URL}
|
||||
- --halo.security.initializer.superadminusername=${HALO_ADMIN_USERNAME}
|
||||
- --halo.security.initializer.superadminpassword=${HALO_ADMIN_PASSWORD}
|
||||
labels:
|
||||
traefik.enable: ${APP_EXPOSED}
|
||||
traefik.http.routers.halo.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.halo.entrypoints: websecure
|
||||
traefik.http.routers.halo.service: halo
|
||||
traefik.http.routers.halo.tls.certresolver: myresolver
|
||||
traefik.http.services.halo.loadbalancer.server.port: 8090
|
||||
|
||||
halodb:
|
||||
image: postgres:latest
|
||||
container_name: halodb
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- tipi_main_network
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/db:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: [ "CMD", "pg_isready" ]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${HALO_DATABASE_PASSWORD}
|
||||
- POSTGRES_USER=halo
|
||||
- POSTGRES_DB=halo
|
||||
- PGUSER=halo
|
9
apps/halo/metadata/description.md
Normal file
9
apps/halo/metadata/description.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Open source website building tool
|
||||
|
||||
[Halo](https://github.com/halo-dev/halo) is a powerful and easy-to-use open source website building tool, with rich themes and plugins to help you build the ideal site in your mind.
|
||||
|
||||
## Links
|
||||
|
||||
- Repository: <https://github.com/halo-dev/halo>
|
||||
- Awesome Halo: <https://github.com/halo-sigs/awesome-halo>
|
||||
- Homepage: <https://halo.run>
|
BIN
apps/halo/metadata/logo.jpg
Normal file
BIN
apps/halo/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
|
@ -5,8 +5,8 @@
|
|||
"exposable": true,
|
||||
"port": 8097,
|
||||
"id": "jackett",
|
||||
"tipi_version": 14,
|
||||
"version": "0.20.4013",
|
||||
"tipi_version": 21,
|
||||
"version": "0.20.4119",
|
||||
"description": "Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches.",
|
||||
"short_desc": "API Support for your favorite torrent trackers ",
|
||||
"categories": [
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
version: "3.7"
|
||||
services:
|
||||
jackett:
|
||||
image: lscr.io/linuxserver/jackett:0.20.4013
|
||||
image: lscr.io/linuxserver/jackett:0.20.4119
|
||||
container_name: jackett
|
||||
environment:
|
||||
- PUID=1000
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "librephotos",
|
||||
"tipi_version": 5,
|
||||
"version": "2023w12",
|
||||
"tipi_version": 6,
|
||||
"version": "2023w18",
|
||||
"supported_architectures": ["amd64", "arm64"],
|
||||
"categories": ["photography"],
|
||||
"description": "Complete photo management service",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
version: '3.7'
|
||||
services:
|
||||
librephotos:
|
||||
image: reallibrephotos/librephotos-proxy:2023w12
|
||||
image: reallibrephotos/librephotos-proxy:2023w18
|
||||
container_name: librephotos
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
|
@ -43,7 +43,7 @@ services:
|
|||
- tipi_main_network
|
||||
|
||||
librephotos-frontend:
|
||||
image: reallibrephotos/librephotos-frontend:2023w12
|
||||
image: reallibrephotos/librephotos-frontend:2023w18
|
||||
container_name: librephotos-frontend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
|
@ -52,7 +52,7 @@ services:
|
|||
- tipi_main_network
|
||||
|
||||
librephotos-backend:
|
||||
image: reallibrephotos/librephotos:2023w12
|
||||
image: reallibrephotos/librephotos:2023w18
|
||||
container_name: librephotos-backend
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
|
@ -76,6 +76,7 @@ services:
|
|||
- REDIS_PORT=6379
|
||||
- ALLOW_UPLOAD=true
|
||||
- DEBUG=0
|
||||
- CSRF_TRUSTED_ORIGINS=${APP_PROTOCOL:-http}://${APP_DOMAIN},http://${INTERNAL_IP}:${APP_PORT}
|
||||
# Wait for Postgres
|
||||
depends_on:
|
||||
librephotos-db:
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "movary",
|
||||
"tipi_version": 3,
|
||||
"version": "0.50.0",
|
||||
"tipi_version": 4,
|
||||
"version": "0.51.0",
|
||||
"categories": [
|
||||
"media"
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3"
|
|||
|
||||
services:
|
||||
movary:
|
||||
image: leepeuker/movary:0.50.0
|
||||
image: leepeuker/movary:0.51.0
|
||||
container_name: movary
|
||||
environment:
|
||||
- TMDB_API_KEY=${MOVARY_TMDB_API_KEY}
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "onedev",
|
||||
"tipi_version": 6,
|
||||
"version": "8.1.3",
|
||||
"tipi_version": 10,
|
||||
"version": "8.2.0",
|
||||
"categories": [
|
||||
"development"
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@ version: '3.7'
|
|||
|
||||
services:
|
||||
onedev:
|
||||
image: 1dev/server:8.1.3
|
||||
image: 1dev/server:8.2.0
|
||||
container_name: onedev
|
||||
environment:
|
||||
- hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect
|
||||
|
|
37
apps/plausible/config.json
Normal file
37
apps/plausible/config.json
Normal file
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Plausible",
|
||||
"port": 8190,
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "plausible",
|
||||
"tipi_version": 1,
|
||||
"version": "v1.5.1",
|
||||
"categories": ["utilities"],
|
||||
"description": "Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.",
|
||||
"short_desc": "Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.",
|
||||
"author": "Plausible",
|
||||
"source": "https://github.com/plausible/analytics",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "random",
|
||||
"label": "Plausible Secret Key",
|
||||
"min": 64,
|
||||
"env_variable": "PLAUSIBLE_SECRET_KEY_BASE"
|
||||
},
|
||||
{
|
||||
"type": "random",
|
||||
"label": "Plausible DB Key",
|
||||
"min": 32,
|
||||
"env_variable": "PLAUSIBLE_DB_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"label": "Disable User Registration",
|
||||
"hint": "Check to enable Registration",
|
||||
"default": "true",
|
||||
"required": true,
|
||||
"env_variable": "PLAUSIBLE_DISABLE_REGISTRATION"
|
||||
}
|
||||
]
|
||||
}
|
16
apps/plausible/data/clickhouse/clickhouse-config.xml
Normal file
16
apps/plausible/data/clickhouse/clickhouse-config.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<clickhouse>
|
||||
<logger>
|
||||
<level>warning</level>
|
||||
<console>true</console>
|
||||
</logger>
|
||||
|
||||
<!-- Stop all the unnecessary logging -->
|
||||
<query_thread_log remove="remove"/>
|
||||
<query_log remove="remove"/>
|
||||
<text_log remove="remove"/>
|
||||
<trace_log remove="remove"/>
|
||||
<metric_log remove="remove"/>
|
||||
<asynchronous_metric_log remove="remove"/>
|
||||
<session_log remove="remove"/>
|
||||
<part_log remove="remove"/>
|
||||
</clickhouse>
|
|
@ -0,0 +1,8 @@
|
|||
<clickhouse>
|
||||
<profiles>
|
||||
<default>
|
||||
<log_queries>0</log_queries>
|
||||
<log_query_threads>0</log_query_threads>
|
||||
</default>
|
||||
</profiles>
|
||||
</clickhouse>
|
56
apps/plausible/docker-compose.yml
Normal file
56
apps/plausible/docker-compose.yml
Normal file
|
@ -0,0 +1,56 @@
|
|||
version: "3.7"
|
||||
services:
|
||||
plausible-db:
|
||||
# supported versions are 12, 13, and 14
|
||||
image: postgres:14-alpine
|
||||
container_name: plausible-db
|
||||
restart: always
|
||||
networks:
|
||||
- tipi_main_network
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/database/:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${PLAUSIBLE_DB_PASSWORD}
|
||||
- POSTGRES_USER=tipi
|
||||
- POSTGRES_DB=plausible-db
|
||||
|
||||
plausible-events-db:
|
||||
container_name: plausible-events-db
|
||||
image: clickhouse/clickhouse-server:22.6-alpine
|
||||
restart: always
|
||||
networks:
|
||||
- tipi_main_network
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/plausible-event-data:/var/lib/clickhouse
|
||||
- ${APP_DATA_DIR}/data/clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
|
||||
- ${APP_DATA_DIR}/data/clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 262144
|
||||
hard: 262144
|
||||
|
||||
plausible:
|
||||
container_name: plausible
|
||||
image: plausible/analytics:v1.5.1
|
||||
restart: always
|
||||
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"
|
||||
depends_on:
|
||||
- plausible-db
|
||||
- plausible-events-db
|
||||
ports:
|
||||
- ${APP_PORT}:8000
|
||||
environment:
|
||||
- BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
|
||||
- SECRET_KEY_BASE=${PLAUSIBLE_SECRET_KEY_BASE}
|
||||
- DATABASE_URL=postgres://tipi:${PLAUSIBLE_DB_PASSWORD}@plausible-db:5432/plausible-db
|
||||
- CLICKHOUSE_DATABASE_URL=http://plausible-events-db:8123/plausible_events_db
|
||||
- DISABLE_REGISTRATION=${PLAUSIBLE_DISABLE_REGISTRATION}
|
||||
networks:
|
||||
- tipi_main_network
|
||||
labels:
|
||||
traefik.enable: ${APP_EXPOSED}
|
||||
traefik.http.routers.plausible.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.plausible.entrypoints: websecure
|
||||
traefik.http.routers.plausible.service: plausible
|
||||
traefik.http.routers.plausible.tls.certresolver: myresolver
|
||||
traefik.http.services.plausible.loadbalancer.server.port: 8000
|
25
apps/plausible/metadata/description.md
Normal file
25
apps/plausible/metadata/description.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
[![Plausible Analytics](https://raw.githubusercontent.com/plausible/docs/master/static/img/plausible-analytics-icon-top.png)](https://plausible.io/)
|
||||
|
||||
[Simple Metrics](https://plausible.io/simple-web-analytics) | [Lightweight Script](https://plausible.io/lightweight-web-analytics) | [Privacy Focused](https://plausible.io/privacy-focused-web-analytics) | [Open Source](https://plausible.io/open-source-website-analytics) | [Docs](https://plausible.io/docs) | [Contributing](https://github.com/plausible/analytics/blob/master/CONTRIBUTING.md)
|
||||
|
||||
|
||||
[Plausible Analytics](https://plausible.io/) is a simple, lightweight (< 1 KB), open source and privacy-friendly alternative to Google Analytics. It doesn’t use cookies and is fully compliant with GDPR, CCPA and PECR. You can self-host or have us run Plausible for you in the cloud. Here's [the live demo of our own website stats](https://plausible.io/plausible.io). Made and hosted in the EU 🇪🇺
|
||||
|
||||
We are dedicated to making web analytics more privacy-friendly. Our mission is to reduce corporate surveillance by providing an alternative web analytics tool which doesn’t come from the AdTech world. We are completely independent and solely funded by our subscribers.
|
||||
|
||||
[![Plausible Analytics](https://camo.githubusercontent.com/74a68bf1e55052517b1eab2e7ec8fb12a2f065e5cd6f12dd2a5002f6dcdc0d82/68747470733a2f2f706c61757369626c652e696f2f646f63732f696d672f706c61757369626c652d616e616c79746963732e706e67)](https://camo.githubusercontent.com/74a68bf1e55052517b1eab2e7ec8fb12a2f065e5cd6f12dd2a5002f6dcdc0d82/68747470733a2f2f706c61757369626c652e696f2f646f63732f696d672f706c61757369626c652d616e616c79746963732e706e67)
|
||||
|
||||
## Why Plausible?
|
||||
|
||||
Here's what makes Plausible a great Google Analytics alternative and why we're trusted by thousands of paying subscribers to deliver their website and business insights:
|
||||
|
||||
- **Clutter Free**: Plausible Analytics provides [simple web analytics](https://plausible.io/simple-web-analytics) and it cuts through the noise. No layers of menus, no need for custom reports. Get all the important insights on one single page. No training necessary.
|
||||
- **GDPR/CCPA/PECR compliant**: Measure traffic, not individuals. No personal data or IP addresses are ever stored in our database. We don't use cookies or any other persistent identifiers. [Read more about our data policy](https://plausible.io/data-policy)
|
||||
- **Lightweight**: Plausible Analytics works by loading a script on your website, like Google Analytics. Our script is [45x smaller](https://plausible.io/lightweight-web-analytics), making your website quicker to load.
|
||||
- **Email or Slack reports**: Keep an eye on your traffic with weekly and/or monthly email or Slack reports. You can also get traffic spike notifications.
|
||||
- **Open website stats**: You have the option to be transparent and open your web analytics to everyone. Your website stats are private by default but you can choose to make them public so anyone with your custom link can view them.
|
||||
- **Define key goals and track conversions**: Set custom events or page URLs as your goals and see how they convert over time to understand and identify the trends that matter. Includes easy ways to track outbound link clicks and 404 error pages.
|
||||
- **Search keywords**: Integrate your dashboard with Google Search Console to get the most accurate reporting on your search keywords.
|
||||
- **SPA support**: Plausible is built with modern web frameworks in mind and it works automatically with any pushState based router on the frontend. We also support frameworks that use the URL hash for routing. See [our documentation](https://plausible.io/docs/hash-based-routing).
|
||||
|
||||
Interested to learn more? [Read more on our website](https://plausible.io), learn more about the team and the goals of the project on [our about page](https://plausible.io/about) or explore [the documentation](https://plausible.io/docs).
|
BIN
apps/plausible/metadata/logo.jpg
Normal file
BIN
apps/plausible/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
|
@ -6,8 +6,8 @@
|
|||
"exposable": true,
|
||||
"https": true,
|
||||
"id": "portainer",
|
||||
"tipi_version": 8,
|
||||
"version": "2.18.1-alpine",
|
||||
"tipi_version": 9,
|
||||
"version": "2.18.2-alpine",
|
||||
"categories": [
|
||||
"utilities"
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3.7"
|
|||
|
||||
services:
|
||||
portainer:
|
||||
image: portainer/portainer-ce:2.18.1-alpine
|
||||
image: portainer/portainer-ce:2.18.2-alpine
|
||||
container_name: portainer
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "romm",
|
||||
"tipi_version": 3,
|
||||
"version": "1.7.1",
|
||||
"tipi_version": 4,
|
||||
"version": "1.8.1",
|
||||
"categories": [
|
||||
"gaming"
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3"
|
|||
|
||||
services:
|
||||
romm:
|
||||
image: zurdi15/romm:1.7.1
|
||||
image: zurdi15/romm:1.8.1
|
||||
container_name: romm
|
||||
environment:
|
||||
- ROMM_DB_DRIVER=mariadb
|
||||
|
|
|
@ -5,9 +5,12 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "rss",
|
||||
"tipi_version": 1,
|
||||
"version": "v1.2.0",
|
||||
"categories": ["utilities", "media"],
|
||||
"tipi_version": 2,
|
||||
"version": "1.3.0",
|
||||
"categories": [
|
||||
"utilities",
|
||||
"media"
|
||||
],
|
||||
"description": "A simple twitter-feed-style RSS aggregator written in PHP, Laravel, Inertia.js, Tailwind and Vue.js",
|
||||
"short_desc": "A simple, opinionated, RSS feed aggregator.",
|
||||
"author": "https://github.com/ssddanbrown",
|
||||
|
|
|
@ -2,7 +2,7 @@ version: '3.7'
|
|||
|
||||
services:
|
||||
rss:
|
||||
image: ghcr.io/ssddanbrown/rss:v1.2.0
|
||||
image: ghcr.io/ssddanbrown/rss:v1.3.0
|
||||
container_name: rss
|
||||
environment:
|
||||
- APP_NAME=Tipi-RSS
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "sabnzbd",
|
||||
"tipi_version": 3,
|
||||
"version": "4.0.0",
|
||||
"tipi_version": 4,
|
||||
"version": "4.0.1",
|
||||
"categories": [
|
||||
"media",
|
||||
"utilities"
|
||||
|
|
|
@ -2,7 +2,7 @@ version: '3'
|
|||
|
||||
services:
|
||||
sabnzbd:
|
||||
image: lscr.io/linuxserver/sabnzbd:4.0.0
|
||||
image: lscr.io/linuxserver/sabnzbd:4.0.1
|
||||
container_name: sabnzbd
|
||||
ports:
|
||||
- ${APP_PORT}:8080
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
"available": true,
|
||||
"port": 8093,
|
||||
"id": "tailscale",
|
||||
"tipi_version": 6,
|
||||
"version": "1.38.4",
|
||||
"tipi_version": 7,
|
||||
"version": "1.40.0",
|
||||
"categories": [
|
||||
"network",
|
||||
"security"
|
||||
|
|
|
@ -4,7 +4,7 @@ services:
|
|||
tailscale:
|
||||
container_name: tailscale
|
||||
network_mode: "host" # TODO: Find a way to remove this
|
||||
image: tailscale/tailscale:v1.38.4
|
||||
image: tailscale/tailscale:v1.40.0
|
||||
privileged: true
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
- Share lists and namespaces with teams and users with granular permissions
|
||||
- Plenty of details for tasks
|
||||
|
||||
See the [features page](https://vikunja.cloud/features) on our website for a more exaustive list or try it on [try.vikunja.io](try.vikunja.io)!
|
||||
See the [features page](https://vikunja.cloud/features) on our website for a more exaustive list or try it on [try.vikunja.io](https://try.vikunja.io)!
|
||||
|
||||
![](https://vikunja.io/images/vikunja/09-task-detail-dark.png)
|
||||
|
|
29
renovate.js
Normal file
29
renovate.js
Normal file
|
@ -0,0 +1,29 @@
|
|||
module.exports = {
|
||||
extends: ["config:base"],
|
||||
onboarding: false,
|
||||
requireConfig: false,
|
||||
gitIgnoredAuthors: ["githubaction@githubaction.com"],
|
||||
dependencyDashboard: true,
|
||||
enabledManagers: ["docker-compose", "dockerfile"],
|
||||
hostRules: [
|
||||
{
|
||||
matchHost: "index.docker.io",
|
||||
hostType: "docker",
|
||||
username: process.env.DOCKERHUB_USERNAME,
|
||||
password: process.env.DOCKERHUB_TOKEN,
|
||||
},
|
||||
{
|
||||
matchHost: "docker.io",
|
||||
concurrentRequestLimit: 2,
|
||||
},
|
||||
],
|
||||
packageRules: [
|
||||
{
|
||||
managers: ["docker-compose", "dockerfile"],
|
||||
packagePatterns: [
|
||||
"^([^\\/]+\\/)?(mysql|mariadb|mongodb|mongo|postgres|redis)(:|$)",
|
||||
],
|
||||
enabled: false,
|
||||
},
|
||||
],
|
||||
};
|
|
@ -1,18 +1,29 @@
|
|||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:base"
|
||||
],
|
||||
"gitIgnoredAuthors": [
|
||||
"githubaction@githubaction.com"
|
||||
],
|
||||
"dependencyDashboard": true,
|
||||
"enabledManagers": ["docker-compose", "dockerfile"],
|
||||
"packageRules": [
|
||||
{
|
||||
"managers": ["docker-compose", "dockerfile"],
|
||||
"packagePatterns": ["^([^\\/]+\\/)?(mysql|mariadb|mongodb|mongo|postgres|redis)(:|$)"],
|
||||
"enabled": false
|
||||
}
|
||||
]
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:base"
|
||||
],
|
||||
"gitIgnoredAuthors": [
|
||||
"githubaction@githubaction.com"
|
||||
],
|
||||
"dependencyDashboard": true,
|
||||
"enabledManagers": ["docker-compose", "dockerfile"],
|
||||
"hostRules": [{
|
||||
"matchHost": "index.docker.io",
|
||||
"hostType": "docker",
|
||||
"username": "jphj",
|
||||
"encrypted": {
|
||||
"password": "wcFMA/xDdHCJBTolAQ/9GRBMmOIIYT7vGWpjMD4UJN1zHR8O4xrmbwDFl/VXO26SoYcv34QpJsNr748f2zPVwQ77+Z22Tv9QMY1aA0sgT3t69NN1KVt9ErWa6Hctm5fFxhichrvgfb7mmjDcHr2mG2YGGHF5btZHlfxZXdEeLyBLwVXuS4tOb+9JAlyi6zvpdSqdSviPYFv2HSccMyuQxGHoQ02JT8v65K86E6BtvxCPVovs6RsBOF5SIZ4QHU4gaa0X2pDHefM61/b41QJLRNVNbR6NjROOG8Tt5JSgFxwvmO2HzT2LHzHlIXm936ElHRHkM7kaE3GMbT1tpLl2yGmQPDNHsUyAs9B8E86/I6Jatadq40jwLUWeCy2FAx4XwrBMFSNp9D+DmdFk6PcOUT4Wjyxg1gUWY67DTd6anWjivmbkDmlBqIpbIiJMIel4JlquQF1wnfqf46BKVOFSlBxIb8YZGpB2U0PdM8i4we6nInK4bwK/Ib2Ux4O+GLCEsoUHqD0gUff2+7rdE8Yi4ctui1RWRInE3WA9ix9CawZcVJImcQxKJzNRk1ZzoCe30+uN69o4bFGa/6kRFO6yAmPaOwp781CWX42fZQGZhp8gQzhRUjeDW2Wr2ygJclo9vzJ0eQPh0amdOXL1FazIa6jCtMY6VGMlfwG6Ip9t+NEBcb73GraOboPQMxXUxcTShgGiV+YzkBuH7tKGTSOhbAwhlV3OJs3PFAlvrJ4Vx40LNEinMsSAcVNxoDERi3E1JnjGNe1JlCHqLZEkNhwr9dDrr2OwSuC3RNm3r+hyl0twh97MHQonF/T6jX57aEHojASpml8rapCYUn/CUtXJRdA8zp9eV7P8BN8VpTWLgizd+fJ+Vylj"
|
||||
}
|
||||
},
|
||||
{
|
||||
"matchHost": "docker.io",
|
||||
"concurrentRequestLimit": 2
|
||||
}
|
||||
],
|
||||
"packageRules": [{
|
||||
"managers": ["docker-compose", "dockerfile"],
|
||||
"packagePatterns": ["^([^\\/]+\\/)?(mysql|mariadb|mongodb|mongo|postgres|redis|clickhouse-server|clickhouse)(:|$)"],
|
||||
"enabled": false
|
||||
}]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user