├── .gitignore ├── portainer └── portainer ├── README.md ├── tooljet ├── docker-compose.yaml └── .env ├── supabase ├── .env └── docker-compose.yml ├── dashy_conf.yml ├── templates-2.0.json ├── backup.json └── templatesZ.json /.gitignore: -------------------------------------------------------------------------------- 1 | appsmith/ 2 | -------------------------------------------------------------------------------- /portainer/portainer: -------------------------------------------------------------------------------- 1 | sudo docker volume create portainer_data && sudo docker run -d -p 9000:9000 -p 8000:8000 -p 9443:9443 --name portainer \ 2 | --restart=always \ 3 | -v /var/run/docker.sock:/var/run/docker.sock \ 4 | -v portainer_data:/data \ 5 | portainer/portainer-ce:2.9.3 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # goodcontainers 2 | this is a collections of good docker contaienrs iv collected over the time , if you have portainer installed i have an app template that you can use to install them 3 | 4 | ## to add : 5 | [x] grafana 6 | 7 | [x] mysql 8 | 9 | [ ] apache nifi 10 | 11 | [x] tooljet 12 | 13 | [x] mongodb 14 | 15 | [x] supabase 16 | 17 | [x] owncloud 18 | 19 | [ ] airbyte 20 | 21 | [ ] meltano 22 | 23 | [ ] python / js / go 24 | 25 | [ ] plesk 26 | 27 | [ ] torrent 28 | -------------------------------------------------------------------------------- /tooljet/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | client: 5 | tty: true 6 | stdin_open: true 7 | image: tooljet/tooljet-client-ce:latest 8 | restart: always 9 | env_file: .env 10 | depends_on: 11 | - server 12 | volumes: 13 | - logs:/var/log/openresty/ 14 | - certs:/etc/resty-auto-ssl/ 15 | - fallbackcerts:/etc/fallback-certs 16 | ports: 17 | - 80:80 18 | - 443:443 19 | command: openresty -g "daemon off;" 20 | 21 | server: 22 | image: tooljet/tooljet-server-ce:latest 23 | tty: true 24 | stdin_open: true 25 | restart: always 26 | ports: 27 | - 3000 28 | env_file: .env 29 | environment: 30 | SERVE_CLIENT: "false" 31 | command: npm run start:prod 32 | 33 | volumes: 34 | certs: 35 | logs: 36 | fallbackcerts: 37 | -------------------------------------------------------------------------------- /tooljet/.env: -------------------------------------------------------------------------------- 1 | # Create .env from this example file and replace values for the environment. 2 | # The application expects a separate .env.test for test environment configuration 3 | # Get detailed information about each variable here: https://docs.tooljet.com/docs/deployment/env-vars 4 | 5 | TOOLJET_HOST=http://localhost:8082 6 | LOCKBOX_MASTER_KEY=replace_with_lockbox_master_key 7 | SECRET_KEY_BASE=replace_with_secret_key_base 8 | 9 | # DATABASE CONFIG 10 | ORM_LOGGING=all 11 | PG_DB=tooljet_production 12 | PG_USER=postgres 13 | PG_HOST=postgres 14 | PG_PASS=postgres 15 | 16 | # Checks every 24 hours to see if a new version of ToolJet is available 17 | # (Enabled by default. Set 0 to disable) 18 | CHECK_FOR_UPDATES= 19 | 20 | # Checks every 24 hours to update app telemetry data to ToolJet hub. 21 | # (Telemetry is enabled by default. Set value to true to disable.) 22 | # DISABLE_APP_TELEMETRY=false 23 | 24 | GOOGLE_CLIENT_ID= 25 | GOOGLE_CLIENT_SECRET= 26 | 27 | # EMAIL CONFIGURATION 28 | DEFAULT_FROM_EMAIL=hello@tooljet.io 29 | SMTP_USERNAME= 30 | SMTP_PASSWORD= 31 | SMTP_DOMAIN= 32 | SMTP_PORT= 33 | 34 | # DISABLE USER SIGNUPS (true or false). Default: true 35 | DISABLE_SIGNUPS= 36 | 37 | # OBSERVABILITY 38 | APM_VENDOR= 39 | SENTRY_DNS= 40 | SENTRY_DEBUG= 41 | 42 | # FEATURE TOGGLE 43 | COMMENT_FEATURE_ENABLE= 44 | 45 | #SSO 46 | SSO_DISABLE_SIGNUP= 47 | SSO_RESTRICTED_DOMAIN= 48 | SSO_GOOGLE_OAUTH2_CLIENT_ID= 49 | SSO_GIT_OAUTH2_CLIENT_ID= 50 | SSO_GIT_OAUTH2_CLIENT_SECRET= 51 | -------------------------------------------------------------------------------- /supabase/.env: -------------------------------------------------------------------------------- 1 | ############ 2 | # Secrets 3 | # YOU MUST CHANGE THESE BEFORE GOING INTO PRODUCTION 4 | ############ 5 | 6 | POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password 7 | JWT_SECRET=your-super-secret-jwt-token-with-at-least-32-characters-long 8 | ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE 9 | SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q 10 | 11 | 12 | ############ 13 | # Database - You can change these to any PostgreSQL database that has logical replication enabled. 14 | ############ 15 | 16 | POSTGRES_HOST=db 17 | POSTGRES_DB=postgres 18 | POSTGRES_USER=postgres 19 | POSTGRES_PORT=5432 20 | 21 | 22 | ############ 23 | # API Proxy - Configuration for the Kong Reverse proxy. 24 | ############ 25 | 26 | KONG_HTTP_PORT=8000 27 | KONG_HTTPS_PORT=8443 28 | 29 | 30 | ############ 31 | # API - Configuration for PostgREST. 32 | ############ 33 | 34 | PGRST_DB_SCHEMAS=public,storage,graphql_public 35 | 36 | 37 | ############ 38 | # Auth - Configuration for the GoTrue authentication server. 39 | ############ 40 | 41 | ## General 42 | SITE_URL=http://localhost:3000 43 | ADDITIONAL_REDIRECT_URLS= 44 | JWT_EXPIRY=3600 45 | DISABLE_SIGNUP=false 46 | 47 | ## Email auth 48 | ENABLE_EMAIL_SIGNUP=true 49 | ENABLE_EMAIL_AUTOCONFIRM=false 50 | SMTP_ADMIN_EMAIL=admin@example.com 51 | SMTP_HOST=mail 52 | SMTP_PORT=2500 53 | SMTP_USER=fake_mail_user 54 | SMTP_PASS=fake_mail_password 55 | SMTP_SENDER_NAME=fake_sender 56 | 57 | ## Phone auth 58 | ENABLE_PHONE_SIGNUP=true 59 | ENABLE_PHONE_AUTOCONFIRM=true 60 | 61 | 62 | ############ 63 | # Studio - Configuration for the Dashboard 64 | ############ 65 | 66 | STUDIO_PORT=3000 67 | PUBLIC_REST_URL=http://localhost:8000/rest/v1/ # replace if you intend to use Studio outside of localhost 68 | -------------------------------------------------------------------------------- /dashy_conf.yml: -------------------------------------------------------------------------------- 1 | pageInfo: 2 | title: TemplateZ 3 | description: '' 4 | navLinks: 5 | - title: Portainer 6 | path: http://192.168.1.122:9000 7 | target: newtab 8 | footerText: ' ' 9 | appConfig: 10 | theme: adventure-basic 11 | layout: vertical 12 | iconSize: medium 13 | language: fr 14 | sections: 15 | - name: Personal 16 | icon: fas fa-rocket 17 | items: 18 | - title: GitHub 19 | description: '' 20 | icon: favicon 21 | url: https://github.com/mehdi-yc 22 | id: 0_836_github 23 | - title: Reddit 24 | description: '' 25 | icon: >- 26 | https://www.freeiconspng.com/thumbs/reddit-icon/red-circle-reddit-icon-1.png 27 | url: https://reddit.vom 28 | id: 1_836_reddit 29 | displayData: 30 | sortBy: default 31 | rows: 1 32 | cols: 1 33 | collapsed: false 34 | hideForGuests: false 35 | - name: Data 36 | icon: fas fa-chart-pie 37 | displayData: 38 | sortBy: default 39 | rows: 1 40 | cols: 1 41 | collapsed: false 42 | hideForGuests: false 43 | items: 44 | - title: Superset 45 | icon: https://superset.apache.org/img/favicon.ico 46 | url: http://192.168.1.122:8088 47 | id: 0_378_superset 48 | - title: Grafana 49 | icon: https://grafana.com/static/assets/img/fav32.png 50 | url: http://192.168.1.122:3333 51 | id: 1_378_grafana 52 | - title: Jupyter 53 | icon: >- 54 | https://jupyter-docker-stacks.readthedocs.io/en/latest/_static/jupyter-logo.svg 55 | url: >- 56 | https://192.168.1.122:8888/lab?token=425a35f9757a1d589e6a0d082e9a4434fcd8aa59e5d7a826 57 | id: 2_378_jupyter 58 | - name: Automation 59 | icon: fas fa-robot 60 | displayData: 61 | sortBy: default 62 | rows: 1 63 | cols: 1 64 | collapsed: false 65 | hideForGuests: false 66 | items: 67 | - title: n8n 68 | icon: >- 69 | https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png 70 | url: http://192.168.1.122:5678 71 | id: 0_1057_nn 72 | - name: Productivity 73 | icon: fas fa-file-arrow-up 74 | displayData: 75 | sortBy: default 76 | rows: 1 77 | cols: 1 78 | collapsed: false 79 | hideForGuests: false 80 | items: 81 | - title: Vscode-server 82 | icon: >- 83 | https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/openvscode-server-logo.png 84 | url: http://192.168.1.122:3001 85 | id: 0_1302_vscodeserver 86 | - title: OwnCloud 87 | icon: https://nextcloud.com/wp-content/uploads/2021/12/logo.png 88 | url: http://192.168.1.122:81 89 | id: 1_1302_owncloud 90 | -------------------------------------------------------------------------------- /supabase/docker-compose.yml: -------------------------------------------------------------------------------- 1 | # Usage 2 | # Start: docker-compose up 3 | # With helpers: docker-compose -f docker-compose.yml -f ./dev/docker-compose.dev.yml up 4 | # Stop: docker-compose down 5 | # Destroy: docker-compose -f docker-compose.yml -f ./dev/docker-compose.dev.yml down -v --remove-orphans 6 | 7 | version: "3.8" 8 | 9 | services: 10 | studio: 11 | container_name: supabase-studio 12 | image: supabase/studio:latest 13 | restart: unless-stopped 14 | ports: 15 | - ${STUDIO_PORT}:3000/tcp 16 | environment: 17 | STUDIO_PG_META_URL: http://meta:8080 18 | POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} 19 | 20 | SUPABASE_URL: http://kong:8000 21 | SUPABASE_REST_URL: ${PUBLIC_REST_URL} 22 | SUPABASE_ANON_KEY: ${ANON_KEY} 23 | SUPABASE_SERVICE_KEY: ${SERVICE_ROLE_KEY} 24 | 25 | kong: 26 | container_name: supabase-kong 27 | image: kong:2.1 28 | restart: unless-stopped 29 | ports: 30 | - ${KONG_HTTP_PORT}:8000/tcp 31 | - ${KONG_HTTPS_PORT}:8443/tcp 32 | environment: 33 | KONG_DATABASE: "off" 34 | KONG_DECLARATIVE_CONFIG: /var/lib/kong/kong.yml 35 | # https://github.com/supabase/cli/issues/14 36 | KONG_DNS_ORDER: LAST,A,CNAME 37 | KONG_PLUGINS: request-transformer,cors,key-auth,acl 38 | volumes: 39 | - ./volumes/api:/var/lib/kong 40 | 41 | auth: 42 | container_name: supabase-auth 43 | image: supabase/gotrue:v2.7.1 44 | depends_on: 45 | - db # Disable this if you are using an external Postgres database 46 | restart: unless-stopped 47 | environment: 48 | GOTRUE_API_HOST: 0.0.0.0 49 | GOTRUE_API_PORT: 9999 50 | 51 | GOTRUE_DB_DRIVER: postgres 52 | GOTRUE_DB_DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}?search_path=auth 53 | 54 | GOTRUE_SITE_URL: ${SITE_URL} 55 | GOTRUE_URI_ALLOW_LIST: ${ADDITIONAL_REDIRECT_URLS} 56 | GOTRUE_DISABLE_SIGNUP: ${DISABLE_SIGNUP} 57 | 58 | GOTRUE_JWT_ADMIN_ROLES: service_role 59 | GOTRUE_JWT_AUD: authenticated 60 | GOTRUE_JWT_DEFAULT_GROUP_NAME: authenticated 61 | GOTRUE_JWT_EXP: ${JWT_EXPIRY} 62 | GOTRUE_JWT_SECRET: ${JWT_SECRET} 63 | 64 | GOTRUE_EXTERNAL_EMAIL_ENABLED: ${ENABLE_EMAIL_SIGNUP} 65 | GOTRUE_MAILER_AUTOCONFIRM: ${ENABLE_EMAIL_AUTOCONFIRM} 66 | GOTRUE_SMTP_ADMIN_EMAIL: ${SMTP_ADMIN_EMAIL} 67 | GOTRUE_SMTP_HOST: ${SMTP_HOST} 68 | GOTRUE_SMTP_PORT: ${SMTP_PORT} 69 | GOTRUE_SMTP_USER: ${SMTP_USER} 70 | GOTRUE_SMTP_PASS: ${SMTP_PASS} 71 | GOTRUE_SMTP_SENDER_NAME: ${SMTP_SENDER_NAME} 72 | GOTRUE_MAILER_URLPATHS_INVITE: /auth/v1/verify 73 | GOTRUE_MAILER_URLPATHS_CONFIRMATION: /auth/v1/verify 74 | GOTRUE_MAILER_URLPATHS_RECOVERY: /auth/v1/verify 75 | GOTRUE_MAILER_URLPATHS_EMAIL_CHANGE: /auth/v1/verify 76 | 77 | GOTRUE_EXTERNAL_PHONE_ENABLED: ${ENABLE_PHONE_SIGNUP} 78 | GOTRUE_SMS_AUTOCONFIRM: ${ENABLE_PHONE_AUTOCONFIRM} 79 | 80 | rest: 81 | container_name: supabase-rest 82 | image: postgrest/postgrest:v9.0.0 83 | depends_on: 84 | - db # Disable this if you are using an external Postgres database 85 | restart: unless-stopped 86 | environment: 87 | PGRST_DB_URI: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB} 88 | PGRST_DB_SCHEMAS: ${PGRST_DB_SCHEMAS} 89 | PGRST_DB_ANON_ROLE: anon 90 | PGRST_JWT_SECRET: ${JWT_SECRET} 91 | PGRST_DB_USE_LEGACY_GUCS: "false" 92 | 93 | realtime: 94 | container_name: supabase-realtime 95 | image: supabase/realtime:v0.22.4 96 | depends_on: 97 | - db # Disable this if you are using an external Postgres database 98 | restart: unless-stopped 99 | environment: 100 | DB_HOST: ${POSTGRES_HOST} 101 | DB_PORT: ${POSTGRES_PORT} 102 | DB_NAME: ${POSTGRES_DB} 103 | DB_USER: ${POSTGRES_USER} 104 | DB_PASSWORD: ${POSTGRES_PASSWORD} 105 | DB_SSL: "false" 106 | PORT: 4000 107 | JWT_SECRET: ${JWT_SECRET} 108 | REPLICATION_MODE: RLS 109 | REPLICATION_POLL_INTERVAL: 100 110 | SECURE_CHANNELS: "true" 111 | SLOT_NAME: supabase_realtime_rls 112 | TEMPORARY_SLOT: "true" 113 | command: > 114 | bash -c "./prod/rel/realtime/bin/realtime eval Realtime.Release.migrate 115 | && ./prod/rel/realtime/bin/realtime start" 116 | 117 | storage: 118 | container_name: supabase-storage 119 | image: supabase/storage-api:v0.10.0 120 | depends_on: 121 | - db # Disable this if you are using an external Postgres database 122 | - rest 123 | restart: unless-stopped 124 | environment: 125 | ANON_KEY: ${ANON_KEY} 126 | SERVICE_KEY: ${SERVICE_ROLE_KEY} 127 | POSTGREST_URL: http://rest:3000 128 | PGRST_JWT_SECRET: ${JWT_SECRET} 129 | DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB} 130 | PGOPTIONS: -c search_path=storage,public 131 | FILE_SIZE_LIMIT: 52428800 132 | STORAGE_BACKEND: file 133 | FILE_STORAGE_BACKEND_PATH: /var/lib/storage 134 | TENANT_ID: stub 135 | # TODO: https://github.com/supabase/storage-api/issues/55 136 | REGION: stub 137 | GLOBAL_S3_BUCKET: stub 138 | volumes: 139 | - ./volumes/storage:/var/lib/storage 140 | 141 | meta: 142 | container_name: supabase-meta 143 | image: supabase/postgres-meta:v0.29.0 144 | depends_on: 145 | - db # Disable this if you are using an external Postgres database 146 | restart: unless-stopped 147 | environment: 148 | PG_META_PORT: 8080 149 | PG_META_DB_HOST: ${POSTGRES_HOST} 150 | PG_META_DB_PASSWORD: ${POSTGRES_PASSWORD} 151 | 152 | # Comment out everything below this point if you are using an external Postgres database 153 | db: 154 | container_name: supabase-db 155 | image: supabase/postgres:14.1.0.21 156 | command: postgres -c config_file=/etc/postgresql/postgresql.conf 157 | restart: unless-stopped 158 | ports: 159 | - ${POSTGRES_PORT}:5432 160 | environment: 161 | POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} 162 | volumes: 163 | # - ./volumes/db/data:/var/lib/postgresql/data 164 | - ./volumes/db/init:/docker-entrypoint-initdb.d 165 | -------------------------------------------------------------------------------- /templates-2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2", 3 | "templates": [ 4 | { 5 | "type": 1, 6 | "title": "Registry", 7 | "description": "Docker image registry", 8 | "categories": ["docker"], 9 | "platform": "linux", 10 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/registry.png", 11 | "image": "registry:latest", 12 | "ports": ["5000/tcp"], 13 | "volumes": [ 14 | { 15 | "container": "/var/lib/registry" 16 | } 17 | ] 18 | }, 19 | { 20 | "type": 1, 21 | "title": "Ubuntu", 22 | "description": "Debian-based Linux operating system", 23 | "categories": ["operating-system"], 24 | "platform": "linux", 25 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ubuntu.png", 26 | "image": "ubuntu:latest", 27 | "interactive": true, 28 | "command": "/bin/bash" 29 | }, 30 | { 31 | "type": 1, 32 | "title": "NodeJS", 33 | "description": "JavaScript-based platform for server-side and networking applications", 34 | "categories": ["development"], 35 | "platform": "linux", 36 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/node.png", 37 | "image": "node:latest", 38 | "interactive": true, 39 | "command": "/bin/bash" 40 | }, 41 | { 42 | "type": 1, 43 | "title": "Nginx", 44 | "description": "High performance web server", 45 | "categories": ["webserver"], 46 | "platform": "linux", 47 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/nginx.png", 48 | "image": "nginx:latest", 49 | "ports": ["80/tcp", "443/tcp"], 50 | "volumes": [ 51 | { 52 | "container": "/etc/nginx" 53 | }, 54 | { 55 | "container": "/usr/share/nginx/html" 56 | } 57 | ] 58 | }, 59 | { 60 | "type": 1, 61 | "title": "Httpd", 62 | "description": "Open-source HTTP server", 63 | "categories": ["webserver"], 64 | "platform": "linux", 65 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/httpd.png", 66 | "image": "httpd:latest", 67 | "ports": ["80/tcp"], 68 | "volumes": [ 69 | { 70 | "container": "/usr/local/apache2/htdocs/" 71 | } 72 | ] 73 | }, 74 | { 75 | "type": 1, 76 | "title": "Caddy", 77 | "description": "Open-source web server with automatic HTTPS written in Go", 78 | "categories": ["webserver"], 79 | "platform": "linux", 80 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/caddy.png", 81 | "image": "caddy:latest", 82 | "ports": ["80/tcp"], 83 | "volumes": [ 84 | { 85 | "container": "/data" 86 | } 87 | ] 88 | }, 89 | { 90 | "type": 1, 91 | "title": "MySQL", 92 | "description": "The most popular open-source database", 93 | "categories": ["database"], 94 | "platform": "linux", 95 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mysql.png", 96 | "image": "mysql/mysql-server:5.7", 97 | "env": [ 98 | { 99 | "name": "MYSQL_ROOT_PASSWORD", 100 | "label": "Root password" 101 | }, 102 | { 103 | "name": "MYSQL_ROOT_HOST", 104 | "default": "%", 105 | "preset": true 106 | } 107 | ], 108 | "ports": ["3306/tcp"], 109 | "volumes": [ 110 | { 111 | "container": "/var/lib/mysql" 112 | } 113 | ] 114 | }, 115 | { 116 | "type": 1, 117 | "title": "MariaDB", 118 | "description": "Performance beyond MySQL", 119 | "categories": ["database"], 120 | "platform": "linux", 121 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mariadb.png", 122 | "image": "mariadb:latest", 123 | "env": [ 124 | { 125 | "name": "MYSQL_ROOT_PASSWORD", 126 | "label": "Root password" 127 | } 128 | ], 129 | "ports": ["3306/tcp"], 130 | "volumes": [ 131 | { 132 | "container": "/var/lib/mysql" 133 | } 134 | ] 135 | }, 136 | { 137 | "type": 1, 138 | "title": "PostgreSQL", 139 | "description": "The most advanced open-source database", 140 | "categories": ["database"], 141 | "platform": "linux", 142 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/postgres.png", 143 | "image": "postgres:latest", 144 | "env": [ 145 | { 146 | "name": "POSTGRES_USER", 147 | "label": "Superuser" 148 | }, 149 | { 150 | "name": "POSTGRES_PASSWORD", 151 | "label": "Superuser password" 152 | } 153 | ], 154 | "ports": ["5432/tcp"], 155 | "volumes": [ 156 | { 157 | "container": "/var/lib/postgresql/data" 158 | } 159 | ] 160 | }, 161 | { 162 | "type": 1, 163 | "title": "Mongo", 164 | "description": "Open-source document-oriented database", 165 | "categories": ["database"], 166 | "platform": "linux", 167 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mongo.png", 168 | "image": "mongo:latest", 169 | "ports": ["27017/tcp"], 170 | "volumes": [ 171 | { 172 | "container": "/data/db" 173 | } 174 | ] 175 | }, 176 | { 177 | "type": 1, 178 | "title": "CrateDB", 179 | "description": "An open-source distributed SQL database", 180 | "categories": ["database"], 181 | "platform": "linux", 182 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/cratedb.png", 183 | "image": "crate:latest", 184 | "ports": ["4200/tcp", "4300/tcp"], 185 | "volumes": [ 186 | { 187 | "container": "/data" 188 | } 189 | ] 190 | }, 191 | { 192 | "type": 1, 193 | "title": "Elasticsearch", 194 | "description": "Open-source search and analytics engine", 195 | "categories": ["database"], 196 | "platform": "linux", 197 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/elasticsearch.png", 198 | "image": "docker.elastic.co/elasticsearch/elasticsearch:7.15.1", 199 | "ports": ["9200/tcp", "9300/tcp"], 200 | "volumes": [ 201 | { 202 | "container": "/usr/share/elasticsearch/data" 203 | } 204 | ] 205 | }, 206 | { 207 | "type": 1, 208 | "title": "Gitlab CE", 209 | "description": "Open-source end-to-end software development platform", 210 | "note": "Default username is root. Check the Gitlab documentation to get started.", 211 | "categories": ["development", "project-management"], 212 | "platform": "linux", 213 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/gitlab_ce.png", 214 | "image": "gitlab/gitlab-ce:latest", 215 | "ports": ["80/tcp", "443/tcp", "22/tcp"], 216 | "volumes": [ 217 | { 218 | "container": "/etc/gitlab" 219 | }, 220 | { 221 | "container": "/var/log/gitlab" 222 | }, 223 | { 224 | "container": "/var/opt/gitlab" 225 | } 226 | ] 227 | }, 228 | { 229 | "type": 1, 230 | "title": "Minio", 231 | "description": "A distributed object storage server built for cloud applications and devops", 232 | "categories": ["storage"], 233 | "platform": "linux", 234 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/minio.png", 235 | "image": "quay.io/minio/minio:latest", 236 | "ports": ["9000/tcp", "9001/tcp"], 237 | "env": [ 238 | { 239 | "name": "MINIO_ROOT_USER", 240 | "label": "Root user" 241 | }, 242 | { 243 | "name": "MINIO_ROOT_PASSWORD", 244 | "label": "Root password" 245 | } 246 | ], 247 | "volumes": [ 248 | { 249 | "container": "/data" 250 | }, 251 | { 252 | "container": "/root/.minio" 253 | } 254 | ], 255 | "command": "server /data --console-address ':9001'" 256 | }, 257 | { 258 | "type": 1, 259 | "title": "Scality S3", 260 | "description": "Standalone AWS S3 protocol server", 261 | "categories": ["storage"], 262 | "platform": "linux", 263 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/scality-s3.png", 264 | "image": "scality/s3server", 265 | "ports": ["8000/tcp"], 266 | "env": [ 267 | { 268 | "name": "SCALITY_ACCESS_KEY", 269 | "label": "Scality S3 access key" 270 | }, 271 | { 272 | "name": "SCALITY_SECRET_KEY", 273 | "label": "Scality S3 secret key" 274 | } 275 | ], 276 | "volumes": [ 277 | { 278 | "container": "/usr/src/app/localData" 279 | }, 280 | { 281 | "container": "/usr/src/app/localMetadata" 282 | } 283 | ] 284 | }, 285 | { 286 | "type": 1, 287 | "title": "SQL Server", 288 | "description": "Microsoft SQL Server on Linux", 289 | "categories": ["database"], 290 | "platform": "linux", 291 | "note": "Password needs to include at least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.", 292 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png", 293 | "image": "mcr.microsoft.com/mssql/server:2019-latest", 294 | "ports": ["1433/tcp"], 295 | "env": [ 296 | { 297 | "name": "ACCEPT_EULA", 298 | "default": "Y", 299 | "preset": true 300 | }, 301 | { 302 | "name": "SA_PASSWORD", 303 | "label": "SA password" 304 | } 305 | ] 306 | }, 307 | { 308 | "type": 1, 309 | "title": "SQL Server", 310 | "description": "Microsoft SQL Server Developer for Windows containers", 311 | "categories": ["database"], 312 | "platform": "windows", 313 | "note": "Password needs to include at least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.", 314 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png", 315 | "image": "microsoft/mssql-server-windows-developer:latest", 316 | "ports": ["1433/tcp"], 317 | "env": [ 318 | { 319 | "name": "ACCEPT_EULA", 320 | "default": "Y", 321 | "preset": true 322 | }, 323 | { 324 | "name": "sa_password", 325 | "label": "SA password" 326 | } 327 | ], 328 | "volumes": [ 329 | { 330 | "container": "C:/temp/" 331 | } 332 | ] 333 | }, 334 | { 335 | "type": 1, 336 | "title": "SQL Server Express", 337 | "description": "Microsoft SQL Server Express for Windows containers", 338 | "categories": ["database"], 339 | "platform": "windows", 340 | "note": "Password needs to include at least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.", 341 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png", 342 | "image": "microsoft/mssql-server-windows-express:latest", 343 | "ports": ["1433/tcp"], 344 | "env": [ 345 | { 346 | "name": "ACCEPT_EULA", 347 | "default": "Y", 348 | "preset": true 349 | }, 350 | { 351 | "name": "sa_password", 352 | "label": "SA password" 353 | } 354 | ], 355 | "volumes": [ 356 | { 357 | "container": "C:/temp/" 358 | } 359 | ] 360 | }, 361 | { 362 | "type": 1, 363 | "title": "Solr", 364 | "description": "Open-source enterprise search platform", 365 | "categories": ["search-engine"], 366 | "platform": "linux", 367 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/solr.png", 368 | "image": "solr:latest", 369 | "ports": ["8983/tcp"], 370 | "volumes": [ 371 | { 372 | "container": "/opt/solr/mydata" 373 | } 374 | ] 375 | }, 376 | { 377 | "type": 1, 378 | "title": "Redis", 379 | "description": "Open-source in-memory data structure store", 380 | "categories": ["database"], 381 | "platform": "linux", 382 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redis.png", 383 | "image": "redis:latest", 384 | "ports": ["6379/tcp"], 385 | "volumes": [ 386 | { 387 | "container": "/data" 388 | } 389 | ] 390 | }, 391 | { 392 | "type": 2, 393 | "title": "Redis Cluster", 394 | "description": "Open-source in-memory data structure store - Cluster mode", 395 | "categories": ["database"], 396 | "platform": "linux", 397 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redis.png", 398 | "repository": { 399 | "url": "https://github.com/portainer/templates", 400 | "stackfile": "stacks/redis-cluster/docker-stack.yaml" 401 | }, 402 | "env": [ 403 | { 404 | "name": "REDIS_PASSWD", 405 | "label": "Redis password" 406 | } 407 | ] 408 | }, 409 | 410 | 411 | { 412 | "type": 1, 413 | "title": "RabbitMQ", 414 | "description": "Highly reliable enterprise messaging system", 415 | "categories": ["messaging"], 416 | "platform": "linux", 417 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/rabbitmq.png", 418 | "image": "rabbitmq:latest", 419 | "ports": ["5671/tcp", "5672/tcp"], 420 | "volumes": [ 421 | { 422 | "container": "/var/lib/rabbitmq" 423 | } 424 | ] 425 | }, 426 | { 427 | "type": 1, 428 | "title": "Ghost", 429 | "description": "Free and open-source blogging platform", 430 | "categories": ["blog"], 431 | "note": "Access the blog management interface under /ghost/.", 432 | "platform": "linux", 433 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ghost.png", 434 | "image": "ghost:latest", 435 | "ports": ["2368/tcp"], 436 | "volumes": [ 437 | { 438 | "container": "/var/lib/ghost/content" 439 | } 440 | ] 441 | }, 442 | { 443 | "type": 1, 444 | "title": "Joomla", 445 | "description": "Another free and open-source CMS", 446 | "categories": ["CMS"], 447 | "platform": "linux", 448 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/joomla.png", 449 | "image": "joomla:latest", 450 | "env": [ 451 | { 452 | "name": "JOOMLA_DB_HOST", 453 | "label": "MySQL database host", 454 | "type": "container" 455 | }, 456 | { 457 | "name": "JOOMLA_DB_PASSWORD", 458 | "label": "Database password" 459 | } 460 | ], 461 | "ports": ["80/tcp"], 462 | "volumes": [ 463 | { 464 | "container": "/var/www/html" 465 | } 466 | ] 467 | }, 468 | { 469 | "type": 1, 470 | "title": "Drupal", 471 | "description": "Open-source content management framework", 472 | "categories": ["CMS"], 473 | "platform": "linux", 474 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/drupal.png", 475 | "image": "drupal:latest", 476 | "ports": ["80/tcp"], 477 | "volumes": [ 478 | { 479 | "container": "/var/www/html" 480 | } 481 | ] 482 | }, 483 | { 484 | "type": 1, 485 | "title": "Plone", 486 | "description": "A free and open-source CMS built on top of Zope", 487 | "note": "Default user and password are admin/admin", 488 | "categories": ["CMS"], 489 | "platform": "linux", 490 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/plone.png", 491 | "image": "plone:latest", 492 | "ports": ["8080/tcp"], 493 | "volumes": [ 494 | { 495 | "container": "/data" 496 | } 497 | ] 498 | }, 499 | { 500 | "type": 1, 501 | "title": "Sematext Docker Agent", 502 | "description": "Collect logs, metrics and docker events", 503 | "categories": ["Log Management", "Monitoring"], 504 | "platform": "linux", 505 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/sematext_agent.png", 506 | "image": "sematext/sematext-agent-docker:latest", 507 | "name": "sematext-agent", 508 | "privileged": true, 509 | "env": [ 510 | { 511 | "name": "LOGSENE_TOKEN", 512 | "label": "Logs token" 513 | }, 514 | { 515 | "name": "SPM_TOKEN", 516 | "label": "SPM monitoring token" 517 | } 518 | ], 519 | "volumes": [ 520 | { 521 | "container": "/var/run/docker.sock", 522 | "bind": "/var/run/docker.sock" 523 | } 524 | ] 525 | }, 526 | { 527 | "type": 1, 528 | "title": "Datadog agent", 529 | "description": "Collect events and metrics", 530 | "categories": ["Monitoring"], 531 | "platform": "linux", 532 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/datadog_agent.png", 533 | "image": "datadog/agent:latest", 534 | "env": [ 535 | { 536 | "name": "DD_API_KEY", 537 | "label": "Datadog API key" 538 | } 539 | ], 540 | "volumes": [ 541 | { 542 | "container": "/var/run/docker.sock", 543 | "bind": "/var/run/docker.sock", 544 | "readonly": true 545 | }, 546 | { 547 | "container": "/host/sys/fs/cgroup", 548 | "bind": "/sys/fs/cgroup", 549 | "readonly": true 550 | }, 551 | { 552 | "container": "/host/proc", 553 | "bind": "/proc", 554 | "readonly": true 555 | } 556 | ] 557 | }, 558 | { 559 | "type": 1, 560 | "title": "Mautic", 561 | "description": "Open-source marketing automation platform", 562 | "categories": ["marketing"], 563 | "platform": "linux", 564 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mautic.png", 565 | "image": "mautic/mautic:latest", 566 | "env": [ 567 | { 568 | "name": "MAUTIC_DB_HOST", 569 | "label": "MySQL database host", 570 | "type": "container" 571 | }, 572 | { 573 | "name": "MAUTIC_DB_PASSWORD", 574 | "label": "Database password" 575 | } 576 | ], 577 | "ports": ["80/tcp"], 578 | "volumes": [ 579 | { 580 | "container": "/var/www/html" 581 | } 582 | ] 583 | }, 584 | { 585 | "type": 1, 586 | "title": "Jenkins", 587 | "description": "Open-source continuous integration tool", 588 | "categories": ["continuous-integration"], 589 | "platform": "linux", 590 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/jenkins.png", 591 | "image": "jenkins/jenkins:lts-jdk11", 592 | "ports": ["8080/tcp", "50000/tcp"], 593 | "volumes": [ 594 | { 595 | "container": "/var/jenkins_home" 596 | } 597 | ] 598 | }, 599 | { 600 | "type": 1, 601 | "title": "Redmine", 602 | "description": "Open-source project management tool", 603 | "note": "Default user and password are admin/admin", 604 | "categories": ["project-management"], 605 | "platform": "linux", 606 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redmine.png", 607 | "image": "redmine:latest", 608 | "ports": ["3000/tcp"], 609 | "volumes": [ 610 | { 611 | "container": "/usr/src/redmine/files" 612 | } 613 | ] 614 | }, 615 | { 616 | "type": 1, 617 | "title": "File browser", 618 | "description": "A web file manager", 619 | "note": "Default credentials: admin/admin", 620 | "categories": ["filesystem", "storage"], 621 | "platform": "linux", 622 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/filebrowser.png", 623 | "image": "filebrowser/filebrowser:latest", 624 | "ports": ["80/tcp"], 625 | "volumes": [ 626 | { 627 | "container": "/data" 628 | }, 629 | { 630 | "container": "/srv" 631 | } 632 | ], 633 | "command": "--port 80 --database /data/database.db --root /srv" 634 | }, 635 | { 636 | "type": 1, 637 | "title": "CommandBox", 638 | "description": "ColdFusion (CFML) CLI", 639 | "categories": ["development"], 640 | "platform": "linux", 641 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ortussolutions-commandbox.png", 642 | "image": "ortussolutions/commandbox:latest", 643 | "env": [ 644 | { 645 | "name": "CFENGINE", 646 | "default": "lucee@4.5", 647 | "preset": true 648 | } 649 | ], 650 | "ports": ["8080/tcp", "8443/tcp"] 651 | }, 652 | { 653 | "type": 1, 654 | "title": "ContentBox", 655 | "description": "Open-source modular CMS", 656 | "categories": ["CMS"], 657 | "platform": "linux", 658 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ortussolutions-contentbox.png", 659 | "image": "ortussolutions/contentbox:latest", 660 | "env": [ 661 | { 662 | "name": "express", 663 | "default": "true", 664 | "preset": true 665 | }, 666 | { 667 | "name": "install", 668 | "default": "true", 669 | "preset": true 670 | }, 671 | { 672 | "name": "CFENGINE", 673 | "default": "lucee@4.5", 674 | "preset": true 675 | } 676 | ], 677 | "ports": ["8080/tcp", "8443/tcp"], 678 | "volumes": [ 679 | { 680 | "container": "/data/contentbox/db" 681 | }, 682 | { 683 | "container": "/app/includes/shared/media" 684 | } 685 | ] 686 | }, 687 | { 688 | "type": 2, 689 | "title": "Portainer Agent", 690 | "description": "Manage all the resources in your Swarm cluster", 691 | "note": "The agent will be deployed globally inside your cluster and available on port 9001.", 692 | "categories": ["portainer"], 693 | "platform": "linux", 694 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/portainer.png", 695 | "repository": { 696 | "url": "https://github.com/portainer/templates", 697 | "stackfile": "stacks/portainer-agent/docker-stack.yml" 698 | } 699 | }, 700 | { 701 | "type": 2, 702 | "title": "OpenFaaS", 703 | "name": "func", 704 | "description": "Serverless functions made simple", 705 | "note": "Deploys the API gateway and sample functions. You can access the UI on port 8080. Warning: the name of the stack must be 'func'.", 706 | "categories": ["serverless"], 707 | "platform": "linux", 708 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/openfaas.png", 709 | "repository": { 710 | "url": "https://github.com/openfaas/faas", 711 | "stackfile": "docker-compose.yml" 712 | } 713 | }, 714 | { 715 | "type": 2, 716 | "title": "IronFunctions", 717 | "description": "Open-source serverless computing platform", 718 | "note": "Deploys the IronFunctions API and UI.", 719 | "categories": ["serverless"], 720 | "platform": "linux", 721 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ironfunctions.png", 722 | "repository": { 723 | "url": "https://github.com/portainer/templates", 724 | "stackfile": "stacks/ironfunctions/docker-stack.yml" 725 | } 726 | }, 727 | { 728 | "type": 2, 729 | "title": "CockroachDB", 730 | "description": "CockroachDB cluster", 731 | "note": "Deploys an insecure CockroachDB cluster, please refer to CockroachDB documentation for production deployments.", 732 | "categories": ["database"], 733 | "platform": "linux", 734 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/cockroachdb.png", 735 | "repository": { 736 | "url": "https://github.com/portainer/templates", 737 | "stackfile": "stacks/cockroachdb/docker-stack.yml" 738 | } 739 | }, 740 | { 741 | "type": 2, 742 | "title": "WordPress", 743 | "description": "WordPress setup with a MySQL database", 744 | "note": "Deploys a WordPress instance connected to a MySQL database.", 745 | "categories": ["CMS"], 746 | "platform": "linux", 747 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png", 748 | "repository": { 749 | "url": "https://github.com/portainer/templates", 750 | "stackfile": "stacks/wordpress/docker-stack.yml" 751 | }, 752 | "env": [ 753 | { 754 | "name": "MYSQL_DATABASE_PASSWORD", 755 | "label": "Database root password", 756 | "description": "Password used by the MySQL root user." 757 | } 758 | ] 759 | }, 760 | { 761 | "type": 3, 762 | "title": "WordPress", 763 | "description": "WordPress setup with a MySQL database", 764 | "note": "Deploys a WordPress instance connected to a MySQL database.", 765 | "categories": ["CMS"], 766 | "platform": "linux", 767 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png", 768 | "repository": { 769 | "url": "https://github.com/portainer/templates", 770 | "stackfile": "stacks/wordpress/docker-compose.yml" 771 | }, 772 | "env": [ 773 | { 774 | "name": "MYSQL_DATABASE_PASSWORD", 775 | "label": "Database root password", 776 | "description": "Password used by the MySQL root user." 777 | } 778 | ] 779 | }, 780 | { 781 | "type": 3, 782 | "title": "OpenAMT", 783 | "description": "OpenAMT Cloud Toolkit", 784 | "note": "MPS password needs to be 8-32 characters including one uppercase, one lowercase letters, one base-10 digit and one special character.", 785 | "categories": ["Cloud"], 786 | "platform": "linux", 787 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/intel.png", 788 | "repository": { 789 | "url": "https://github.com/portainer/templates", 790 | "stackfile": "stacks/openamt/docker-compose.yml" 791 | }, 792 | "env": [ 793 | { 794 | "name": "POSTGRES_USER", 795 | "label": "Database user" 796 | }, 797 | { 798 | "name": "POSTGRES_PASSWORD", 799 | "label": "Database password" 800 | }, 801 | { 802 | "name": "MPS_USER", 803 | "label": "MPS user" 804 | }, 805 | { 806 | "name": "MPS_PASSWORD", 807 | "label": "MPS password" 808 | }, 809 | { 810 | "name": "MPS_COMMON_NAME", 811 | "label": "MPS URL", 812 | "description": "Used to connect to the MPS API." 813 | }, 814 | { 815 | "name": "MPS_SECRET", 816 | "label": "MPS Secret", 817 | "description": "Strong secret key used to log into MPS." 818 | }, 819 | { 820 | "name": "VAULT_SECRET", 821 | "label": "Vault secret", 822 | "description": "Secret token used to log into Vault (don't include '.' character)." 823 | } 824 | ] 825 | }, 826 | { 827 | "type": 2, 828 | "title": "Microsoft OMS Agent", 829 | "description": "Microsoft Operations Management Suite Linux agent.", 830 | "categories": ["OPS"], 831 | "platform": "linux", 832 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png", 833 | "repository": { 834 | "url": "https://github.com/portainer/templates", 835 | "stackfile": "stacks/microsoft-oms/docker-stack.yml" 836 | }, 837 | "env": [ 838 | { 839 | "name": "AZURE_WORKSPACE_ID", 840 | "label": "Workspace ID", 841 | "description": "Azure Workspace ID" 842 | }, 843 | { 844 | "name": "AZURE_PRIMARY_KEY", 845 | "label": "Primary key", 846 | "description": "Azure primary key" 847 | } 848 | ] 849 | }, 850 | { 851 | "title": "Sematext Docker Agent", 852 | "type": 2, 853 | "categories": ["Log Management", "Monitoring"], 854 | "description": "Collect logs, metrics and docker events", 855 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/sematext_agent.png", 856 | "platform": "linux", 857 | "repository": { 858 | "url": "https://github.com/portainer/templates", 859 | "stackfile": "stacks/sematext-agent-docker/docker-stack.yml" 860 | }, 861 | "env": [ 862 | { 863 | "name": "LOGSENE_TOKEN", 864 | "label": "Logs token" 865 | }, 866 | { 867 | "name": "SPM_TOKEN", 868 | "label": "SPM monitoring token" 869 | } 870 | ] 871 | }, 872 | { 873 | "title": "Datadog agent", 874 | "type": 2, 875 | "categories": ["Monitoring"], 876 | "description": "Collect events and metrics", 877 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/datadog_agent.png", 878 | "platform": "linux", 879 | "repository": { 880 | "url": "https://github.com/portainer/templates", 881 | "stackfile": "stacks/datadog-agent/docker-stack.yml" 882 | }, 883 | "env": [ 884 | { 885 | "name": "API_KEY", 886 | "label": "Datadog API key" 887 | } 888 | ] 889 | }, 890 | { 891 | "type": 4, 892 | "title": "Wordpress", 893 | "description": "Wordpress setup with a MySQL database", 894 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 895 | "stackfile": "https://raw.githubusercontent.com/portainer/templates/master/stacks/wordpress/edge/docker-stack.yml" 896 | }, 897 | { 898 | "type": 4, 899 | "title": "CockroachDB", 900 | "description": "CockroachDB cluster", 901 | "note": "Deploys an insecure CockroachDB cluster, please refer to CockroachDB documentation for production deployments.", 902 | "stackfile": "https://raw.githubusercontent.com/portainer/templates/master/stacks/cockroachdb/edge/docker-stack.yml" 903 | }, 904 | { 905 | "type": 3, 906 | "title": "FDO", 907 | "description": "FDO", 908 | "platform": "linux", 909 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/intel.png", 910 | "repository": { 911 | "url": "https://github.com/portainer/templates", 912 | "stackfile": "stacks/fdo/docker-stack.yml" 913 | }, 914 | "env": [ 915 | { 916 | "name": "owner_api_user", 917 | "label": "API Username" 918 | }, 919 | { 920 | "name": "owner_api_password", 921 | "label": "API Password" 922 | } 923 | ] 924 | } 925 | ] 926 | } 927 | -------------------------------------------------------------------------------- /backup.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2", 3 | "templates": [ 4 | 5 | 6 | { 7 | "categories": [ 8 | "data","dashboard" 9 | ], 10 | "description": "Apache Superset is a Data Visualization and Data Exploration Platform. ", 11 | 12 | "image": "apache/superset:latest", 13 | "logo": "https://superset.apache.org/img/favicon.ico", 14 | "platform": "linux", 15 | "ports": [ 16 | "8080/tcp" 17 | ], 18 | "title": "Apache superset", 19 | "type": 1 20 | }, 21 | 22 | { 23 | "categories": [ 24 | "data","dashboard" 25 | ], 26 | "description": "The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.", 27 | 28 | "image": "grafana/grafana:latest", 29 | "logo": "https://grafana.com/static/assets/img/fav32.png", 30 | "platform": "linux", 31 | "ports": [ 32 | "3000/tcp" 33 | ], 34 | "title": "Grafana", 35 | "type": 1 36 | }, 37 | 38 | 39 | { 40 | "categories": [ 41 | "code","pipelines" 42 | ], 43 | "description": "Build powerful pipelines in any programming language. ", 44 | 45 | "image": "gaiapipeline/gaia:latest", 46 | "logo": "https://gist.githubusercontent.com/michelvocks/ef3894f63c3bb004bca1a2fd5f7eb644/raw/40c5799d74a6f28af1874e726083a50a3ebd877d/gaia-logo-text.png", 47 | "platform": "linux", 48 | "ports": [ 49 | "8080/tcp" 50 | ], 51 | "title": "Gaia pipeline", 52 | "type": 1 53 | }, 54 | 55 | 56 | { 57 | "categories": [ 58 | "cms","low-code" 59 | ], 60 | "description": "Open source Node.js Headless CMS to easily build customisable APIs.", 61 | 62 | "image": "strapi/strapi:latest", 63 | "logo": "https://strapi.io/assets/favicon-32x32.png", 64 | "platform": "linux", 65 | "ports": [ 66 | "1337/tcp" 67 | ], 68 | "title": "Strapi", 69 | "type": 1 70 | }, 71 | 72 | 73 | 74 | { 75 | "categories": [ 76 | "coding","datascience" 77 | ], 78 | "description": "Base Jupyter Notebook Stack", 79 | 80 | "image": "jupyter/base-notebook:latest", 81 | "logo": "https://jupyter-docker-stacks.readthedocs.io/en/latest/_static/jupyter-logo.svg", 82 | "platform": "linux", 83 | "ports": [ 84 | "8888/tcp" 85 | ], 86 | "title": "Jupyter", 87 | "type": 1 88 | 89 | }, 90 | { 91 | "categories": [ 92 | "database", "low-code" 93 | ], 94 | "description": "The Open Source Airtable Alternative 🎃Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet. .", 95 | 96 | "image": "nocodb/nocodb:latest", 97 | "logo": "https://docs.nocodb.com/favicon-128.png", 98 | "platform": "linux", 99 | "ports": [ 100 | "8080/tcp" 101 | ], 102 | "title": "NocoDB", 103 | "type": 1, 104 | "volumes": [{ 105 | "container": "/home/node/.n8n" 106 | }], 107 | "env": [{ 108 | "label": "use a database first", 109 | "name": "NC_DB", 110 | "default": "pg://host:port?u=user&p=password&d=database" 111 | }, 112 | { 113 | "label": "secret token", 114 | "name": "NC_AUTH_JWT_SECRET", 115 | "default": "569a1821-0a93-45e8-87ab-eb857f20a010" 116 | } 117 | 118 | ] 119 | }, 120 | 121 | 122 | { 123 | "categories": [ 124 | "workflow", "low-code" 125 | ], 126 | "description": "n8n is a free and open fair-code distributed node based Workflow Automation Tool. It can be self-hosted, easily extended, and so also used with internal tools.", 127 | 128 | "image": "n8nio/n8n:latest", 129 | "logo": "https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png", 130 | "platform": "linux", 131 | "ports": [ 132 | "5678/tcp" 133 | ], 134 | "title": "n8n", 135 | "type": 1, 136 | "volumes": [{ 137 | "container": "/home/node/.n8n" 138 | }], 139 | "env": [{ 140 | "label": "activate user auth", 141 | "name": "N8N_BASIC_AUTH_ACTIVE" 142 | }, 143 | { 144 | "label": "access udername", 145 | "name": "N8N_BASIC_AUTH_USER" 146 | }, 147 | { 148 | "label": "access password", 149 | "name": "N8N_BASIC_AUTH_PASSWORD" 150 | } 151 | ] 152 | }, 153 | 154 | 155 | 156 | 157 | { 158 | "categories": [ 159 | "workflow", "low-code" 160 | ], 161 | "description": "Low-code programming for event-driven applications ", 162 | 163 | "image": "nodered/node-red:latest", 164 | "logo": "https://aws1.discourse-cdn.com/business6/uploads/nodered/original/1X/778549404735e222c89ce5449482a189ace8cdae.png", 165 | "platform": "linux", 166 | "ports": [ 167 | "1880/tcp" 168 | ], 169 | "title": "Node-red", 170 | "type": 1, 171 | "volumes": [{ 172 | "container": "/data" 173 | }] 174 | }, 175 | { 176 | "categories": [ 177 | "database" 178 | ], 179 | "description": "The most advanced open-source database", 180 | "env": [{ 181 | "label": "Superuser", 182 | "name": "POSTGRES_USER" 183 | }, 184 | { 185 | "label": "Superuser password", 186 | "name": "POSTGRES_PASSWORD" 187 | } 188 | ], 189 | "image": "postgres:latest", 190 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/postgres.png", 191 | "platform": "linux", 192 | "ports": [ 193 | "5432/tcp" 194 | ], 195 | "title": "PostgreSQL", 196 | "type": 1, 197 | "volumes": [{ 198 | "container": "/var/lib/postgresql/data" 199 | }] 200 | }, 201 | 202 | 203 | 204 | 205 | { 206 | "categories": [ 207 | "serverless" 208 | ], 209 | "description": "Serverless functions made simple", 210 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/openfaas.png", 211 | "name": "func", 212 | "note": "Deploys the API gateway and sample functions. You can access the UI on port 8080. Warning: the name of the stack must be 'func'.", 213 | "platform": "linux", 214 | "repository": { 215 | "stackfile": "docker-compose.yml", 216 | "url": "https://github.com/openfaas/faas" 217 | }, 218 | "title": "OpenFaaS", 219 | "type": 2 220 | }, 221 | 222 | 223 | { 224 | "categories": [ 225 | "database" 226 | ], 227 | "description": "Open-source in-memory data structure store", 228 | "image": "redis:latest", 229 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redis.png", 230 | "platform": "linux", 231 | "ports": [ 232 | "6379/tcp" 233 | ], 234 | "title": "Redis", 235 | "type": 1, 236 | "volumes": [{ 237 | "container": "/data" 238 | }] 239 | }, 240 | 241 | 242 | { 243 | "categories": [ 244 | "search-engine" 245 | ], 246 | "description": "Open-source enterprise search platform", 247 | "image": "solr:latest", 248 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/solr.png", 249 | "platform": "linux", 250 | "ports": [ 251 | "8983/tcp" 252 | ], 253 | "title": "Solr", 254 | "type": 1, 255 | "volumes": [{ 256 | "container": "/opt/solr/mydata" 257 | }] 258 | }, 259 | 260 | 261 | 262 | { 263 | "categories": [ 264 | "database" 265 | ], 266 | "description": "Microsoft SQL Server on Linux", 267 | "env": [{ 268 | "name": "ACCEPT_EULA", 269 | "set": "Y" 270 | }, 271 | { 272 | "label": "SA password", 273 | "name": "SA_PASSWORD" 274 | } 275 | ], 276 | "image": "microsoft/mssql-server-linux:2017-GA", 277 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png", 278 | "note": "Password needs to include at least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.", 279 | "platform": "linux", 280 | "ports": [ 281 | "1433/tcp" 282 | ], 283 | "title": "SQL Server", 284 | "type": 1 285 | }, 286 | 287 | { 288 | "categories": [ 289 | "CMS" 290 | ], 291 | "description": "Wordpress setup with a MySQL database", 292 | "env": [{ 293 | "description": "Password used by the MySQL root user.", 294 | "label": "Database root password", 295 | "name": "MYSQL_DATABASE_PASSWORD" 296 | }], 297 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png", 298 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 299 | "platform": "linux", 300 | "repository": { 301 | "stackfile": "stacks/wordpress/docker-stack.yml", 302 | "url": "https://github.com/mikestraney/portainer-templates" 303 | }, 304 | "title": "Wordpress", 305 | "type": 3 306 | }, 307 | 308 | { 309 | "categories": [ 310 | "CMS" 311 | ], 312 | "description": "Wordpress setup with a MySQL database", 313 | "env": [{ 314 | "description": "Password used by the MySQL root user.", 315 | "label": "Database root password", 316 | "name": "MYSQL_DATABASE_PASSWORD" 317 | }], 318 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png", 319 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 320 | "platform": "linux", 321 | "repository": { 322 | "stackfile": "stacks/wordpress/docker-stack.yml", 323 | "url": "https://github.com/mikestraney/portainer-templates" 324 | }, 325 | "title": "Wordpress", 326 | "type": 3 327 | }, 328 | { 329 | "description": "Wordpress setup with a MySQL database", 330 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 331 | "stackfile": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/stacks/wordpress/edge/docker-stack.yml", 332 | "title": "Wordpress", 333 | "type": 4 334 | }, 335 | { 336 | "categories": [ 337 | "CMS" 338 | ], 339 | "description": "WebOps platform and hosting control panel", 340 | "image": "plesk/plesk:latest", 341 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/plesk.png", 342 | "note": "Default credentials: admin / changeme", 343 | "platform": "linux", 344 | "ports": [ 345 | "21/tcp", 346 | "80/tcp", 347 | "443/tcp", 348 | "8880/tcp", 349 | "8443/tcp", 350 | "8447/tcp" 351 | ], 352 | "title": "Plesk", 353 | "type": 1 354 | }, 355 | 356 | 357 | 358 | { 359 | "categories": [ 360 | "Other", 361 | "Downloaders" 362 | ], 363 | "description": "YoutubeDL-Material is a Material Design frontend for youtube-dl. It's coded using Angular 9 for the frontend, and Node.js on the backend.", 364 | "image": "tzahi12345/youtubedl-material:latest", 365 | "logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/ytdlm.png", 366 | "name": "youtubedl-material", 367 | "platform": "linux", 368 | "ports": [ 369 | "17442:17442/tcp" 370 | ], 371 | "restart_policy": "unless-stopped", 372 | "title": "YouTubeDL-Material", 373 | "type": 1, 374 | "volumes": [{ 375 | "bind": "/portainer/Files/AppData/Config/YTDLM", 376 | "container": "/app/appdata" 377 | }, 378 | { 379 | "bind": "/portainer/Files/AppData/Youtube/Video", 380 | "container": "/app/video" 381 | }, 382 | { 383 | "bind": "/portainer/Files/AppData/Youtube/Subscriptions", 384 | "container": "/app/subscriptions" 385 | }, 386 | { 387 | "bind": "/portainer/Files/AppData/Youtube/Users", 388 | "container": "/app/users" 389 | }, 390 | { 391 | "bind": "/portainer/Files/AppData/Youtube/Audio", 392 | "container": "/app/audio" 393 | } 394 | ] 395 | }, 396 | 397 | { 398 | "description": "[Mariadb](https://mariadb.org/) is one of the most popular database servers. Made by the original developers of MySQL.", 399 | "env": [{ 400 | "default": "1024", 401 | "description": "for GroupID", 402 | "label": "PUID", 403 | "name": "PUID" 404 | }, 405 | { 406 | "default": "100", 407 | "description": "for UserID", 408 | "label": "PGID", 409 | "name": "PGID" 410 | }, 411 | { 412 | "default": "ROOT_ACCESS_PASSWORD", 413 | "description": "Set this to root password for installation (minimum 4 characters).", 414 | "label": "MYSQL_ROOT_PASSWORD", 415 | "name": "MYSQL_ROOT_PASSWORD" 416 | }, 417 | { 418 | "default": "Europe/Amsterdam", 419 | "description": "Specify a timezone to use for example Europe/Amsterdam", 420 | "label": "TZ", 421 | "name": "TZ" 422 | }, 423 | { 424 | "default": "USER_DB_NAME", 425 | "description": "Specify the name of a database to be created on image startup.", 426 | "label": "MYSQL_DATABASE", 427 | "name": "MYSQL_DATABASE" 428 | }, 429 | { 430 | "default": "MYSQL_USER", 431 | "description": "This user will have superuser access to the database specified by MYSQL_DATABASE (do not use root here).", 432 | "label": "MYSQL_USER", 433 | "name": "MYSQL_USER" 434 | }, 435 | { 436 | "default": "DATABASE_PASSWORD", 437 | "description": "Set this to the password you want to use for you MYSQL_USER (minimum 4 characters).", 438 | "label": "MYSQL_PASSWORD", 439 | "name": "MYSQL_PASSWORD" 440 | }, 441 | { 442 | "default": "http://URL1/your.sql,https://URL2/your.sql", 443 | "description": "Set this to ingest sql files from an http/https endpoint (comma seperated array).", 444 | "label": "REMOTE_SQL", 445 | "name": "REMOTE_SQL" 446 | } 447 | ], 448 | "image": "linuxserver/mariadb:latest", 449 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mariadb-git.png", 450 | "name": "Mariadb", 451 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/mariadb/config

