Merge branch 'master' into master
This commit is contained in:
commit
46abcee1a6
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "filestash",
|
||||
"tipi_version": 2,
|
||||
"version": "397fd8b",
|
||||
"tipi_version": 3,
|
||||
"version": "latest",
|
||||
"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",
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "2"
|
|||
services:
|
||||
filestash:
|
||||
container_name: filestash
|
||||
image: machines/filestash:397fd8b
|
||||
image: machines/filestash:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- APPLICATION_URL=${APP_DOMAIN}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "ghost",
|
||||
"tipi_version": 41,
|
||||
"tipi_version": 42,
|
||||
"version": "5.60.0",
|
||||
"categories": [
|
||||
"social",
|
||||
|
|
|
@ -16,7 +16,7 @@ services:
|
|||
database__connection__user: tipi
|
||||
database__connection__password: ${GHOST_DATABASE_PASSWORD}
|
||||
database__connection__database: ghosttipi
|
||||
url: http://localhost:${APP_PORT}
|
||||
url: ${APP_PROTOCOL:-http}://${APP_DOMAIN}
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/content:/var/lib/ghost/content
|
||||
networks:
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
# Install Information
|
||||
|
||||
After Ghost is installed, head over to https://yourdomain.com/ghost/ to finish setup and create the admin account!
|
||||
# A painless self-hosted Blog
|
||||
|
||||
Ghost is a powerful app for new-media creators to publish, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members.
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": false,
|
||||
"id": "gladys",
|
||||
"tipi_version": 16,
|
||||
"version": "4.27.0",
|
||||
"tipi_version": 17,
|
||||
"version": "4.27.2",
|
||||
"categories": [
|
||||
"automation"
|
||||
],
|
||||
|
|
|
@ -3,7 +3,7 @@ version: '3'
|
|||
services:
|
||||
gladys:
|
||||
container_name: gladys
|
||||
image: gladysassistant/gladys:v4.27.0
|
||||
image: gladysassistant/gladys:v4.27.2
|
||||
privileged: true
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "grafana",
|
||||
"tipi_version": 11,
|
||||
"version": "9.5.8",
|
||||
"tipi_version": 13,
|
||||
"version": "10.1.0",
|
||||
"categories": [
|
||||
"data"
|
||||
],
|
||||
|
|
|
@ -3,7 +3,7 @@ version: "3"
|
|||
services:
|
||||
grafana:
|
||||
container_name: grafana
|
||||
image: grafana/grafana-oss:9.5.8
|
||||
image: grafana/grafana-oss:10.1.0
|
||||
ports:
|
||||
- ${APP_PORT}:3000
|
||||
volumes:
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"exposable": true,
|
||||
"port": 8128,
|
||||
"id": "immich",
|
||||
"tipi_version": 38,
|
||||
"version": "1.75.2",
|
||||
"tipi_version": 39,
|
||||
"version": "1.76.0",
|
||||
"categories": [
|
||||
"data",
|
||||
"photography"
|
||||
|
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
immich:
|
||||
container_name: immich
|
||||
image: altran1502/immich-proxy:v1.75.2
|
||||
image: altran1502/immich-proxy:v1.76.0
|
||||
ports:
|
||||
- ${APP_PORT}:8080
|
||||
depends_on:
|
||||
|
@ -93,7 +93,7 @@ services:
|
|||
|
||||
immich-machine-learning:
|
||||
container_name: immich-machine-learning
|
||||
image: altran1502/immich-machine-learning:v1.75.2
|
||||
image: altran1502/immich-machine-learning:v1.76.0
|
||||
volumes:
|
||||
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
|
||||
- ${APP_DATA_DIR}/data/immich-ml-cache:/cache
|
||||
|
|
30
apps/linkwarden/config.json
Normal file
30
apps/linkwarden/config.json
Normal file
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Linkwarden",
|
||||
"port": 8199,
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "linkwarden",
|
||||
"tipi_version": 1,
|
||||
"supported_architectures": ["amd64"],
|
||||
"version": "v1.0.1",
|
||||
"categories": ["data"],
|
||||
"description": "A self-hosted, open-source collaborative bookmark manager to collect, organize and archive webpages.",
|
||||
"short_desc": "A self-hosted, open-source collaborative bookmark manager",
|
||||
"author": "Linkwarden",
|
||||
"source": "https://github.com/linkwarden/linkwarden",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "random",
|
||||
"label": "Linkwarden DB Password",
|
||||
"min": 32,
|
||||
"env_variable": "LINKWARDEN_DB_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "random",
|
||||
"label": "Linkwarden Nextauth Secret",
|
||||
"min": 32,
|
||||
"env_variable": "LINKWARDEN_NEXTAUTH_SECRET"
|
||||
}
|
||||
]
|
||||
}
|
57
apps/linkwarden/docker-compose.yml
Normal file
57
apps/linkwarden/docker-compose.yml
Normal file
|
@ -0,0 +1,57 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
linkwarden:
|
||||
image: ghcr.io/selfhostedhub/linkwarden:v1.0.1
|
||||
container_name: linkwarden
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://tipi:${LINKWARDEN_DB_PASSWORD}@linkwarden-db:5432/linkwarden
|
||||
- NEXTAUTH_SECRET=${LINKWARDEN_NEXTAUTH_SECRET}
|
||||
- NEXTAUTH_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/linkwarden:/data/data
|
||||
ports:
|
||||
- ${APP_PORT}:3000
|
||||
depends_on:
|
||||
- linkwarden-db
|
||||
networks:
|
||||
- tipi_main_network
|
||||
labels:
|
||||
# Main
|
||||
traefik.enable: true
|
||||
traefik.http.middlewares.linkwarden-web-redirect.redirectscheme.scheme: https
|
||||
traefik.http.services.linkwarden.loadbalancer.server.port: 3000
|
||||
# Web
|
||||
traefik.http.routers.linkwarden-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.linkwarden-insecure.entrypoints: web
|
||||
traefik.http.routers.linkwarden-insecure.service: linkwarden
|
||||
traefik.http.routers.linkwarden-insecure.middlewares: linkwarden-web-redirect
|
||||
# Websecure
|
||||
traefik.http.routers.linkwarden.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.linkwarden.entrypoints: websecure
|
||||
traefik.http.routers.linkwarden.service: linkwarden
|
||||
traefik.http.routers.linkwarden.tls.certresolver: myresolver
|
||||
# Local domain
|
||||
traefik.http.routers.linkwarden-local-insecure.rule: Host(`linkwarden.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.linkwarden-local-insecure.entrypoints: web
|
||||
traefik.http.routers.linkwarden-local-insecure.service: linkwarden
|
||||
traefik.http.routers.linkwarden-local-insecure.middlewares: linkwarden-web-redirect
|
||||
# Local domain secure
|
||||
traefik.http.routers.linkwarden-local.rule: Host(`linkwarden.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.linkwarden-local.entrypoints: websecure
|
||||
traefik.http.routers.linkwarden-local.service: linkwarden
|
||||
traefik.http.routers.linkwarden-local.tls: true
|
||||
|
||||
linkwarden-db:
|
||||
container_name: linkwarden-db
|
||||
image: postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=tipi
|
||||
- POSTGRES_PASSWORD=${LINKWARDEN_DB_PASSWORD}
|
||||
- POSTGRES_DB=linkwarden
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
- tipi_main_network
|
30
apps/linkwarden/metadata/description.md
Normal file
30
apps/linkwarden/metadata/description.md
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Linkwarden
|
||||
|
||||
## [](https://github.com/linkwarden/linkwarden#intro--motivation)Intro & motivation
|
||||
|
||||
**Linkwarden is a self-hosted, open-source collaborative bookmark manager to collect, organize and archive webpages.** The objective is to organize useful webpages and articles you find across the web in one place, and since useful webpages can go away (see the inevitability of [Link Rot](https://www.howtogeek.com/786227/what-is-link-rot-and-how-does-it-threaten-the-web/)), Linkwarden also saves a copy of each webpage as a Screenshot and PDF, ensuring accessibility even if the original content is no longer available.
|
||||
|
||||
Additionally, Linkwarden is designed with collaboration in mind, sharing links with the public and/or allowing multiple users to work together seamlessly.
|
||||
|
||||
[![](https://github.com/linkwarden/linkwarden/raw/main/assets/showcase_image.png)](https://github.com/linkwarden/linkwarden/blob/main/assets/showcase_image.png)
|
||||
|
||||
**A bit of a "history"** Linkwarden has been completely rebuilt and redesigned from ground up, so pretty much the only thing it has in common with its predecessor is the idea behind it - bookmark management.
|
||||
|
||||
## Features
|
||||
|
||||
- ✅ Auto capture a screenshot and a PDF of each link.
|
||||
- ✅ Organize links by collection, name, description and multiple tags.
|
||||
- ✅ Collaborate on gathering links in a collection.
|
||||
- ✅ Customize the permissions of each member.
|
||||
- ✅ Share your collected links with the world.
|
||||
- ✅ Search, filter and sort by link details.
|
||||
- ✅ Responsive design and supports most browsers.
|
||||
|
||||
|
||||
## Screenshots
|
||||
|
||||
[![](https://github.com/linkwarden/linkwarden/raw/main/assets/collections.png)](https://github.com/linkwarden/linkwarden/blob/main/assets/collections.png)
|
||||
|
||||
[![](https://github.com/linkwarden/linkwarden/raw/main/assets/collaborators.png)](https://github.com/linkwarden/linkwarden/blob/main/assets/collaborators.png)
|
||||
|
||||
[![](https://github.com/linkwarden/linkwarden/raw/main/assets/link_details.png)](https://github.com/linkwarden/linkwarden/blob/main/assets/link_details.png)
|
BIN
apps/linkwarden/metadata/logo.jpg
Normal file
BIN
apps/linkwarden/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 77 KiB |
|
@ -10,7 +10,7 @@
|
|||
]
|
||||
},
|
||||
"id": "pihole",
|
||||
"tipi_version": 8,
|
||||
"tipi_version": 9,
|
||||
"version": "2023.05.2",
|
||||
"url_suffix": "/admin",
|
||||
"categories": [
|
||||
|
|
|
@ -18,12 +18,10 @@ services:
|
|||
environment:
|
||||
TZ: ${TZ}
|
||||
WEBPASSWORD: ${APP_PASSWORD}
|
||||
FTLCONF_REPLY_ADDR4: 10.21.21.201
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
networks:
|
||||
tipi_main_network:
|
||||
ipv4_address: 10.21.21.201
|
||||
- tipi_main_network
|
||||
labels:
|
||||
# Main
|
||||
traefik.enable: true
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "tandoor",
|
||||
"tipi_version": 2,
|
||||
"version": "1.5.5",
|
||||
"tipi_version": 3,
|
||||
"version": "1.5.6",
|
||||
"categories": [
|
||||
"data"
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3.7"
|
|||
services:
|
||||
tandoor:
|
||||
container_name: tandoor
|
||||
image: ghcr.io/tandoorrecipes/recipes:1.5.5
|
||||
image: ghcr.io/tandoorrecipes/recipes:1.5.6
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/staticfiles:/opt/recipes/staticfiles
|
||||
- ${APP_DATA_DIR}/data/mediafiles:/opt/recipes/mediafiles
|
||||
|
|
16
apps/viewtube/config.json
Normal file
16
apps/viewtube/config.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "ViewTube",
|
||||
"port": 8180,
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "viewtube",
|
||||
"tipi_version": 1,
|
||||
"version": "0.12.2",
|
||||
"categories": ["media"],
|
||||
"description": "The open source, privacy-conscious way to enjoy your favorite YouTube content.",
|
||||
"short_desc": "The open source, privacy-conscious way to enjoy your favorite YouTube content.",
|
||||
"author": "ViewTube",
|
||||
"source": "https://github.com/ViewTube/viewtube",
|
||||
"form_fields": []
|
||||
}
|
66
apps/viewtube/docker-compose.yml
Normal file
66
apps/viewtube/docker-compose.yml
Normal file
|
@ -0,0 +1,66 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
viewtube:
|
||||
restart: unless-stopped
|
||||
container_name: viewtube
|
||||
image: mauriceo/viewtube:0.12.2
|
||||
depends_on:
|
||||
- viewtube-mongodb
|
||||
- viewtube-redis
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/viewtube:/data
|
||||
environment:
|
||||
- VIEWTUBE_DATABASE_HOST=viewtube-mongodb
|
||||
- VIEWTUBE_REDIS_HOST=viewtube-redis
|
||||
- VIEWTUBE_SECURE=true
|
||||
- VIEWTUBE_CORS_ORIGIN=${APP_PROTOCOL:-http}://${APP_DOMAIN}
|
||||
# - VIEWTUBE_YOUTUBE_COOKIE=
|
||||
# - VIEWTUBE_YOUTUBE_IDENTIFIER=
|
||||
ports:
|
||||
- ${APP_PORT}:8066
|
||||
networks:
|
||||
- tipi_main_network
|
||||
labels:
|
||||
# Main
|
||||
traefik.enable: true
|
||||
traefik.http.middlewares.viewtube-web-redirect.redirectscheme.scheme: https
|
||||
traefik.http.services.viewtube.loadbalancer.server.port: 8066
|
||||
# Web
|
||||
traefik.http.routers.viewtube-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.viewtube-insecure.entrypoints: web
|
||||
traefik.http.routers.viewtube-insecure.service: viewtube
|
||||
traefik.http.routers.viewtube-insecure.middlewares: viewtube-web-redirect
|
||||
# Websecure
|
||||
traefik.http.routers.viewtube.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.viewtube.entrypoints: websecure
|
||||
traefik.http.routers.viewtube.service: viewtube
|
||||
traefik.http.routers.viewtube.tls.certresolver: myresolver
|
||||
# Local domain
|
||||
traefik.http.routers.viewtube-local-insecure.rule: Host(`viewtube.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.viewtube-local-insecure.entrypoints: web
|
||||
traefik.http.routers.viewtube-local-insecure.service: viewtube
|
||||
traefik.http.routers.viewtube-local-insecure.middlewares: viewtube-web-redirect
|
||||
# Local domain secure
|
||||
traefik.http.routers.viewtube-local.rule: Host(`viewtube.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.viewtube-local.entrypoints: websecure
|
||||
traefik.http.routers.viewtube-local.service: viewtube
|
||||
traefik.http.routers.viewtube-local.tls: true
|
||||
|
||||
viewtube-mongodb:
|
||||
container_name: viewtube-mongodb
|
||||
restart: unless-stopped
|
||||
image: mongo:5
|
||||
networks:
|
||||
- tipi_main_network
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/db:/data/db
|
||||
|
||||
viewtube-redis:
|
||||
container_name: viewtube-redis
|
||||
restart: unless-stopped
|
||||
image: redis:7
|
||||
networks:
|
||||
- tipi_main_network
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/redis:/data
|
44
apps/viewtube/metadata/description.md
Normal file
44
apps/viewtube/metadata/description.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
ViewTube is an alternative YouTube frontend that lets you watch, search and discover YouTube videos without ads or tracking. It's built to be mobile and desktop friendly, with dark and light themes, and a touch-friendly video player with gestures. You can create an account separately from YouTube, read comments, watch playlists, subscribe to channels and receive push notifications for new uploads It's built using [Nuxt](https://nuxt.com/) and [Nest](https://nestjs.com/).
|
||||
|
||||
You can find the documentation at [viewtube.wiki](https://viewtube.wiki)
|
||||
|
||||
## Features
|
||||
|
||||
- Watch videos without ads or tracking
|
||||
- Built from the ground up to be mobile and desktop friendly
|
||||
- Dark and light themes
|
||||
- Touch friendly video player with gestures
|
||||
- Supports loop, speed, autoplay and volume
|
||||
- Create an account separately from Youtube
|
||||
- Read comments
|
||||
- Search for videos
|
||||
- Watch playlists
|
||||
- Subscribe to channels and see their latest uploads
|
||||
- Receive push notifications for subscribed channels
|
||||
- Integrated SponsorBlock support
|
||||
|
||||
## Where does ViewTube get the data from?
|
||||
|
||||
ViewTube does not use the official Youtube API. It instead scrapes the data from the website using a combination of custom built tools and the following open source libraries.
|
||||
|
||||
- [node-ytdl-core](https://github.com/fent/node-ytdl-core)
|
||||
- [node-ytsr](https://github.com/TimeForANinja/node-ytsr)
|
||||
- [node-ytpl](https://github.com/TimeForANinja/node-ytpl)
|
||||
- [yt-comment-scraper](https://github.com/FreeTubeApp/yt-comment-scraper)
|
||||
- [yt-channel-info](https://github.com/FreeTubeApp/yt-channel-info)
|
||||
|
||||
## Screenshots
|
||||
|
||||
### Homepage
|
||||
|
||||
[![Screenshot-Homepage](https://camo.githubusercontent.com/7ca1b34ee39d918f86a7043a3ffae08b574d5630975255eb8840536e7e169248/68747470733a2f2f692e6962622e636f2f476b35744b51372f6c78743179306d6b2e6a7067)](https://camo.githubusercontent.com/7ca1b34ee39d918f86a7043a3ffae08b574d5630975255eb8840536e7e169248/68747470733a2f2f692e6962622e636f2f476b35744b51372f6c78743179306d6b2e6a7067)
|
||||
|
||||
### Video
|
||||
|
||||
[![Screenshot-Video](https://camo.githubusercontent.com/07ecf2f4a9e61eb326d2125375f674020cbf97b1a998defdeb21fd8d1aa6f8f7/68747470733a2f2f692e6962622e636f2f52544c327633662f6732656a663777662e6a7067)](https://camo.githubusercontent.com/07ecf2f4a9e61eb326d2125375f674020cbf97b1a998defdeb21fd8d1aa6f8f7/68747470733a2f2f692e6962622e636f2f52544c327633662f6732656a663777662e6a7067)
|
||||
|
||||
### Channel
|
||||
|
||||
[![Screenshot-Channel](https://camo.githubusercontent.com/b50d3f852326d5436cc32507eb2ee48d036092ae1cba3bc61485a8a4661d0ffd/68747470733a2f2f692e6962622e636f2f68396d663179642f366a3435616f35722e6a7067)](https://camo.githubusercontent.com/b50d3f852326d5436cc32507eb2ee48d036092ae1cba3bc61485a8a4661d0ffd/68747470733a2f2f692e6962622e636f2f68396d663179642f366a3435616f35722e6a7067)
|
||||
|
||||
|
BIN
apps/viewtube/metadata/logo.jpg
Normal file
BIN
apps/viewtube/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
37
apps/viewtube/metadata/optional.md
Normal file
37
apps/viewtube/metadata/optional.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
## (Optional) Use cookies from a real account
|
||||
|
||||
You can provide your own cookies to circumvent any Rate Limiting Issue.
|
||||
|
||||
### YouTube cookie
|
||||
|
||||
- Navigate to YouTube in a web browser
|
||||
- Log in, preferrably with a separate account you don't use often
|
||||
- Open up the dev tools console
|
||||
- Type `document.cookie`
|
||||
- Copy the entire response into the `VIEWTUBE_YOUTUBE_COOKIE` environment variable
|
||||
|
||||
### YouTube identifier
|
||||
|
||||
- Navigate to a video
|
||||
- Right click and click "view source"
|
||||
- Press CTRL+F to search for "ID\_TOKEN"
|
||||
- Copy this value into the `VIEWTUBE_YOUTUBE_IDENTIFIER` environment variable
|
||||
|
||||
```
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Youtube Cookie",
|
||||
"hint": "Optional, Read below",
|
||||
"required": false,
|
||||
"env_variable": "VIEWTUBE_YOUTUBE_COOKIE"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Youtube Identifier",
|
||||
"hint": "Optional, Read below",
|
||||
"required": false,
|
||||
"env_variable": "VIEWTUBE_YOUTUBE_IDENTIFIER"
|
||||
}
|
||||
]
|
||||
```
|
|
@ -5,8 +5,8 @@
|
|||
"no_gui": true,
|
||||
"port": 9993,
|
||||
"id": "zerotier",
|
||||
"tipi_version": 3,
|
||||
"version": "1.10.6",
|
||||
"tipi_version": 4,
|
||||
"version": "1.12.1",
|
||||
"categories": [
|
||||
"network",
|
||||
"security"
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3.7"
|
|||
services:
|
||||
zerotier:
|
||||
container_name: zerotier
|
||||
image: zerotier/zerotier:1.10.6
|
||||
image: zerotier/zerotier:1.12.1
|
||||
restart: on-failure
|
||||
command: "${NETWORK_ID}"
|
||||
cap_add:
|
||||
|
|
Loading…
Reference in New Issue
Block a user