Compare commits
10 Commits
5e26ac6af0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7389e6ed96 | |||
| b28b2ce4e6 | |||
|
|
26a2462631 | ||
| f4c0d50642 | |||
|
|
a743c778d6 | ||
| c3c6720401 | |||
|
|
f5d41e4322 | ||
| 407f87ac1f | |||
| 06b8074c63 | |||
| ede6cddfed |
26
templates/home-assistant/README.md
Normal file
26
templates/home-assistant/README.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Home Assistant (Portainer template)
|
||||
|
||||
Home Assistant is an open-source home automation platform that puts local control and privacy first. It acts as a central hub for smart home devices, allowing for complex automation and integration across thousands of different brands.
|
||||
|
||||
Quick notes:
|
||||
|
||||
- **Network Mode**: For many integrations (like discovery of smart bulbs or TVs), it is highly recommended to use `network_mode: host`.
|
||||
- **Persistence**: Ensure the `/config` directory is mapped to a persistent volume to save your configuration, dashboards, and integrations.
|
||||
- **Devices**: If you are using Zigbee or Z-Wave USB sticks, you will need to map the device path (e.g., `/dev/ttyUSB0`) into the container.
|
||||
|
||||
Usage:
|
||||
|
||||
1. Import the compose file into Portainer's Stacks or App Templates.
|
||||
2. Configure the volume mapping for the configuration folder.
|
||||
3. (Optional) Set the timezone environment variable (e.g., `TZ=America/New_York`).
|
||||
4. Deploy the stack via Portainer.
|
||||
5. Access the web interface at `http://<your-ip>:8123` to begin the onboarding process.
|
||||
|
||||
Helpful links:
|
||||
|
||||
- Official Website: https://www.home-assistant.io/
|
||||
- Documentation: https://www.home-assistant.io/docs/
|
||||
- GitHub Repository: https://github.com/home-assistant/core
|
||||
- Docker Hub: https://hub.docker.com/r/homeassistant/home-assistant
|
||||
|
||||
**Status:** Ready for configuration
|
||||
22
templates/home-assistant/docker-compose.yml
Normal file
22
templates/home-assistant/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
services:
|
||||
homeassistant:
|
||||
image: homeassistant/home-assistant:stable
|
||||
container_name: homeassistant
|
||||
# Resource constraints to prevent host exhaustion
|
||||
mem_limit: 2g
|
||||
cpu_shares: 512
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
# Healthcheck ensures the web interface is responsive
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8123/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
network_mode: host # Required for discovery features (mDNS, UPnP)
|
||||
volumes:
|
||||
- ./config:/config:rw
|
||||
environment:
|
||||
- TZ=${TIMEZONE:-UTC}
|
||||
# Restart policy for stability
|
||||
restart: unless-stopped
|
||||
@@ -1,8 +1,24 @@
|
||||
# lidatube (templates)
|
||||
# LidaTube (Portainer template)
|
||||
|
||||
### Description
|
||||
Description for lidatube goes here.
|
||||
LidaTube is a tool designed to bridge the gap between YouTube and your personal media library, often used for automating the downloading and organization of YouTube content into a format compatible with media servers like Lidarr.
|
||||
|
||||
### Configuration
|
||||
- Path: templates/lidatube/docker-compose.yml
|
||||
- Status: Draft
|
||||
Quick notes:
|
||||
|
||||
- **Integration**: Designed to work alongside Lidarr to manage music videos or audio content sourced from YouTube.
|
||||
- **Persistence**: Ensure you map volumes for the configuration files and the download directory to prevent data loss.
|
||||
- **Dependencies**: Requires a functional internet connection and may require `ffmpeg` within the container environment for transcoding.
|
||||
|
||||
Usage:
|
||||
|
||||
1. Import the compose file into Portainer's Stacks or App Templates.
|
||||
2. Configure the volume mappings to point to your media library and config folder.
|
||||
3. Set environment variables for any specific naming conventions or quality preferences.
|
||||
4. Deploy the stack via Portainer.
|
||||
5. Access the web interface (if applicable) to link with your Lidarr instance.
|
||||
|
||||
Helpful links:
|
||||
|
||||
- GitHub Repository: https://github.com/TheWicklowWolf/LidaTube
|
||||
- Docker Hub: https://hub.docker.com/r/thewicklowwolf/lidatube
|
||||
|
||||
**Status:** Ready for configuration
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
services:
|
||||
lidatube:
|
||||
image: thewicklowwolf/lidatube:latest
|
||||
container_name: lidatube
|
||||
volumes:
|
||||
# Host path for application configuration. Change this to your desired path.
|
||||
- ./config/lidatube:/lidatube/config
|
||||
# Host path for music downloads. Change this to your desired path.
|
||||
- ./data/lidatube/downloads:/lidatube/downloads
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- 9274:5000
|
||||
environment:
|
||||
# Set PUID and PGID to match your host user's UID and GID for proper file permissions.
|
||||
# You can find these by running 'id <username>' on your host machine.
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- sync_schedule=19,20,21,22,23,0,1,2,3,4,5
|
||||
- attempt_lidarr_import=False
|
||||
- thread_limit=1
|
||||
- sleep_interval=1
|
||||
|
||||
restart: unless-stopped
|
||||
36
templates/sftpgo/README.md
Normal file
36
templates/sftpgo/README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# SFTPGo (Portainer template)
|
||||
|
||||
SFTPGo is a fully featured and highly configurable storage routing server with SFTP, HTTP/S, FTP/S and WebDAV support. It allows you to securely share files with local and remote users.
|
||||
|
||||
Quick notes:
|
||||
|
||||
- **Protocols**: Supports SFTP, FTP/S, WebDAV, and a built-in Web UI for file management.
|
||||
- **Storage**: Can serve local storage, S3, Google Cloud Storage, and Azure Blob.
|
||||
- **Authentication**: Supports multiple backends including SQLite, MySQL, PostgreSQL, and LDAP/OIDC.
|
||||
|
||||
Usage:
|
||||
|
||||
1. Import the compose file into Portainer's Stacks or App Templates.
|
||||
2. Configure the environment variables for the initial admin user and database settings.
|
||||
3. Map the data volume to persist user data and configuration. (See Extra Note)
|
||||
4. Deploy the stack via Portainer.
|
||||
5. Access the admin web interface at `http://<your-ip>:8080/web/admin`.
|
||||
|
||||
Helpful links:
|
||||
|
||||
- GitHub Repository: https://github.com/drakkan/sftpgo
|
||||
- Documentation: https://github.com/drakkan/sftpgo/tree/main/docs
|
||||
|
||||
Extra Note:
|
||||
Using a portainer install on a Synology Nas requires some extra folder permission configuration. You must give the data folder read and write permissions to everyone. This can be done with:
|
||||
|
||||
1. Open **File Station** on your Synology NAS.
|
||||
2. Right-click the folder mapped to SFTPGo and select **Properties**.
|
||||
3. Go to the **Permission** tab.
|
||||
4. Click **Create** or **Edit** to add the `Everyone` group.
|
||||
5. Check **Read** and **Write** permissions.
|
||||
6. Check the box **Apply to this folder, sub-folders and files**.
|
||||
7. Click **Done** and **Save**.
|
||||
|
||||
|
||||
**Status:** Ready for configuration
|
||||
50
templates/sftpgo/docker-compose.yml
Normal file
50
templates/sftpgo/docker-compose.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
services:
|
||||
sftpgo:
|
||||
image: drakkan/sftpgo:latest
|
||||
user: "${PUID}:${PGID}"
|
||||
container_name: sftpgo
|
||||
ports:
|
||||
- 8813:8080 # HTTP
|
||||
- 2026:2022 # SFTP
|
||||
environment:
|
||||
# Fixes the "id_rsa: permission denied" error by using the mapped volume
|
||||
SFTPGO_CONFIG_DIR: /srv/sftpgo
|
||||
SFTPGO_WEBDAVD__BINDINGS__0__PORT: 5007
|
||||
SFTPGO_DATA_PROVIDER__DRIVER: mysql
|
||||
SFTPGO_DATA_PROVIDER__NAME: sftpgo
|
||||
SFTPGO_DATA_PROVIDER__HOST: mysql
|
||||
SFTPGO_DATA_PROVIDER__PORT: 3306
|
||||
SFTPGO_DATA_PROVIDER__USERNAME: ${DB_USER}
|
||||
SFTPGO_DATA_PROVIDER__PASSWORD: ${MYSQL_USER_PWD}
|
||||
SFTPGO_COMMON__DEFENDER__ENABLED: "true"
|
||||
SFTPGO_COMMON__DEFENDER__BAN_TIME: 15
|
||||
SFTPGO_COMMON__DEFENDER__BAN_TIME_INCREMENT: 100
|
||||
SFTPGO_COMMON__DEFENDER__THRESHOLD: 5
|
||||
SFTPGO_COMMON__DEFENDER__OBSERVATION_TIME: 15
|
||||
volumes:
|
||||
- ./data:/srv/sftpgo:rw
|
||||
- ./user_data:/user_data
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
restart: on-failure:8
|
||||
|
||||
mysql:
|
||||
image: mariadb:11.8-noble
|
||||
container_name: sftpgo-db
|
||||
healthcheck:
|
||||
# Standard MariaDB 11.x healthcheck using root credentials
|
||||
test: ["CMD-SHELL", "mariadb-admin ping -h localhost -u root -p$${MYSQL_ROOT_PWD} || exit 1"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
environment:
|
||||
TZ: ${TZ}
|
||||
MYSQL_DATABASE: sftpgo
|
||||
MYSQL_USER: ${DB_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_USER_PWD}
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PWD}
|
||||
volumes:
|
||||
- ./db:/var/lib/mysql:rw
|
||||
restart: on-failure:5
|
||||
24
templates/stirling-pdf/README.md
Normal file
24
templates/stirling-pdf/README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Stirling-PDF (Portainer template)
|
||||
|
||||
Stirling-PDF is a powerful, locally hosted web-based PDF manipulation tool. It allows you to perform various operations on PDF files, such as merging, splitting, rotating, converting, and adding watermarks, all while keeping your files private on your own infrastructure.
|
||||
|
||||
Quick notes:
|
||||
|
||||
- **Privacy**: All files are processed locally on your server; no data is sent to external services.
|
||||
- **Functionality**: Includes a wide range of features like OCR, compression, repair, and security (password protection).
|
||||
- **Resources**: Depending on the operations (like OCR), this container may require significant CPU and RAM.
|
||||
|
||||
Usage:
|
||||
|
||||
1. Import the compose file into Portainer's Stacks or App Templates.
|
||||
2. Configure the environment variables such as `DOCKER_ENABLE_SECURITY` if you wish to add authentication.
|
||||
3. Map the necessary volumes if you want to persist custom settings or logs.
|
||||
4. Deploy the stack via Portainer.
|
||||
5. Access the web interface at `http://<your-ip>:8080`.
|
||||
|
||||
Helpful links:
|
||||
|
||||
- GitHub Repository: https://github.com/Stirling-Tools/Stirling-PDF
|
||||
- Documentation: https://stirlingpdf.com/docs
|
||||
|
||||
**Status:** Ready for configuration
|
||||
39
templates/stirling-pdf/docker-compose.yml
Normal file
39
templates/stirling-pdf/docker-compose.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
services:
|
||||
stirling-pdf:
|
||||
container_name: Stirling-PDF
|
||||
image: stirlingtools/stirling-pdf
|
||||
mem_limit: 4g
|
||||
cpu_shares: 1024
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/8080' || exit 1
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 90s
|
||||
ports:
|
||||
- 7890:8080
|
||||
volumes:
|
||||
# Use relative paths or environment variables for portability
|
||||
- ./tessdata:/usr/share/tessdata:rw
|
||||
- ./configs:/configs:rw
|
||||
- ./logs:/logs:rw
|
||||
environment:
|
||||
PUID: ${PUID:-1000}
|
||||
PGID: ${PGID:-1000}
|
||||
TZ: ${TIMEZONE:-UTC}
|
||||
DOCKER_ENABLE_SECURITY: "true"
|
||||
SECURITY_ENABLELOGIN: "true"
|
||||
SECURITY_INITIALLOGIN_USERNAME: ${ADMIN_USERNAME:-admin}
|
||||
SECURITY_INITIALLOGIN_PASSWORD: ${ADMIN_PASSWORD:-password123}
|
||||
INSTALL_BOOK_AND_ADVANCED_HTML_OPS: "true"
|
||||
SECURITY_CSRFDISABLED: "true"
|
||||
SYSTEM_DEFAULTLOCALE: en_US
|
||||
UI_APPNAME: StirlingPDF
|
||||
UI_HOMEDESCRIPTION: Stirling PDF Converter, for all your pdf file needs.
|
||||
UI_APPNAMENAVBAR: StirlingPDF
|
||||
SYSTEM_MAXFILESIZE: 5000
|
||||
METRICS_ENABLED: true
|
||||
SYSTEM_GOOGLEVISIBILITY: false
|
||||
restart: unless-stopped # Changed to unless-stopped for better reliability
|
||||
Reference in New Issue
Block a user