", 452 | "platform": "linux", 453 | "ports": [ 454 | "3306:3306/tcp" 455 | ], 456 | "restart_policy": "unless-stopped", 457 | "title": "Mariadb", 458 | "type": 1, 459 | "volumes": [{ 460 | "bind": "/volume1/docker/mariadb/config", 461 | "container": "/config" 462 | }] 463 | }, 464 | 465 | 466 | { 467 | "description": "[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are. Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices. Through Nextcloud you also access, sync and share your existing data on that FTP drive at the office, a Dropbox or a NAS you have at home.", 468 | "env": [{ 469 | "default": "1024", 470 | "description": "for GroupID", 471 | "label": "PUID", 472 | "name": "PUID" 473 | }, 474 | { 475 | "default": "100", 476 | "description": "for UserID", 477 | "label": "PGID", 478 | "name": "PGID" 479 | }, 480 | { 481 | "default": "Europe/Amsterdam", 482 | "description": "Specify a timezone to use for example Europe/Amsterdam", 483 | "label": "TZ", 484 | "name": "TZ" 485 | } 486 | ], 487 | "image": "linuxserver/nextcloud:latest", 488 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/nextcloud-icon.png", 489 | "name": "Nextcloud", 490 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/nextcloud/config
mkdir -p /volume1/docker/nextcloud/data

", 491 | "platform": "linux", 492 | "ports": [ 493 | "443:443/tcp" 494 | ], 495 | "restart_policy": "unless-stopped", 496 | "title": "Nextcloud", 497 | "type": 1, 498 | "volumes": [{ 499 | "bind": "/volume1/docker/nextcloud/config", 500 | "container": "/config" 501 | }, 502 | { 503 | "bind": "/volume1/docker/nextcloud/data", 504 | "container": "/data" 505 | } 506 | ] 507 | }, 508 | 509 | 510 | 511 | 512 | 513 | { 514 | "description": "[Nginx](https://nginx.org/) is a simple webserver with php support. The config files reside in `/config` for easy user customization.", 515 | "env": [{ 516 | "default": "1024", 517 | "description": "for GroupID", 518 | "label": "PUID", 519 | "name": "PUID" 520 | }, 521 | { 522 | "default": "100", 523 | "description": "for UserID", 524 | "label": "PGID", 525 | "name": "PGID" 526 | }, 527 | { 528 | "default": "Europe/Amsterdam", 529 | "description": "Specify a timezone to use for example Europe/Amsterdam", 530 | "label": "TZ", 531 | "name": "TZ" 532 | } 533 | ], 534 | "image": "linuxserver/nginx:latest", 535 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/nginx-banner.png", 536 | "name": "Nginx", 537 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/nginx/config

", 538 | "platform": "linux", 539 | "ports": [ 540 | "80:80/tcp", 541 | "443:443/tcp" 542 | ], 543 | "restart_policy": "unless-stopped", 544 | "title": "Nginx", 545 | "type": 1, 546 | "volumes": [{ 547 | "bind": "/volume1/docker/nginx/config", 548 | "container": "/config" 549 | }] 550 | }, 551 | 552 | 553 | { 554 | "categories": [ 555 | "webserver" 556 | ], 557 | "description": "Open-source HTTP server", 558 | "image": "httpd:latest", 559 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/httpd.png", 560 | "platform": "linux", 561 | "ports": [ 562 | "80/tcp" 563 | ], 564 | "title": "Httpd", 565 | "type": 1, 566 | "volumes": [{ 567 | "container": "/usr/local/apache2/htdocs/" 568 | }] 569 | }, 570 | 571 | { 572 | "description": "[Syncthing](https://syncthing.net) replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.", 573 | "env": [{ 574 | "default": "1024", 575 | "description": "for GroupID", 576 | "label": "PUID", 577 | "name": "PUID" 578 | }, 579 | { 580 | "default": "100", 581 | "description": "for UserID", 582 | "label": "PGID", 583 | "name": "PGID" 584 | }, 585 | { 586 | "default": "Europe/Amsterdam", 587 | "description": "Specify a timezone to use for example Europe/Amsterdam", 588 | "label": "TZ", 589 | "name": "TZ" 590 | } 591 | ], 592 | "image": "linuxserver/syncthing:latest", 593 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/syncthing-banner.png", 594 | "name": "Syncthing", 595 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/syncthing/config
mkdir -p /volume1/docker/syncthing/data1
mkdir -p /volume1/docker/syncthing/data2

", 596 | "platform": "linux", 597 | "ports": [ 598 | "8384:8384/tcp", 599 | "22000:22000/tcp", 600 | "22000:22000/udp", 601 | "21027:21027/udp" 602 | ], 603 | "restart_policy": "unless-stopped", 604 | "title": "Syncthing", 605 | "type": 1, 606 | "volumes": [{ 607 | "bind": "/volume1/docker/syncthing/config", 608 | "container": "/config" 609 | }, 610 | { 611 | "bind": "/volume1/docker/syncthing/data1", 612 | "container": "/data1" 613 | }, 614 | { 615 | "bind": "/volume1/docker/syncthing/data2", 616 | "container": "/data2" 617 | } 618 | ] 619 | }, 620 | 621 | 622 | 623 | 624 | 625 | 626 | { 627 | "categories": [ 628 | "Utilities" 629 | ], 630 | "description": "[Webtop](https://github.com/linuxserver/docker-webtop) - Alpine, Ubuntu, Fedora, and Arch based containers containing full desktop environments in officially supported flavors accessible via any modern web browser.", 631 | "env": [{ 632 | "default": "1024", 633 | "description": "for GroupID", 634 | "label": "PUID", 635 | "name": "PUID" 636 | }, 637 | { 638 | "default": "100", 639 | "description": "for UserID", 640 | "label": "PGID", 641 | "name": "PGID" 642 | }, 643 | { 644 | "default": "Europe/Amsterdam", 645 | "description": "Specify a timezone to use for example Europe/Amsterdam", 646 | "label": "TZ", 647 | "name": "TZ" 648 | }, 649 | { 650 | "default": "/", 651 | "description": "Specify a subfolder to use with reverse proxies, IE `/subfolder/`", 652 | "label": "SUBFOLDER", 653 | "name": "SUBFOLDER" 654 | } 655 | ], 656 | "image": "linuxserver/webtop:latest", 657 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png", 658 | "name": "Webtop", 659 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/webtop/config

", 660 | "platform": "linux", 661 | "ports": [ 662 | "3000:3000/tcp" 663 | ], 664 | "privileged": true, 665 | "restart_policy": "unless-stopped", 666 | "title": "Webtop", 667 | "type": 1, 668 | "volumes": [{ 669 | "bind": "/volume1/docker/webtop/config", 670 | "container": "/config" 671 | }, 672 | { 673 | "bind": "/var/run/docker.sock", 674 | "container": "/var/run/docker.sock" 675 | } 676 | ] 677 | }, 678 | 679 | 680 | 681 | { 682 | "description": "[Wireshark](https://www.wireshark.org/) is the world’s foremost and widely-used network protocol analyzer. It lets you see what’s happening on your network at a microscopic level and is the de facto (and often de jure) standard across many commercial and non-profit enterprises, government agencies, and educational institutions. Wireshark development thrives thanks to the volunteer contributions of networking experts around the globe and is the continuation of a project started by Gerald Combs in 1998.", 683 | "env": [{ 684 | "default": "1024", 685 | "description": "for GroupID", 686 | "label": "PUID", 687 | "name": "PUID" 688 | }, 689 | { 690 | "default": "100", 691 | "description": "for UserID", 692 | "label": "PGID", 693 | "name": "PGID" 694 | }, 695 | { 696 | "default": "Europe/Amsterdam", 697 | "description": "Specify a timezone to use for example Europe/Amsterdam", 698 | "label": "TZ", 699 | "name": "TZ" 700 | } 701 | ], 702 | "image": "linuxserver/wireshark:latest", 703 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/wireshark-icon.png", 704 | "name": "Wireshark", 705 | "network": "host", 706 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/wireshark/config

", 707 | "platform": "linux", 708 | "ports": [ 709 | "3000:3000/tcp" 710 | ], 711 | "restart_policy": "unless-stopped", 712 | "title": "Wireshark", 713 | "type": 1, 714 | "volumes": [{ 715 | "bind": "/volume1/docker/wireshark/config", 716 | "container": "/config" 717 | }] 718 | }, 719 | 720 | { 721 | "category": [ 722 | "Other" 723 | ], 724 | "description": "OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments.", 725 | "env": [{ 726 | "label": "INTERFACE", 727 | "name": "INTERFACE", 728 | "set": "eth0" 729 | }, 730 | { 731 | "label": "PGID", 732 | "name": "PGID", 733 | "set": "1000" 734 | }, 735 | { 736 | "label": "PUID", 737 | "name": "PUID", 738 | "set": "1000" 739 | }, 740 | { 741 | "label": "TZ", 742 | "name": "TZ", 743 | "set": "America/Chicago" 744 | } 745 | ], 746 | "image": "linuxserver/openvpn-as:latest", 747 | "logo": "https://raw.githubusercontent.com/thesugarat/portainer_templates-1/master/Images/openvpn-as-icon.png", 748 | "platform": "linux", 749 | "ports": [ 750 | "943/tcp", 751 | "9443/tcp", 752 | "1194/udp" 753 | ], 754 | "title": "openvpn-as", 755 | "type": 1, 756 | "volumes": [{ 757 | "container": "/config" 758 | }] 759 | }, 760 | 761 | 762 | 763 | { 764 | "description": "[Openvscode-server](https://github.com/gitpod-io/openvscode-server) provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser.", 765 | "env": [{ 766 | "default": "1024", 767 | "description": "for GroupID", 768 | "label": "PUID", 769 | "name": "PUID" 770 | }, 771 | { 772 | "default": "100", 773 | "description": "for UserID", 774 | "label": "PGID", 775 | "name": "PGID" 776 | }, 777 | { 778 | "default": "Europe/Amsterdam", 779 | "description": "Specify a timezone to use for example Europe/Amsterdam", 780 | "label": "TZ", 781 | "name": "TZ" 782 | }, 783 | { 784 | "default": "supersecrettoken", 785 | "description": "Optional security token for accessing the Web UI.", 786 | "label": "CONNECTION_TOKEN", 787 | "name": "CONNECTION_TOKEN" 788 | }, 789 | { 790 | "default": "", 791 | "description": "Optional path to a file inside the container that contains the security token for accessing the Web UI (ie. `/path/to/file`). Overrides `CONNECTION_TOKEN`.", 792 | "label": "CONNECTION_SECRET", 793 | "name": "CONNECTION_SECRET" 794 | }, 795 | { 796 | "default": "password", 797 | "description": "If this optional variable is set, user will have sudo access in the openvscode-server terminal with the specified password.", 798 | "label": "SUDO_PASSWORD", 799 | "name": "SUDO_PASSWORD" 800 | }, 801 | { 802 | "default": "", 803 | "description": "Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`.", 804 | "label": "SUDO_PASSWORD_HASH", 805 | "name": "SUDO_PASSWORD_HASH" 806 | } 807 | ], 808 | "image": "linuxserver/openvscode-server:latest", 809 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/openvscode-server-logo.png", 810 | "name": "Openvscode-server", 811 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/openvscode-server/config

", 812 | "platform": "linux", 813 | "ports": [ 814 | "3000:3000/tcp" 815 | ], 816 | "restart_policy": "unless-stopped", 817 | "title": "Openvscode-server", 818 | "type": 1, 819 | "volumes": [{ 820 | "bind": "/volume1/docker/openvscode-server/config", 821 | "container": "/config" 822 | }] 823 | }, 824 | 825 | { 826 | "categories": [ 827 | "Other", 828 | "Tools" 829 | ], 830 | "description": "A dead simple static HOMepage for your servER to keep your s ervices on hand, from a simple yaml configuration file.", 831 | "image": "b4bz/homer:latest", 832 | "logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/homer.png", 833 | "name": "homer", 834 | "note": "This container requires a yml file within the config volume. See the documentation here https://github.com/bastienwirtz/homer", 835 | "platform": "linux", 836 | "ports": [ 837 | "8902:8080/tcp" 838 | ], 839 | "restart_policy": "unless-stopped", 840 | "title": "Homer", 841 | "type": 1, 842 | "volumes": [{ 843 | "bind": "/portainer/Files/AppData/Config/Homer/assets", 844 | "container": "/www/assets" 845 | }, 846 | { 847 | "bind": "/portainer/Files/AppData/Config/Homer", 848 | "container": "/www/config.yml" 849 | } 850 | ] 851 | }, 852 | 853 | 854 | { 855 | "categories": [ 856 | "continuous-integration" 857 | ], 858 | "description": "Open-source continuous integration tool", 859 | "env": [{ 860 | "label": "Jenkins options", 861 | "name": "JENKINS_OPTS" 862 | }], 863 | "image": "jenkins/jenkins:lts", 864 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/jenkins.png", 865 | "platform": "linux", 866 | "ports": [ 867 | "8080/tcp", 868 | "50000/tcp" 869 | ], 870 | "title": "Jenkins", 871 | "type": 1, 872 | "volumes": [{ 873 | "container": "/var/jenkins_home" 874 | }] 875 | }, 876 | 877 | 878 | { 879 | "categories": [ 880 | "marketing" 881 | ], 882 | "description": "Open-source marketing automation platform", 883 | "env": [{ 884 | "label": "MySQL database host", 885 | "name": "MAUTIC_DB_HOST", 886 | "type": "container" 887 | }, 888 | { 889 | "label": "Database password", 890 | "name": "MAUTIC_DB_PASSWORD" 891 | } 892 | ], 893 | "image": "mautic/mautic:latest", 894 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mautic.png", 895 | "platform": "linux", 896 | "ports": [ 897 | "80/tcp" 898 | ], 899 | "title": "Mautic", 900 | "type": 1, 901 | "volumes": [{ 902 | "container": "/var/www/html" 903 | }] 904 | }, 905 | 906 | 907 | { 908 | "categories": [ 909 | "storage" 910 | ], 911 | "description": "Standalone AWS S3 protocol server", 912 | "env": [{ 913 | "label": "Scality S3 access key", 914 | "name": "SCALITY_ACCESS_KEY" 915 | }, 916 | { 917 | "label": "Scality S3 secret key", 918 | "name": "SCALITY_SECRET_KEY" 919 | } 920 | ], 921 | "image": "scality/s3server", 922 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/scality-s3.png", 923 | "platform": "linux", 924 | "ports": [ 925 | "8000/tcp" 926 | ], 927 | "title": "Scality S3", 928 | "type": 1, 929 | "volumes": [{ 930 | "container": "/usr/src/app/localData" 931 | }, 932 | { 933 | "container": "/usr/src/app/localMetadata" 934 | } 935 | ] 936 | }, 937 | { 938 | "categories": [ 939 | "Other", 940 | "Music" 941 | ], 942 | "description": "Deemix is a deezer downloader built from the ashes of Deezloader Remix.", 943 | "image": "registry.gitlab.com/bockiii/deemix-docker", 944 | "logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/deemix.png", 945 | "name": "deemix", 946 | "note": "Deemix may take a few minutes to install. Be sure to check the logs for details. Refer to \u003ca href='https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Login+via+userToken'\u003ethis page\u003c/a\u003e for userToken details.", 947 | "platform": "linux", 948 | "ports": [ 949 | "9666:9666/tcp" 950 | ], 951 | "restart_policy": "unless-stopped", 952 | "title": "DeeMix", 953 | "type": 1, 954 | "volumes": [ 955 | { 956 | "bind": "/portainer/Files/AppData/Config/DeeMix", 957 | "container": "/config" 958 | }, 959 | { 960 | "bind": "/portainer/Downloads", 961 | "container": "/downloads" 962 | } 963 | ] 964 | }, 965 | { 966 | "type": 1, 967 | "title": "Mongo", 968 | "description": "Open-source document-oriented database", 969 | "categories": [ 970 | "database" 971 | ], 972 | "platform": "linux", 973 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mongo.png", 974 | "image": "mongo:latest", 975 | "ports": [ 976 | "27017/tcp" 977 | ], 978 | "volumes": [{ 979 | "container": "/data/db" 980 | }] 981 | }, 982 | { 983 | "type": 1, 984 | "title": "MySQL", 985 | "description": "The most popular open-source database", 986 | "categories": [ 987 | "database" 988 | ], 989 | "platform": "linux", 990 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mysql.png", 991 | "image": "mysql:latest", 992 | "env": [{ 993 | "name": "MYSQL_ROOT_PASSWORD", 994 | "label": "Root password" 995 | }], 996 | "ports": [ 997 | "3306/tcp" 998 | ], 999 | "volumes": [{ 1000 | "container": "/var/lib/mysql" 1001 | }] 1002 | }, 1003 | { 1004 | "type": 1, 1005 | "title": "Odoo", 1006 | "description": "Open-source business apps", 1007 | "categories": [ 1008 | "project-management" 1009 | ], 1010 | "platform": "linux", 1011 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/odoo.png", 1012 | "image": "odoo:latest", 1013 | "env": [{ 1014 | "name": "HOST", 1015 | "label": "PostgreSQL database host", 1016 | "type": "container" 1017 | }, 1018 | { 1019 | "name": "USER", 1020 | "label": "Database user" 1021 | }, 1022 | { 1023 | "name": "PASSWORD", 1024 | "label": "Database password" 1025 | } 1026 | ], 1027 | "ports": [ 1028 | "8069/tcp" 1029 | ], 1030 | "volumes": [{ 1031 | "container": "/var/lib/odoo" 1032 | }, 1033 | { 1034 | "container": "/mnt/extra-addons" 1035 | } 1036 | ] 1037 | }, 1038 | { 1039 | "categories": [ 1040 | "Other", 1041 | "Tools" 1042 | ], 1043 | "description": "A Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole.", 1044 | "image": "pihole/pihole:latest", 1045 | "logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/pihole.png", 1046 | "name": "pihole", 1047 | "note": "When the installation is complete, navigate to your.ip.goes.here:1010/admin. Follow the article \u003ca href='https://medium.com/@niktrix/getting-rid-of-systemd-resolved-consuming-port-53-605f0234f32f'\u003ehere\u003c/a\u003e if you run into issues binding to port 53.", 1048 | "platform": "linux", 1049 | "ports": [ 1050 | "53:53/tcp", 1051 | "53:53/udp", 1052 | "67:67/udp", 1053 | "1010:80/tcp", 1054 | "4443:443/tcp" 1055 | ], 1056 | "restart_policy": "unless-stopped", 1057 | "title": "Pi-Hole", 1058 | "type": 1, 1059 | "volumes": [ 1060 | { 1061 | "bind": "/portainer/Files/AppData/Config/PiHole", 1062 | "container": "/etc/pihole" 1063 | }, 1064 | { 1065 | "bind": "/portainer/Files/AppData/Config/PiHole/DNS", 1066 | "container": "/etc/dnsmasq.d" 1067 | } 1068 | ] 1069 | }, 1070 | { 1071 | "type": 1, 1072 | "title": "RabbitMQ", 1073 | "description": "Highly reliable enterprise messaging system", 1074 | "categories": [ 1075 | "messaging" 1076 | ], 1077 | "platform": "linux", 1078 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/rabbitmq.png", 1079 | "image": "rabbitmq:latest", 1080 | "ports": [ 1081 | "5671/tcp", 1082 | "5672/tcp" 1083 | ], 1084 | "volumes": [{ 1085 | "container": "/var/lib/rabbitmq" 1086 | }] 1087 | }, 1088 | 1089 | { 1090 | "categories": [ 1091 | "selfhost","tool","onlyoffice" 1092 | ], 1093 | "description": "similar to nextcloud , but better imo , (has nlyoffice integration & more)", 1094 | 1095 | "image": "owncloud:latest", 1096 | "logo": "https://d1q6f0aelx0por.cloudfront.net/product-logos/24f2a51f-4b42-4dea-98c5-6bb9603c1b4e-owncloud.png", 1097 | "platform": "linux", 1098 | "ports": [ 1099 | "8080/tcp", 1100 | "80/tcp" 1101 | ], 1102 | "title": "owncloud", 1103 | "type": 1 1104 | }, 1105 | 1106 | 1107 | { 1108 | "categories": [ 1109 | "backend","lowcode" 1110 | ], 1111 | "description": "Supabase is an open source Firebase alternative.It provides all the backend services you need to build a product. You can use it completely, or just the services you require:", 1112 | "env": [ 1113 | { 1114 | "description": "Password used by the MySQL root user.", 1115 | "label": "Database root password", 1116 | "name": "POSTGRES_PASSWORD" 1117 | ,"default":"your-super-secret-and-long-postgres-password" 1118 | }, 1119 | { 1120 | "description": "Password used by the MySQL root user.", 1121 | "label": "Database root password", 1122 | "name": "JWT_SECRET" 1123 | ,"default":"your-super-secret-jwt-token-with-at-least-32-characters-long" 1124 | }, 1125 | { 1126 | "description": "Password used by the MySQL root user.", 1127 | "label": "Database root password", 1128 | "name": "ANON_KEY" 1129 | ,"default":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE" 1130 | }, 1131 | { 1132 | "description": "Password used by the MySQL root user.", 1133 | "label": "Database root password", 1134 | "name": "SERVICE_ROLE_KEY" 1135 | ,"default":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q" 1136 | }, 1137 | { 1138 | "description": "Password used by the MySQL root user.", 1139 | "label": "Database root password", 1140 | "name": "POSTGRES_HOST" 1141 | ,"default":"db" 1142 | }, 1143 | { 1144 | "description": "Password used by the MySQL root user.", 1145 | "label": "Database root password", 1146 | "name": "POSTGRES_DB" 1147 | ,"default":"postgres" 1148 | }, 1149 | { 1150 | "description": "Password used by the MySQL root user.", 1151 | "label": "Database root password", 1152 | "name": "POSTGRES_USER" 1153 | ,"default":"postgres" 1154 | }, 1155 | { 1156 | "description": "Password used by the MySQL root user.", 1157 | "label": "Database root password", 1158 | "name": "POSTGRES_PORT" 1159 | ,"default":"5432" 1160 | }, 1161 | { 1162 | "description": "Password used by the MySQL root user.", 1163 | "label": "Database root password", 1164 | "name": "KONG_HTTP_PORT" 1165 | ,"default":"8000" 1166 | }, 1167 | { 1168 | "description": "Password used by the MySQL root user.", 1169 | "label": "Database root password", 1170 | "name": "KONG_HTTPS_PORT" 1171 | ,"default":"8443" 1172 | }, 1173 | { 1174 | "description": "Password used by the MySQL root user.", 1175 | "label": "Database root password", 1176 | "name": "PGRST_DB_SCHEMAS" 1177 | ,"default":"public,storage,graphql_public" 1178 | }, 1179 | { 1180 | "description": "Password used by the MySQL root user.", 1181 | "label": "Database root password", 1182 | "name": "SITE_URL" 1183 | ,"default":"http://localhost:3000" 1184 | }, 1185 | { 1186 | "description": "Password used by the MySQL root user.", 1187 | "label": "Database root password", 1188 | "name": "ADDITIONAL_REDIRECT_URLS" 1189 | ,"default":"" 1190 | }, 1191 | 1192 | { 1193 | "description": "Password used by the MySQL root user.", 1194 | "label": "Database root password", 1195 | "name": "JWT_EXPIRY" 1196 | ,"default":"3600" 1197 | }, { 1198 | "description": "Password used by the MySQL root user.", 1199 | "label": "Database root password", 1200 | "name": "DISABLE_SIGNUP" 1201 | ,"default":"false" 1202 | }, { 1203 | "description": "Password used by the MySQL root user.", 1204 | "label": "Database root password", 1205 | "name": "ENABLE_EMAIL_SIGNUP" 1206 | ,"default":"true" 1207 | }, { 1208 | "description": "Password used by the MySQL root user.", 1209 | "label": "Database root password", 1210 | "name": "ENABLE_EMAIL_AUTOCONFIRM" 1211 | ,"default":"true" 1212 | }, { 1213 | "description": "Password used by the MySQL root user.", 1214 | "label": "Database root password", 1215 | "name": "SMTP_ADMIN_EMAIL" 1216 | ,"default":"admin@example.com" 1217 | }, { 1218 | "description": "Password used by the MySQL root user.", 1219 | "label": "Database root password", 1220 | "name": "SMTP_HOST" 1221 | ,"default":"fake" 1222 | }, { 1223 | "description": "Password used by the MySQL root user.", 1224 | "label": "Database root password", 1225 | "name": "SMTP_PORT" 1226 | ,"default":"fake" 1227 | }, { 1228 | "description": "Password used by the MySQL root user.", 1229 | "label": "Database root password", 1230 | "name": "SMTP_USER" 1231 | ,"default":"fake" 1232 | }, { 1233 | "description": "Password used by the MySQL root user.", 1234 | "label": "Database root password", 1235 | "name": "SMTP_PASS" 1236 | ,"default":"fake" 1237 | }, { 1238 | "description": "Password used by the MySQL root user.", 1239 | "label": "Database root password", 1240 | "name": "SMTP_SENDER_NAME" 1241 | ,"default":"fake" 1242 | }, { 1243 | "description": "Password used by the MySQL root user.", 1244 | "label": "Database root password", 1245 | "name": "ENABLE_PHONE_SIGNUP" 1246 | ,"default":"true" 1247 | }, { 1248 | "description": "Password used by the MySQL root user.", 1249 | "label": "Database root password", 1250 | "name": "ENABLE_PHONE_AUTOCONFIRM" 1251 | ,"default":"true" 1252 | }, { 1253 | "description": "Password used by the MySQL root user.", 1254 | "label": "Database root password", 1255 | "name": "STUDIO_PORT" 1256 | ,"default":"3000" 1257 | }, { 1258 | "description": "Password used by the MySQL root user.", 1259 | "label": "Database root password", 1260 | "name": "PUBLIC_REST_URL" 1261 | ,"default":"http://localhost:8000/rest/v1/" 1262 | } 1263 | 1264 | ], 1265 | "logo": "https://supabase.com/docs/supabase-dark.svg", 1266 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 1267 | "platform": "linux", 1268 | "repository": { 1269 | "stackfile": "supabase/docker-compose.yml", 1270 | "url": "https://github.com/mehdi-yc/goodcontainers" 1271 | }, 1272 | "title": "Supabase", 1273 | "type": 3 1274 | } 1275 | ] 1276 | } 1277 | -------------------------------------------------------------------------------- /templatesZ.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2", 3 | "templates": [ 4 | 5 | { 6 | "categories": [ 7 | "OLAP" 8 | ], 9 | "description": "MOLAP data visualisation tool", 10 | "image": "magm3333/pentahoserver:latest", 11 | "logo": "https://i.pinimg.com/originals/a4/50/84/a45084beba52027a92462c7b9f1708c5.png", 12 | "platform": "linux", 13 | "ports": [ 14 | "8080/tcp" 15 | ], 16 | "title": "Pantaho server CE", 17 | "type": 1 18 | 19 | }, 20 | 21 | { 22 | "categories": [ 23 | "processing" 24 | ], 25 | "restart_policy": "always", 26 | "description": "Redpanda Console is a developer-friendly UI for managing your Kafka/Redpanda workloads. ", 27 | "image": "docker.redpanda.com/redpandadata/console:latest", 28 | "logo": "https://images.ctfassets.net/paqvtpyf8rwu/5wODDUzLP7teOGDS7M5m39/466f646e44c2ccc4e78236b17d7d68ac/Logo.svg", 29 | "platform": "linux", 30 | "ports": [ 31 | "8080/tcp" 32 | ], 33 | "title": "Redmanda Console (kafka console)", 34 | "type": 1, 35 | "env": [ 36 | { 37 | "default": "host.docker.internal:9092", 38 | "description": "KAFKA_BROKERS", 39 | "label": "KAFKA_BROKERS", 40 | "name": "KAFKA_BROKERS" 41 | } 42 | ] 43 | 44 | }, 45 | { 46 | "categories": [ 47 | "processing" 48 | ], 49 | "description": "A visual tool to define and run real-time decision algorithms. docker run -it --network host -e DEFAULT_SCENARIO_TYPE=streaming-lite-embedded -e KAFKA_ADDRESS=localhost:3032 -e SCHEMA_REGISTRY_URL=http://localhost:3082 touk/nussknacker:latest", 50 | "image": "touk/nussknacker:latest", 51 | "logo": "https://nussknacker.io/wp-content/uploads/2022/07/Twitter-header.png", 52 | "platform": "linux", 53 | "ports": [ 54 | "8181/tcp" 55 | ], 56 | "title": "nussknacker", 57 | "type": 1, 58 | "env": [ 59 | { 60 | "default": "request-response-embedded", 61 | "description": "DEFAULT_SCENARIO_TYPE", 62 | "label": "DEFAULT_SCENARIO_TYPE", 63 | "name": "DEFAULT_SCENARIO_TYPE" 64 | } 65 | ] 66 | 67 | }, 68 | { 69 | "categories": [ 70 | "ETL" 71 | ], 72 | "restart_policy": "always", 73 | "description": "An easy to use, powerful, and reliable system to process and distribute data.", 74 | "image": "apache/nifi:latest", 75 | "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Apache-nifi-logo.svg/1200px-Apache-nifi-logo.svg.png", 76 | "platform": "linux", 77 | "ports": [ 78 | "8080/tcp" 79 | ], 80 | "title": "APACHE NIFI", 81 | "type": 1, 82 | "env": [ 83 | { 84 | "default": "8080", 85 | "description": "NIFI_WEB_HTTP_PORT", 86 | "label": "NIFI_WEB_HTTP_PORT", 87 | "name": "NIFI_WEB_HTTP_PORT" 88 | } 89 | ] 90 | }, 91 | { 92 | "categories": [ 93 | "Spreadsheet", 94 | "Office suite" 95 | ], 96 | "restart_policy": "always", 97 | "description": "Run your private office with the ONLYOFFICE", 98 | "image": "onlyoffice/documentserver:latest", 99 | "logo": "https://helpcenter.onlyoffice.com/images/logonew.svg", 100 | "platform": "linux", 101 | "ports": [ 102 | "80/tcp" 103 | 104 | ], 105 | "title": "OnlyOffice", 106 | "type": 1, 107 | "env": [ 108 | { 109 | "default": "my_token", 110 | "description": "JWT_SECRET", 111 | "label": "JWT_SECRET", 112 | "name": "JWT_SECRET" 113 | }, 114 | { 115 | "default": "false", 116 | "description": "JWT_ENABLED", 117 | "label": "JWT_ENABLED", 118 | "name": "JWT_ENABLED" 119 | } 120 | ] 121 | }, 122 | 123 | { 124 | "categories": [ 125 | "OLAP", 126 | "Datawarehouse" 127 | ], 128 | "description": "ClickHouse is the fastest and most resource efficient open-source database for real-time apps and analytics.", 129 | "image": "yandex/clickhouse-server:latest", 130 | "logo": "https://clickhouse.com/logos/black-logo.svg", 131 | "platform": "linux", 132 | "ports": [ 133 | "9000/tcp", 134 | "8123/tcp" 135 | ], 136 | "title": "Clickhouse", 137 | "type": 1, 138 | "env": [ 139 | { 140 | "default": "nofile=262144:262144", 141 | "description": "ulimit", 142 | "label": "ulimit", 143 | "name": "ulimit" 144 | } 145 | ] 146 | }, 147 | { 148 | "categories": [ 149 | "Utility" 150 | ], 151 | "description": "Manage your files on the cloud.", 152 | "restart_policy": "unless-stopped", 153 | "image": "lscr.io/linuxserver/papermerge:latest", 154 | "logo": "https://www.papermerge.com/assets/img/papermerge-logo.svg", 155 | "platform": "linux", 156 | "ports": [ 157 | "8000/tcp" 158 | ], 159 | "title": "papermerge", 160 | "type": 1, 161 | "env": [ 162 | { 163 | "default": "1000", 164 | "description": "PUID", 165 | "label": "PUID", 166 | "name": "PUID" 167 | }, 168 | { 169 | "default": "1000", 170 | "description": "PGID", 171 | "label": "PGID", 172 | "name": "PGID" 173 | }, 174 | { 175 | "default": "America/New_York", 176 | "description": "time zone", 177 | "label": "time zone", 178 | "name": "America/New_York" 179 | }, 180 | { 181 | "default": "nofile=262144:262144", 182 | "description": "ulimit", 183 | "label": "ulimit", 184 | "name": "ulimit" 185 | } 186 | ] 187 | }, 188 | { 189 | "categories": [ 190 | "data", 191 | "Logging" 192 | ], 193 | "description": "Collect, search and visualise log data with Elasticsearch, Logstash, and Kibana. ", 194 | "image": "sebp/elk:latest", 195 | "logo": "https://cdn.freebiesupply.com/logos/large/2x/elastic-stack-logo-svg-vector.svg", 196 | "platform": "linux", 197 | "ports": [ 198 | "5601/tcp", 199 | "9200/tcp", 200 | "5044/tcp" 201 | ], 202 | "title": "ELK stack", 203 | "type": 1 204 | }, 205 | { 206 | "categories": [ 207 | "data", 208 | "dashboard" 209 | ], 210 | "description": "Apache Superset is a Data Visualization and Data Exploration Platform. ", 211 | "image": "apache/superset:latest", 212 | "logo": "https://superset.apache.org/img/favicon.ico", 213 | "platform": "linux", 214 | "ports": [ 215 | "8088/tcp" 216 | ], 217 | "title": "Apache superset", 218 | "type": 1 219 | }, 220 | { 221 | "categories": [ 222 | "data", 223 | "dashboard" 224 | ], 225 | "description": "The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.", 226 | "image": "grafana/grafana:latest", 227 | "logo": "https://grafana.com/static/assets/img/fav32.png", 228 | "platform": "linux", 229 | "ports": [ 230 | "3000/tcp" 231 | ], 232 | "title": "Grafana", 233 | "type": 1 234 | }, 235 | { 236 | "categories": [ 237 | "code", 238 | "pipelines" 239 | ], 240 | "description": "Build powerful pipelines in any programming language. ", 241 | "image": "gaiapipeline/gaia:latest", 242 | "logo": "https://gist.githubusercontent.com/michelvocks/ef3894f63c3bb004bca1a2fd5f7eb644/raw/40c5799d74a6f28af1874e726083a50a3ebd877d/gaia-logo-text.png", 243 | "platform": "linux", 244 | "ports": [ 245 | "8080/tcp" 246 | ], 247 | "title": "Gaia pipeline", 248 | "type": 1 249 | }, 250 | { 251 | "categories": [ 252 | "cms", 253 | "low-code" 254 | ], 255 | "description": "Open source Node.js Headless CMS to easily build customisable APIs.", 256 | "image": "strapi/strapi:latest", 257 | "logo": "https://strapi.io/assets/favicon-32x32.png", 258 | "platform": "linux", 259 | "ports": [ 260 | "1337/tcp" 261 | ], 262 | "title": "Strapi", 263 | "type": 1 264 | }, 265 | { 266 | "categories": [ 267 | "coding", 268 | "datascience" 269 | ], 270 | "description": "Base Jupyter Notebook Stack", 271 | "image": "jupyter/base-notebook:latest", 272 | "logo": "https://jupyter-docker-stacks.readthedocs.io/en/latest/_static/jupyter-logo.svg", 273 | "platform": "linux", 274 | "ports": [ 275 | "8888/tcp" 276 | ], 277 | "title": "Jupyter", 278 | "type": 1 279 | }, 280 | { 281 | "categories": [ 282 | "database", 283 | "low-code" 284 | ], 285 | "description": "The Open Source Airtable Alternative 🎃Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet. .", 286 | "image": "nocodb/nocodb:latest", 287 | "logo": "https://docs.nocodb.com/favicon-128.png", 288 | "platform": "linux", 289 | "ports": [ 290 | "8080/tcp" 291 | ], 292 | "title": "NocoDB", 293 | "type": 1, 294 | "volumes": [ 295 | { 296 | "container": "/home/node/.nocodb" 297 | } 298 | ], 299 | "env": [ 300 | { 301 | "label": "use a database first", 302 | "name": "NC_DB", 303 | "default": "pg://host:port?u=user&p=password&d=database" 304 | }, 305 | { 306 | "label": "secret token", 307 | "name": "NC_AUTH_JWT_SECRET", 308 | "default": "569a1821-0a93-45e8-87ab-eb857f20a010" 309 | } 310 | ] 311 | }, 312 | { 313 | "categories": [ 314 | "workflow", 315 | "low-code" 316 | ], 317 | "description": "n8n is a free and open fair-code distributed node based Workflow Automation Tool. It can be self-hosted, easily extended, and so also used with internal tools.", 318 | "image": "n8nio/n8n:latest", 319 | "logo": "https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png", 320 | "platform": "linux", 321 | "ports": [ 322 | "5678/tcp" 323 | ], 324 | "title": "n8n", 325 | "type": 1, 326 | "volumes": [ 327 | { 328 | "container": "/home/node/.n8n" 329 | } 330 | ], 331 | "env": [ 332 | { 333 | "label": "activate user auth", 334 | "name": "N8N_BASIC_AUTH_ACTIVE" 335 | }, 336 | { 337 | "label": "access udername", 338 | "name": "N8N_BASIC_AUTH_USER" 339 | }, 340 | { 341 | "label": "access password", 342 | "name": "N8N_BASIC_AUTH_PASSWORD" 343 | }, 344 | { 345 | "label": "WEBHOOK_URL", 346 | "name": "WEBHOOK_URL" 347 | } 348 | ] 349 | }, 350 | { 351 | "categories": [ 352 | "workflow", 353 | "low-code" 354 | ], 355 | "description": "Low-code programming for event-driven applications ", 356 | "image": "nodered/node-red:latest", 357 | "logo": "https://aws1.discourse-cdn.com/business6/uploads/nodered/original/1X/778549404735e222c89ce5449482a189ace8cdae.png", 358 | "platform": "linux", 359 | "ports": [ 360 | "1880/tcp" 361 | ], 362 | "title": "Node-red", 363 | "type": 1, 364 | "volumes": [ 365 | { 366 | "container": "/data" 367 | } 368 | ] 369 | }, 370 | { 371 | "categories": [ 372 | "database" 373 | ], 374 | "description": "The most advanced open-source database", 375 | "env": [ 376 | { 377 | "label": "Superuser", 378 | "name": "POSTGRES_USER" 379 | }, 380 | { 381 | "label": "Superuser password", 382 | "name": "POSTGRES_PASSWORD" 383 | } 384 | ], 385 | "image": "postgres:latest", 386 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/postgres.png", 387 | "platform": "linux", 388 | "ports": [ 389 | "5432/tcp" 390 | ], 391 | "title": "PostgreSQL", 392 | "type": 1, 393 | "volumes": [ 394 | { 395 | "container": "/var/lib/postgresql/data" 396 | } 397 | ] 398 | }, 399 | { 400 | "categories": [ 401 | "serverless" 402 | ], 403 | "description": "Serverless functions made simple", 404 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/openfaas.png", 405 | "name": "func", 406 | "note": "Deploys the API gateway and sample functions. You can access the UI on port 8080. Warning: the name of the stack must be 'func'.", 407 | "platform": "linux", 408 | "repository": { 409 | "stackfile": "docker-compose.yml", 410 | "url": "https://github.com/openfaas/faas" 411 | }, 412 | "title": "OpenFaaS", 413 | "type": 2 414 | }, 415 | { 416 | "categories": [ 417 | "database" 418 | ], 419 | "description": "Open-source in-memory data structure store", 420 | "image": "redis:latest", 421 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redis.png", 422 | "platform": "linux", 423 | "ports": [ 424 | "6379/tcp" 425 | ], 426 | "title": "Redis", 427 | "type": 1, 428 | "volumes": [ 429 | { 430 | "container": "/data" 431 | } 432 | ] 433 | }, 434 | { 435 | "categories": [ 436 | "search-engine" 437 | ], 438 | "description": "Open-source enterprise search platform", 439 | "image": "solr:latest", 440 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/solr.png", 441 | "platform": "linux", 442 | "ports": [ 443 | "8983/tcp" 444 | ], 445 | "title": "Solr", 446 | "type": 1, 447 | "volumes": [ 448 | { 449 | "container": "/opt/solr/mydata" 450 | } 451 | ] 452 | }, 453 | { 454 | "categories": [ 455 | "database" 456 | ], 457 | "description": "Microsoft SQL Server on Linux", 458 | "env": [ 459 | { 460 | "name": "ACCEPT_EULA", 461 | "set": "Y" 462 | }, 463 | { 464 | "label": "SA password", 465 | "name": "SA_PASSWORD" 466 | } 467 | ], 468 | "image": "microsoft/mssql-server-linux:2017-GA", 469 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png", 470 | "note": "Password needs to include at least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.", 471 | "platform": "linux", 472 | "ports": [ 473 | "1433/tcp" 474 | ], 475 | "title": "SQL Server", 476 | "type": 1 477 | }, 478 | { 479 | "categories": [ 480 | "CMS" 481 | ], 482 | "description": "Wordpress setup with a MySQL database", 483 | "env": [ 484 | { 485 | "description": "Password used by the MySQL root user.", 486 | "label": "Database root password", 487 | "name": "MYSQL_DATABASE_PASSWORD" 488 | } 489 | ], 490 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png", 491 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 492 | "platform": "linux", 493 | "repository": { 494 | "stackfile": "stacks/wordpress/docker-stack.yml", 495 | "url": "https://github.com/mikestraney/portainer-templates" 496 | }, 497 | "title": "Wordpress", 498 | "type": 3 499 | }, 500 | { 501 | "categories": [ 502 | "CMS" 503 | ], 504 | "description": "Wordpress setup with a MySQL database", 505 | "env": [ 506 | { 507 | "description": "Password used by the MySQL root user.", 508 | "label": "Database root password", 509 | "name": "MYSQL_DATABASE_PASSWORD" 510 | } 511 | ], 512 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png", 513 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 514 | "platform": "linux", 515 | "repository": { 516 | "stackfile": "stacks/wordpress/docker-stack.yml", 517 | "url": "https://github.com/mikestraney/portainer-templates" 518 | }, 519 | "title": "Wordpress", 520 | "type": 3 521 | }, 522 | { 523 | "description": "Wordpress setup with a MySQL database", 524 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 525 | "stackfile": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/stacks/wordpress/edge/docker-stack.yml", 526 | "title": "Wordpress", 527 | "type": 4 528 | }, 529 | { 530 | "categories": [ 531 | "CMS" 532 | ], 533 | "description": "WebOps platform and hosting control panel", 534 | "image": "plesk/plesk:latest", 535 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/plesk.png", 536 | "note": "Default credentials: admin / changeme", 537 | "platform": "linux", 538 | "ports": [ 539 | "21/tcp", 540 | "80/tcp", 541 | "443/tcp", 542 | "8880/tcp", 543 | "8443/tcp", 544 | "8447/tcp" 545 | ], 546 | "title": "Plesk", 547 | "type": 1 548 | }, 549 | { 550 | "categories": [ 551 | "Other", 552 | "Downloaders" 553 | ], 554 | "description": "YoutubeDL-Material is a Material Design frontend for youtube-dl. It's coded using Angular 9 for the frontend, and Node.js on the backend.", 555 | "image": "tzahi12345/youtubedl-material:latest", 556 | "logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/ytdlm.png", 557 | "name": "youtubedl-material", 558 | "platform": "linux", 559 | "ports": [ 560 | "17442:17442/tcp" 561 | ], 562 | "restart_policy": "unless-stopped", 563 | "title": "YouTubeDL-Material", 564 | "type": 1, 565 | "volumes": [ 566 | { 567 | "bind": "/portainer/Files/AppData/Config/YTDLM", 568 | "container": "/app/appdata" 569 | }, 570 | { 571 | "bind": "/portainer/Files/AppData/Youtube/Video", 572 | "container": "/app/video" 573 | }, 574 | { 575 | "bind": "/portainer/Files/AppData/Youtube/Subscriptions", 576 | "container": "/app/subscriptions" 577 | }, 578 | { 579 | "bind": "/portainer/Files/AppData/Youtube/Users", 580 | "container": "/app/users" 581 | }, 582 | { 583 | "bind": "/portainer/Files/AppData/Youtube/Audio", 584 | "container": "/app/audio" 585 | } 586 | ] 587 | }, 588 | { 589 | "description": "[Mariadb](https://mariadb.org/) is one of the most popular database servers. Made by the original developers of MySQL.", 590 | "env": [ 591 | { 592 | "default": "1024", 593 | "description": "for GroupID", 594 | "label": "PUID", 595 | "name": "PUID" 596 | }, 597 | { 598 | "default": "100", 599 | "description": "for UserID", 600 | "label": "PGID", 601 | "name": "PGID" 602 | }, 603 | { 604 | "default": "ROOT_ACCESS_PASSWORD", 605 | "description": "Set this to root password for installation (minimum 4 characters).", 606 | "label": "MYSQL_ROOT_PASSWORD", 607 | "name": "MYSQL_ROOT_PASSWORD" 608 | }, 609 | { 610 | "default": "Europe/Amsterdam", 611 | "description": "Specify a timezone to use for example Europe/Amsterdam", 612 | "label": "TZ", 613 | "name": "TZ" 614 | }, 615 | { 616 | "default": "USER_DB_NAME", 617 | "description": "Specify the name of a database to be created on image startup.", 618 | "label": "MYSQL_DATABASE", 619 | "name": "MYSQL_DATABASE" 620 | }, 621 | { 622 | "default": "MYSQL_USER", 623 | "description": "This user will have superuser access to the database specified by MYSQL_DATABASE (do not use root here).", 624 | "label": "MYSQL_USER", 625 | "name": "MYSQL_USER" 626 | }, 627 | { 628 | "default": "DATABASE_PASSWORD", 629 | "description": "Set this to the password you want to use for you MYSQL_USER (minimum 4 characters).", 630 | "label": "MYSQL_PASSWORD", 631 | "name": "MYSQL_PASSWORD" 632 | }, 633 | { 634 | "default": "http://URL1/your.sql,https://URL2/your.sql", 635 | "description": "Set this to ingest sql files from an http/https endpoint (comma seperated array).", 636 | "label": "REMOTE_SQL", 637 | "name": "REMOTE_SQL" 638 | } 639 | ], 640 | "image": "linuxserver/mariadb:latest", 641 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mariadb-git.png", 642 | "name": "Mariadb", 643 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/mariadb/config

", 644 | "platform": "linux", 645 | "ports": [ 646 | "3306:3306/tcp" 647 | ], 648 | "restart_policy": "unless-stopped", 649 | "title": "Mariadb", 650 | "type": 1, 651 | "volumes": [ 652 | { 653 | "bind": "/volume1/docker/mariadb/config", 654 | "container": "/config" 655 | } 656 | ] 657 | }, 658 | { 659 | "description": "[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are. Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices. Through Nextcloud you also access, sync and share your existing data on that FTP drive at the office, a Dropbox or a NAS you have at home.", 660 | "env": [ 661 | { 662 | "default": "1024", 663 | "description": "for GroupID", 664 | "label": "PUID", 665 | "name": "PUID" 666 | }, 667 | { 668 | "default": "100", 669 | "description": "for UserID", 670 | "label": "PGID", 671 | "name": "PGID" 672 | }, 673 | { 674 | "default": "Europe/Amsterdam", 675 | "description": "Specify a timezone to use for example Europe/Amsterdam", 676 | "label": "TZ", 677 | "name": "TZ" 678 | } 679 | ], 680 | "image": "linuxserver/nextcloud:latest", 681 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/nextcloud-icon.png", 682 | "name": "Nextcloud", 683 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/nextcloud/config
mkdir -p /volume1/docker/nextcloud/data

", 684 | "platform": "linux", 685 | "ports": [ 686 | "443:443/tcp" 687 | ], 688 | "restart_policy": "unless-stopped", 689 | "title": "Nextcloud", 690 | "type": 1, 691 | "volumes": [ 692 | { 693 | "bind": "/volume1/docker/nextcloud/config", 694 | "container": "/config" 695 | }, 696 | { 697 | "bind": "/volume1/docker/nextcloud/data", 698 | "container": "/data" 699 | } 700 | ] 701 | }, 702 | { 703 | "description": "[Nginx](https://nginx.org/) is a simple webserver with php support. The config files reside in `/config` for easy user customization.", 704 | "env": [ 705 | { 706 | "default": "1024", 707 | "description": "for GroupID", 708 | "label": "PUID", 709 | "name": "PUID" 710 | }, 711 | { 712 | "default": "100", 713 | "description": "for UserID", 714 | "label": "PGID", 715 | "name": "PGID" 716 | }, 717 | { 718 | "default": "Europe/Amsterdam", 719 | "description": "Specify a timezone to use for example Europe/Amsterdam", 720 | "label": "TZ", 721 | "name": "TZ" 722 | } 723 | ], 724 | "image": "linuxserver/nginx:latest", 725 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/nginx-banner.png", 726 | "name": "Nginx", 727 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/nginx/config

", 728 | "platform": "linux", 729 | "ports": [ 730 | "80:80/tcp", 731 | "443:443/tcp" 732 | ], 733 | "restart_policy": "unless-stopped", 734 | "title": "Nginx", 735 | "type": 1, 736 | "volumes": [ 737 | { 738 | "bind": "/volume1/docker/nginx/config", 739 | "container": "/config" 740 | } 741 | ] 742 | }, 743 | { 744 | "categories": [ 745 | "webserver" 746 | ], 747 | "description": "Open-source HTTP server", 748 | "image": "httpd:latest", 749 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/httpd.png", 750 | "platform": "linux", 751 | "ports": [ 752 | "80/tcp" 753 | ], 754 | "title": "Httpd", 755 | "type": 1, 756 | "volumes": [ 757 | { 758 | "container": "/usr/local/apache2/htdocs/" 759 | } 760 | ] 761 | }, 762 | { 763 | "description": "[Syncthing](https://syncthing.net) replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.", 764 | "env": [ 765 | { 766 | "default": "1024", 767 | "description": "for GroupID", 768 | "label": "PUID", 769 | "name": "PUID" 770 | }, 771 | { 772 | "default": "100", 773 | "description": "for UserID", 774 | "label": "PGID", 775 | "name": "PGID" 776 | }, 777 | { 778 | "default": "Europe/Amsterdam", 779 | "description": "Specify a timezone to use for example Europe/Amsterdam", 780 | "label": "TZ", 781 | "name": "TZ" 782 | } 783 | ], 784 | "image": "linuxserver/syncthing:latest", 785 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/syncthing-banner.png", 786 | "name": "Syncthing", 787 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/syncthing/config
mkdir -p /volume1/docker/syncthing/data1
mkdir -p /volume1/docker/syncthing/data2

", 788 | "platform": "linux", 789 | "ports": [ 790 | "8384:8384/tcp", 791 | "22000:22000/tcp", 792 | "22000:22000/udp", 793 | "21027:21027/udp" 794 | ], 795 | "restart_policy": "unless-stopped", 796 | "title": "Syncthing", 797 | "type": 1, 798 | "volumes": [ 799 | { 800 | "bind": "/volume1/docker/syncthing/config", 801 | "container": "/config" 802 | }, 803 | { 804 | "bind": "/volume1/docker/syncthing/data1", 805 | "container": "/data1" 806 | }, 807 | { 808 | "bind": "/volume1/docker/syncthing/data2", 809 | "container": "/data2" 810 | } 811 | ] 812 | }, 813 | { 814 | "categories": [ 815 | "Utilities" 816 | ], 817 | "description": "[Webtop](https://github.com/linuxserver/docker-webtop) - Alpine, Ubuntu, Fedora, and Arch based containers containing full desktop environments in officially supported flavors accessible via any modern web browser.", 818 | "env": [ 819 | { 820 | "default": "1024", 821 | "description": "for GroupID", 822 | "label": "PUID", 823 | "name": "PUID" 824 | }, 825 | { 826 | "default": "100", 827 | "description": "for UserID", 828 | "label": "PGID", 829 | "name": "PGID" 830 | }, 831 | { 832 | "default": "Europe/Amsterdam", 833 | "description": "Specify a timezone to use for example Europe/Amsterdam", 834 | "label": "TZ", 835 | "name": "TZ" 836 | }, 837 | { 838 | "default": "/", 839 | "description": "Specify a subfolder to use with reverse proxies, IE `/subfolder/`", 840 | "label": "SUBFOLDER", 841 | "name": "SUBFOLDER" 842 | } 843 | ], 844 | "image": "linuxserver/webtop:latest", 845 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png", 846 | "name": "Webtop", 847 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/webtop/config

", 848 | "platform": "linux", 849 | "ports": [ 850 | "3000:3000/tcp" 851 | ], 852 | "privileged": true, 853 | "restart_policy": "unless-stopped", 854 | "title": "Webtop", 855 | "type": 1, 856 | "volumes": [ 857 | { 858 | "bind": "/volume1/docker/webtop/config", 859 | "container": "/config" 860 | }, 861 | { 862 | "bind": "/var/run/docker.sock", 863 | "container": "/var/run/docker.sock" 864 | } 865 | ] 866 | }, 867 | { 868 | "description": "[Wireshark](https://www.wireshark.org/) is the world’s foremost and widely-used network protocol analyzer. It lets you see what’s happening on your network at a microscopic level and is the de facto (and often de jure) standard across many commercial and non-profit enterprises, government agencies, and educational institutions. Wireshark development thrives thanks to the volunteer contributions of networking experts around the globe and is the continuation of a project started by Gerald Combs in 1998.", 869 | "env": [ 870 | { 871 | "default": "1024", 872 | "description": "for GroupID", 873 | "label": "PUID", 874 | "name": "PUID" 875 | }, 876 | { 877 | "default": "100", 878 | "description": "for UserID", 879 | "label": "PGID", 880 | "name": "PGID" 881 | }, 882 | { 883 | "default": "Europe/Amsterdam", 884 | "description": "Specify a timezone to use for example Europe/Amsterdam", 885 | "label": "TZ", 886 | "name": "TZ" 887 | } 888 | ], 889 | "image": "linuxserver/wireshark:latest", 890 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/wireshark-icon.png", 891 | "name": "Wireshark", 892 | "network": "host", 893 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/wireshark/config

", 894 | "platform": "linux", 895 | "ports": [ 896 | "3000:3000/tcp" 897 | ], 898 | "restart_policy": "unless-stopped", 899 | "title": "Wireshark", 900 | "type": 1, 901 | "volumes": [ 902 | { 903 | "bind": "/volume1/docker/wireshark/config", 904 | "container": "/config" 905 | } 906 | ] 907 | }, 908 | { 909 | "category": [ 910 | "Other" 911 | ], 912 | "description": "OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments.", 913 | "env": [ 914 | { 915 | "label": "INTERFACE", 916 | "name": "INTERFACE", 917 | "set": "eth0" 918 | }, 919 | { 920 | "label": "PGID", 921 | "name": "PGID", 922 | "set": "1000" 923 | }, 924 | { 925 | "label": "PUID", 926 | "name": "PUID", 927 | "set": "1000" 928 | }, 929 | { 930 | "label": "TZ", 931 | "name": "TZ", 932 | "set": "America/Chicago" 933 | } 934 | ], 935 | "image": "linuxserver/openvpn-as:latest", 936 | "logo": "https://raw.githubusercontent.com/thesugarat/portainer_templates-1/master/Images/openvpn-as-icon.png", 937 | "platform": "linux", 938 | "ports": [ 939 | "943/tcp", 940 | "9443/tcp", 941 | "1194/udp" 942 | ], 943 | "title": "openvpn-as", 944 | "type": 1, 945 | "volumes": [ 946 | { 947 | "container": "/config" 948 | } 949 | ] 950 | }, 951 | { 952 | "description": "[Openvscode-server](https://github.com/gitpod-io/openvscode-server) provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser.", 953 | "env": [ 954 | { 955 | "default": "1024", 956 | "description": "for GroupID", 957 | "label": "PUID", 958 | "name": "PUID" 959 | }, 960 | { 961 | "default": "100", 962 | "description": "for UserID", 963 | "label": "PGID", 964 | "name": "PGID" 965 | }, 966 | { 967 | "default": "Europe/Amsterdam", 968 | "description": "Specify a timezone to use for example Europe/Amsterdam", 969 | "label": "TZ", 970 | "name": "TZ" 971 | }, 972 | { 973 | "default": "supersecrettoken", 974 | "description": "Optional security token for accessing the Web UI.", 975 | "label": "CONNECTION_TOKEN", 976 | "name": "CONNECTION_TOKEN" 977 | }, 978 | { 979 | "default": "", 980 | "description": "Optional path to a file inside the container that contains the security token for accessing the Web UI (ie. `/path/to/file`). Overrides `CONNECTION_TOKEN`.", 981 | "label": "CONNECTION_SECRET", 982 | "name": "CONNECTION_SECRET" 983 | }, 984 | { 985 | "default": "password", 986 | "description": "If this optional variable is set, user will have sudo access in the openvscode-server terminal with the specified password.", 987 | "label": "SUDO_PASSWORD", 988 | "name": "SUDO_PASSWORD" 989 | }, 990 | { 991 | "default": "", 992 | "description": "Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`.", 993 | "label": "SUDO_PASSWORD_HASH", 994 | "name": "SUDO_PASSWORD_HASH" 995 | } 996 | ], 997 | "image": "linuxserver/openvscode-server:latest", 998 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/openvscode-server-logo.png", 999 | "name": "Openvscode-server", 1000 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.

mkdir -p /volume1/docker/openvscode-server/config

", 1001 | "platform": "linux", 1002 | "ports": [ 1003 | "3000:3000/tcp" 1004 | ], 1005 | "restart_policy": "unless-stopped", 1006 | "title": "Openvscode-server", 1007 | "type": 1, 1008 | "volumes": [ 1009 | { 1010 | "bind": "/volume1/docker/openvscode-server/config", 1011 | "container": "/config" 1012 | } 1013 | ] 1014 | }, 1015 | { 1016 | "categories": [ 1017 | "Other", 1018 | "Tools" 1019 | ], 1020 | "description": "A dead simple static HOMepage for your servER to keep your s ervices on hand, from a simple yaml configuration file.", 1021 | "image": "b4bz/homer:latest", 1022 | "logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/homer.png", 1023 | "name": "homer", 1024 | "note": "This container requires a yml file within the config volume. See the documentation here https://github.com/bastienwirtz/homer", 1025 | "platform": "linux", 1026 | "ports": [ 1027 | "8902:8080/tcp" 1028 | ], 1029 | "restart_policy": "unless-stopped", 1030 | "title": "Homer", 1031 | "type": 1, 1032 | "volumes": [ 1033 | { 1034 | "bind": "/portainer/Files/AppData/Config/Homer/assets", 1035 | "container": "/www/assets" 1036 | }, 1037 | { 1038 | "bind": "/portainer/Files/AppData/Config/Homer", 1039 | "container": "/www/config.yml" 1040 | } 1041 | ] 1042 | }, 1043 | { 1044 | "categories": [ 1045 | "continuous-integration" 1046 | ], 1047 | "description": "Open-source continuous integration tool", 1048 | "env": [ 1049 | { 1050 | "label": "Jenkins options", 1051 | "name": "JENKINS_OPTS" 1052 | } 1053 | ], 1054 | "image": "jenkins/jenkins:lts", 1055 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/jenkins.png", 1056 | "platform": "linux", 1057 | "ports": [ 1058 | "8080/tcp", 1059 | "50000/tcp" 1060 | ], 1061 | "title": "Jenkins", 1062 | "type": 1, 1063 | "volumes": [ 1064 | { 1065 | "container": "/var/jenkins_home" 1066 | } 1067 | ] 1068 | }, 1069 | { 1070 | "categories": [ 1071 | "marketing" 1072 | ], 1073 | "description": "Open-source marketing automation platform", 1074 | "env": [ 1075 | { 1076 | "label": "MySQL database host", 1077 | "name": "MAUTIC_DB_HOST", 1078 | "type": "container" 1079 | }, 1080 | { 1081 | "label": "Database password", 1082 | "name": "MAUTIC_DB_PASSWORD" 1083 | } 1084 | ], 1085 | "image": "mautic/mautic:latest", 1086 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mautic.png", 1087 | "platform": "linux", 1088 | "ports": [ 1089 | "80/tcp" 1090 | ], 1091 | "title": "Mautic", 1092 | "type": 1, 1093 | "volumes": [ 1094 | { 1095 | "container": "/var/www/html" 1096 | } 1097 | ] 1098 | }, 1099 | { 1100 | "categories": [ 1101 | "storage" 1102 | ], 1103 | "description": "Standalone AWS S3 protocol server", 1104 | "env": [ 1105 | { 1106 | "label": "Scality S3 access key", 1107 | "name": "SCALITY_ACCESS_KEY" 1108 | }, 1109 | { 1110 | "label": "Scality S3 secret key", 1111 | "name": "SCALITY_SECRET_KEY" 1112 | } 1113 | ], 1114 | "image": "scality/s3server", 1115 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/scality-s3.png", 1116 | "platform": "linux", 1117 | "ports": [ 1118 | "8000/tcp" 1119 | ], 1120 | "title": "Scality S3", 1121 | "type": 1, 1122 | "volumes": [ 1123 | { 1124 | "container": "/usr/src/app/localData" 1125 | }, 1126 | { 1127 | "container": "/usr/src/app/localMetadata" 1128 | } 1129 | ] 1130 | }, 1131 | { 1132 | "categories": [ 1133 | "Other", 1134 | "Music" 1135 | ], 1136 | "description": "Deemix is a deezer downloader built from the ashes of Deezloader Remix.", 1137 | "image": "registry.gitlab.com/bockiii/deemix-docker", 1138 | "logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/deemix.png", 1139 | "name": "deemix", 1140 | "note": "Deemix may take a few minutes to install. Be sure to check the logs for details. Refer to \u003ca href='https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Login+via+userToken'\u003ethis page\u003c/a\u003e for userToken details.", 1141 | "platform": "linux", 1142 | "ports": [ 1143 | "9666:9666/tcp" 1144 | ], 1145 | "restart_policy": "unless-stopped", 1146 | "title": "DeeMix", 1147 | "type": 1, 1148 | "volumes": [ 1149 | { 1150 | "bind": "/portainer/Files/AppData/Config/DeeMix", 1151 | "container": "/config" 1152 | }, 1153 | { 1154 | "bind": "/portainer/Downloads", 1155 | "container": "/downloads" 1156 | } 1157 | ] 1158 | }, 1159 | { 1160 | "type": 1, 1161 | "title": "Mongo", 1162 | "description": "Open-source document-oriented database", 1163 | "categories": [ 1164 | "database" 1165 | ], 1166 | "platform": "linux", 1167 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mongo.png", 1168 | "image": "mongo:latest", 1169 | "ports": [ 1170 | "27017/tcp" 1171 | ], 1172 | "volumes": [ 1173 | { 1174 | "container": "/data/db" 1175 | } 1176 | ] 1177 | }, 1178 | { 1179 | "type": 1, 1180 | "title": "MySQL", 1181 | "description": "The most popular open-source database", 1182 | "categories": [ 1183 | "database" 1184 | ], 1185 | "platform": "linux", 1186 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mysql.png", 1187 | "image": "mysql:latest", 1188 | "env": [ 1189 | { 1190 | "name": "MYSQL_ROOT_PASSWORD", 1191 | "label": "Root password" 1192 | } 1193 | ], 1194 | "ports": [ 1195 | "3306/tcp" 1196 | ], 1197 | "volumes": [ 1198 | { 1199 | "container": "/var/lib/mysql" 1200 | } 1201 | ] 1202 | }, 1203 | { 1204 | "type": 1, 1205 | "title": "Odoo", 1206 | "description": "Open-source business apps", 1207 | "categories": [ 1208 | "project-management" 1209 | ], 1210 | "platform": "linux", 1211 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/odoo.png", 1212 | "image": "odoo:latest", 1213 | "env": [ 1214 | { 1215 | "name": "HOST", 1216 | "label": "PostgreSQL database host", 1217 | "type": "container" 1218 | }, 1219 | { 1220 | "name": "USER", 1221 | "label": "Database user" 1222 | }, 1223 | { 1224 | "name": "PASSWORD", 1225 | "label": "Database password" 1226 | } 1227 | ], 1228 | "ports": [ 1229 | "8069/tcp" 1230 | ], 1231 | "volumes": [ 1232 | { 1233 | "container": "/var/lib/odoo" 1234 | }, 1235 | { 1236 | "container": "/mnt/extra-addons" 1237 | } 1238 | ] 1239 | }, 1240 | { 1241 | "categories": [ 1242 | "Other", 1243 | "Tools" 1244 | ], 1245 | "description": "A Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole.", 1246 | "image": "pihole/pihole:latest", 1247 | "logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/pihole.png", 1248 | "name": "pihole", 1249 | "note": "When the installation is complete, navigate to your.ip.goes.here:1010/admin. Follow the article \u003ca href='https://medium.com/@niktrix/getting-rid-of-systemd-resolved-consuming-port-53-605f0234f32f'\u003ehere\u003c/a\u003e if you run into issues binding to port 53.", 1250 | "platform": "linux", 1251 | "ports": [ 1252 | "53:53/tcp", 1253 | "53:53/udp", 1254 | "67:67/udp", 1255 | "1010:80/tcp", 1256 | "4443:443/tcp" 1257 | ], 1258 | "restart_policy": "unless-stopped", 1259 | "title": "Pi-Hole", 1260 | "type": 1, 1261 | "volumes": [ 1262 | { 1263 | "bind": "/portainer/Files/AppData/Config/PiHole", 1264 | "container": "/etc/pihole" 1265 | }, 1266 | { 1267 | "bind": "/portainer/Files/AppData/Config/PiHole/DNS", 1268 | "container": "/etc/dnsmasq.d" 1269 | } 1270 | ] 1271 | }, 1272 | { 1273 | "type": 1, 1274 | "title": "RabbitMQ", 1275 | "description": "Highly reliable enterprise messaging system", 1276 | "categories": [ 1277 | "messaging" 1278 | ], 1279 | "platform": "linux", 1280 | "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/rabbitmq.png", 1281 | "image": "rabbitmq:latest", 1282 | "ports": [ 1283 | "5671/tcp", 1284 | "5672/tcp" 1285 | ], 1286 | "volumes": [ 1287 | { 1288 | "container": "/var/lib/rabbitmq" 1289 | } 1290 | ] 1291 | }, 1292 | { 1293 | "categories": [ 1294 | "Other", 1295 | "Tools" 1296 | ], 1297 | "description": "A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.", 1298 | "image": "selfhostedpro/yacht:latest", 1299 | "logo": "https://raw.githubusercontent.com/SelfhostedPro/Yacht/master/readme_media/Yacht_logo_1_dark.png", 1300 | "name": "yacht", 1301 | "platform": "linux", 1302 | "ports": [ 1303 | "8001:8000/tcp" 1304 | ], 1305 | "restart_policy": "unless-stopped", 1306 | "title": "Yacht", 1307 | "type": 1, 1308 | "volumes": [ 1309 | { 1310 | "bind": "yacht", 1311 | "container": "/config" 1312 | }, 1313 | { 1314 | "bind": "/var/run/docker.sock", 1315 | "container": "/var/run/docker.sock" 1316 | } 1317 | ] 1318 | }, 1319 | { 1320 | "categories": [ 1321 | "backend", 1322 | "lowcode" 1323 | ], 1324 | "description": "Supabase is an open source Firebase alternative.It provides all the backend services you need to build a product. You can use it completely, or just the services you require:", 1325 | "env": [ 1326 | { 1327 | "description": "Password used by the MySQL root user.", 1328 | "label": "Database root password", 1329 | "name": "POSTGRES_PASSWORD", 1330 | "default": "your-super-secret-and-long-postgres-password" 1331 | }, 1332 | { 1333 | "description": "Password used by the MySQL root user.", 1334 | "label": "Database root password", 1335 | "name": "JWT_SECRET", 1336 | "default": "your-super-secret-jwt-token-with-at-least-32-characters-long" 1337 | }, 1338 | { 1339 | "description": "Password used by the MySQL root user.", 1340 | "label": "Database root password", 1341 | "name": "ANON_KEY", 1342 | "default": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE" 1343 | }, 1344 | { 1345 | "description": "Password used by the MySQL root user.", 1346 | "label": "Database root password", 1347 | "name": "SERVICE_ROLE_KEY", 1348 | "default": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q" 1349 | }, 1350 | { 1351 | "description": "Password used by the MySQL root user.", 1352 | "label": "Database root password", 1353 | "name": "POSTGRES_HOST", 1354 | "default": "db" 1355 | }, 1356 | { 1357 | "description": "Password used by the MySQL root user.", 1358 | "label": "Database root password", 1359 | "name": "POSTGRES_DB", 1360 | "default": "postgres" 1361 | }, 1362 | { 1363 | "description": "Password used by the MySQL root user.", 1364 | "label": "Database root password", 1365 | "name": "POSTGRES_USER", 1366 | "default": "postgres" 1367 | }, 1368 | { 1369 | "description": "Password used by the MySQL root user.", 1370 | "label": "Database root password", 1371 | "name": "POSTGRES_PORT", 1372 | "default": "5432" 1373 | }, 1374 | { 1375 | "description": "Password used by the MySQL root user.", 1376 | "label": "Database root password", 1377 | "name": "KONG_HTTP_PORT", 1378 | "default": "8000" 1379 | }, 1380 | { 1381 | "description": "Password used by the MySQL root user.", 1382 | "label": "Database root password", 1383 | "name": "KONG_HTTPS_PORT", 1384 | "default": "8443" 1385 | }, 1386 | { 1387 | "description": "Password used by the MySQL root user.", 1388 | "label": "Database root password", 1389 | "name": "PGRST_DB_SCHEMAS", 1390 | "default": "public,storage,graphql_public" 1391 | }, 1392 | { 1393 | "description": "Password used by the MySQL root user.", 1394 | "label": "Database root password", 1395 | "name": "SITE_URL", 1396 | "default": "http://localhost:3000" 1397 | }, 1398 | { 1399 | "description": "Password used by the MySQL root user.", 1400 | "label": "Database root password", 1401 | "name": "ADDITIONAL_REDIRECT_URLS", 1402 | "default": "" 1403 | }, 1404 | { 1405 | "description": "Password used by the MySQL root user.", 1406 | "label": "Database root password", 1407 | "name": "JWT_EXPIRY", 1408 | "default": "3600" 1409 | }, 1410 | { 1411 | "description": "Password used by the MySQL root user.", 1412 | "label": "Database root password", 1413 | "name": "DISABLE_SIGNUP", 1414 | "default": "false" 1415 | }, 1416 | { 1417 | "description": "Password used by the MySQL root user.", 1418 | "label": "Database root password", 1419 | "name": "ENABLE_EMAIL_SIGNUP", 1420 | "default": "true" 1421 | }, 1422 | { 1423 | "description": "Password used by the MySQL root user.", 1424 | "label": "Database root password", 1425 | "name": "ENABLE_EMAIL_AUTOCONFIRM", 1426 | "default": "true" 1427 | }, 1428 | { 1429 | "description": "Password used by the MySQL root user.", 1430 | "label": "Database root password", 1431 | "name": "SMTP_ADMIN_EMAIL", 1432 | "default": "admin@example.com" 1433 | }, 1434 | { 1435 | "description": "Password used by the MySQL root user.", 1436 | "label": "Database root password", 1437 | "name": "SMTP_HOST", 1438 | "default": "fake" 1439 | }, 1440 | { 1441 | "description": "Password used by the MySQL root user.", 1442 | "label": "Database root password", 1443 | "name": "SMTP_PORT", 1444 | "default": "fake" 1445 | }, 1446 | { 1447 | "description": "Password used by the MySQL root user.", 1448 | "label": "Database root password", 1449 | "name": "SMTP_USER", 1450 | "default": "fake" 1451 | }, 1452 | { 1453 | "description": "Password used by the MySQL root user.", 1454 | "label": "Database root password", 1455 | "name": "SMTP_PASS", 1456 | "default": "fake" 1457 | }, 1458 | { 1459 | "description": "Password used by the MySQL root user.", 1460 | "label": "Database root password", 1461 | "name": "SMTP_SENDER_NAME", 1462 | "default": "fake" 1463 | }, 1464 | { 1465 | "description": "Password used by the MySQL root user.", 1466 | "label": "Database root password", 1467 | "name": "ENABLE_PHONE_SIGNUP", 1468 | "default": "true" 1469 | }, 1470 | { 1471 | "description": "Password used by the MySQL root user.", 1472 | "label": "Database root password", 1473 | "name": "ENABLE_PHONE_AUTOCONFIRM", 1474 | "default": "true" 1475 | }, 1476 | { 1477 | "description": "Password used by the MySQL root user.", 1478 | "label": "Database root password", 1479 | "name": "STUDIO_PORT", 1480 | "default": "3000" 1481 | }, 1482 | { 1483 | "description": "Password used by the MySQL root user.", 1484 | "label": "Database root password", 1485 | "name": "PUBLIC_REST_URL", 1486 | "default": "http://localhost:8000/rest/v1/" 1487 | } 1488 | ], 1489 | "logo": "https://supabase.com/docs/supabase-dark.svg", 1490 | "note": "Deploys a Wordpress instance connected to a MySQL database.", 1491 | "platform": "linux", 1492 | "repository": { 1493 | "stackfile": "supabase/docker-compose.yml", 1494 | "url": "https://github.com/mehdi-yc/goodcontainers" 1495 | }, 1496 | "title": "Supabase", 1497 | "type": 3 1498 | }, 1499 | 1500 | 1501 | 1502 | 1503 | 1504 | 1505 | { 1506 | "type": 1, 1507 | "title": "Rdesktop", 1508 | "name": "Rdesktop", 1509 | "note": "Portainer App Templates by Technorabilia based on data provided by LinuxServer.io.

Don't forget to create the volume directories on the host file system.


mkdir -p /volume1/docker/rdesktop/config

", 1510 | "description": "[Rdesktop](http://xrdp.org/) - Containers containing full desktop environments in many popular flavors for Alpine, Ubuntu, Arch, and Fedora accessible via RDP.", 1511 | "platform": "linux", 1512 | "logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/rdesktop.png", 1513 | "image": "linuxserver/rdesktop:latest", 1514 | "env": [ 1515 | { 1516 | "name": "PUID", 1517 | "label": "PUID", 1518 | "default": "1024", 1519 | "description": "for UserID" 1520 | }, 1521 | { 1522 | "name": "PGID", 1523 | "label": "PGID", 1524 | "default": "100", 1525 | "description": "for GroupID" 1526 | }, 1527 | { 1528 | "name": "TZ", 1529 | "label": "TZ", 1530 | "default": "Europe/Amsterdam", 1531 | "description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)." 1532 | } 1533 | ], 1534 | "ports": [ 1535 | "3389:3389/tcp" 1536 | ], 1537 | "volumes": [ 1538 | { 1539 | "container": "/var/run/docker.sock", 1540 | "bind": "/var/run/docker.sock" 1541 | }, 1542 | { 1543 | "container": "/config", 1544 | "bind": "/volume1/docker/rdesktop/config" 1545 | } 1546 | ], 1547 | "restart_policy": "unless-stopped" 1548 | } 1549 | ] 1550 | } --------------------------------------------------------------------------------