├── Baserow ├── .env └── docker-compose.yml ├── Comandos-interesantes.md ├── DBeaver Cloud ├── .gitignore └── docker-compose.yml ├── DuckDNS ├── .env.example └── docker-compose.yml ├── Foros ├── Commands.txt ├── DB.env ├── docker-compose.yaml └── flarum.env ├── Gitea ├── db.env ├── docker-compose.yaml └── gitea.env ├── Jitsi └── jitsi.md ├── MSSQL └── docker-compose.yml ├── Mailserver └── docker-compose.yml ├── MariaDB ├── .gitignore ├── docker-compose.yml ├── duckdns.env └── mariadb.env ├── Media-Server └── docker-compose.yml ├── Moodle └── docker-compose.yml ├── MySQL ├── MySQL.env └── docker-compose.yml ├── NextCloud ├── comandos utiles.md ├── config.env ├── config.php └── docker-compose.yml ├── Nginx ├── .gitignore └── docker-compose.yaml ├── Odoo └── docker-compose.yaml ├── Ollama ├── .gitignore ├── Modelfile ├── comandos.txt ├── docker-compose.yaml └── main.py ├── Pgadmin └── docker-compose.yml ├── Pihole ├── comandos.txt └── docker-compose.yaml ├── Portainer └── docker-compose.yaml ├── Postgress ├── .gitignore ├── docker-compose.yml ├── duckdns.env └── postgres.env ├── Remmina ├── .gitignore └── Docker-compose.yml ├── Rustdesk └── docker-compose.yml ├── SQLite-browser └── docker-compose.yaml ├── Seafile └── docker-compose.yml ├── Wireguard-Pihole ├── comandos.txt └── docker-compose.yaml ├── WordPress ├── .env.example ├── .gitignore └── compose.yaml ├── claude-rpa ├── .env └── docker-compose.yaml ├── docker-post-instalation.sh ├── evolution-api-postgres ├── compose.yaml ├── db.env └── evolution.env ├── filebrowser └── compose.yaml ├── gitlab └── compose.yaml ├── list-volumes.sh ├── minio └── docker-compose.yaml ├── n8n ├── .env.example └── compose.yaml ├── nocodb └── docker-compose.yaml ├── poste ├── docker-compose - copia.yml └── docker-compose.yml └── wg-easy ├── .env └── docker-compose.yml /Baserow/.env: -------------------------------------------------------------------------------- 1 | BASEROW_PUBLIC_URL= 'http://localhost:8080' -------------------------------------------------------------------------------- /Baserow/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | baserow: 3 | container_name: baserow 4 | image: baserow/baserow:1.24.2 5 | env_file: 6 | - .env 7 | ports: 8 | - 8080:80 9 | - 8443:443 10 | volumes: 11 | - ./baserow_data:/baserow/data 12 | -------------------------------------------------------------------------------- /Comandos-interesantes.md: -------------------------------------------------------------------------------- 1 | Acá van algunos comandos que me parecen interesantes para docker que pueden ser útiles en algún momento. 2 | 3 | ### Eliminar todas las imágenes con tag `` 4 | 5 | ```bash 6 | docker rmi $(docker images -f 'dangling=true' -q) 7 | ``` 8 | 9 | ### Listar todos los contenedores que usan un volumen 10 | 11 | ```bash 12 | #!/bin/sh 13 | 14 | volumes=$(docker volume ls --format '{{.Name}}') 15 | 16 | for volume in $volumes 17 | do 18 | echo $volume 19 | docker ps -a --filter volume="$volume" --format '{{.Names}}' | sed 's/^/ /' 20 | done 21 | ``` 22 | 23 | 24 | Listador v2 25 | ```bash 26 | #!/bin/bash 27 | 28 | # Obtener una lista de todos los contenedores en ejecución 29 | containers=$(docker ps -q) 30 | 31 | # Iterar sobre cada contenedor 32 | for container_id in $containers; do 33 | # Obtener el nombre del contenedor 34 | container_name=$(docker inspect --format='{{.Name}}' $container_id 2>/dev/null | sed 's#^/> 35 | 36 | echo "Contenedor ID: $container_id" 37 | echo "Nombre del contenedor: $container_name" 38 | 39 | # Obtener una lista de todos los volúmenes montados en este contenedor 40 | volumes=$(docker inspect --format='{{range .Mounts}}{{printf "%s" .Name}}{{end}}' $contain> 41 | 42 | # Verificar si el contenedor utiliza algún volumen 43 | if [ -n "$volumes" ]; then 44 | echo "Volúmenes utilizados por el contenedor:" 45 | echo "$volumes" 46 | else 47 | echo "El contenedor no utiliza ningún volumen." 48 | fi 49 | echo "----------------------------------------" 50 | done 51 | ``` 52 | -------------------------------------------------------------------------------- /DBeaver Cloud/.gitignore: -------------------------------------------------------------------------------- 1 | Volume 2 | -------------------------------------------------------------------------------- /DBeaver Cloud/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | cloudbeaver: 3 | container_name: "dbeaver-cloud" 4 | image: dbeaver/cloudbeaver:latest 5 | ports: 6 | - "8080:8978" 7 | volumes: 8 | - ./Volume:/opt/cloudbeaver/workspace 9 | -------------------------------------------------------------------------------- /DuckDNS/.env.example: -------------------------------------------------------------------------------- 1 | SUBDOMAINS="Tu Subdominio" 2 | TOKEN=token 3 | -------------------------------------------------------------------------------- /DuckDNS/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | duckdns: 3 | image: lscr.io/linuxserver/duckdns:latest 4 | container_name: duckdns_Estudio 5 | env_file: 6 | - duckdns.env 7 | volumes: 8 | - ./duckdns:/config #optional 9 | restart: unless-stopped -------------------------------------------------------------------------------- /Foros/Commands.txt: -------------------------------------------------------------------------------- 1 | Inicio de comando para actualizar: 2 | docker exec -ti flarum_core extension require 3 | 4 | Extension recomendada por flarum (no probado): 5 | docker exec -ti flarum_core extension require symfony/mailer -W 6 | 7 | Extensiones a mirar 8 | docker exec -ti flarum_core extension require fof/oauth -W 9 | 10 | Extensiones a instalar: 11 | docker exec -ti flarum_core extension require flarum-lang/spanish --with-all-dependencies 12 | docker exec -ti flarum_core extension require v17development/flarum-blog --with-all-dependencies 13 | docker exec -ti flarum_core extension require fof/polls --with-all-dependencies 14 | docker exec -ti flarum_core extension require fof/upload "*" --with-all-dependencies 15 | docker exec -ti flarum_core extension require fof/pages --with-all-dependencies 16 | docker exec -ti flarum_core extension require 17 | 18 | 19 | Desde docker exec: 20 | extension -W require flarum-lang/spanish 21 | extension -W require v17development/flarum-blog 22 | extension -W require fof/polls 23 | extension -W require fof/upload "*" 24 | extension -W require fof/pages 25 | 26 | -------------------------------------------------------------------------------- /Foros/DB.env: -------------------------------------------------------------------------------- 1 | MYSQL_ROOT_PASSWORD=blablabla 2 | MYSQL_DATABASE=flarum 3 | MYSQL_USER=flarum 4 | MYSQL_PASSWORD=blablabla -------------------------------------------------------------------------------- /Foros/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | flarum: 3 | image: mondedie/flarum:stable 4 | container_name: flarum_core 5 | env_file: 6 | - flarum.env 7 | volumes: 8 | - ./root/dt-applications/flarum/assets:/flarum/app/public/assets 9 | - ./root/dt-applications/flarum/extensions:/flarum/app/extensions 10 | - ./root/dt-applications/flarum/storage/logs:/flarum/app/storage/logs 11 | - ./root/dt-applications/flarum/nginx:/etc/nginx/flarum 12 | ports: 13 | - 8888:8888 14 | depends_on: 15 | - flarummariadb 16 | 17 | 18 | flarummariadb: 19 | image: mysql:5.7 20 | container_name: flarum_mariadb 21 | env_file: 22 | - DB.env 23 | volumes: 24 | - ./root/dt-applications/flarum/mysql:/var/lib/mysql -------------------------------------------------------------------------------- /Foros/flarum.env: -------------------------------------------------------------------------------- 1 | DEBUG=false 2 | FORUM_URL=localhost:8888 # Acá va el dominio 3 | DB_HOST=flarummariadb 4 | DB_NAME=flarum 5 | DB_USER=flarum 6 | DB_PASS=blablabla 7 | DB_PREF=flarum_ 8 | DB_PORT=3306 9 | FLARUM_ADMIN_USER=Administrador 10 | FLARUM_ADMIN_PASS=Administrador 11 | FLARUM_ADMIN_MAIL=Administrador@hotmail.com 12 | FLARUM_TITLE=Contadores Cracks -------------------------------------------------------------------------------- /Gitea/db.env: -------------------------------------------------------------------------------- 1 | POSTGRES_USER=gitea 2 | POSTGRES_PASSWORD=contraseña 3 | POSTGRES_DB=gitea -------------------------------------------------------------------------------- /Gitea/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | networks: 2 | gitea: 3 | external: false 4 | 5 | services: 6 | 7 | gitea: 8 | image: gitea/gitea:latest 9 | container_name: gitea 10 | env_file: 11 | - gitea.env 12 | restart: unless-stopped 13 | networks: 14 | - gitea 15 | volumes: 16 | - ./gitea:/data 17 | - /etc/timezone:/etc/timezone:ro 18 | - /etc/localtime:/etc/localtime:ro 19 | ports: 20 | - "3000:3000" 21 | - "222:22" 22 | depends_on: 23 | - gitea-postgres 24 | 25 | gitea-postgres: 26 | container_name: gitea-postgres 27 | image: postgres:14-alpine 28 | restart: always 29 | env_file: 30 | - db.env 31 | networks: 32 | - gitea 33 | volumes: 34 | - ./postgres:/var/lib/postgresql/data -------------------------------------------------------------------------------- /Gitea/gitea.env: -------------------------------------------------------------------------------- 1 | USER_UID=1000 2 | USER_GID=1000 3 | GITEA__database__DB_TYPE=postgres 4 | GITEA__database__HOST=gitea-postgres:5432 5 | GITEA__database__NAME=gitea 6 | GITEA__database__USER=gitea 7 | GITEA__database__PASSWD=contraseña -------------------------------------------------------------------------------- /Jitsi/jitsi.md: -------------------------------------------------------------------------------- 1 | 2 | Setup Guide 3 | https://jitsi.github.io/handbook/docs... 4 | 5 | ## Steps: 6 | 7 | 1. download jitsi latest 8 | #the version number may change, so be aware of that 9 | `sudo wget https://github.com/jitsi/docker-jitsi-meet/releases/...` 10 | 11 | 2. extract file 12 | #the version number may change, so be aware of that 13 | `tar -zxvf stable-5963.tar.gz` 14 | 15 | 3. change directory 16 | the version number may change, so be aware of that 17 | `cd docker-jitsi-meet-stable-5963` 18 | 19 | 4. copy example file to .env 20 | `cp env.example .env` 21 | 22 | 5. edit .env file. 23 | 24 | because I'm going to use NGINX Proxy Manager, I do NOT use the LetsEncrypt section of this file. 25 | modify this file per your needs 26 | - `nano .env` 27 | - `vim .env` 28 | 29 | 6. enforce/generate strong passwords in the .env file 30 | `./gen-passwords.sh` 31 | 32 | 7. create required config directories 33 | `mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}` 34 | 35 | 8. deploy 36 | `docker-compose up -d` 37 | 38 | Once this is up and running, you can setup your domain and reverse proxy to point to the container, but make sure that you have the ability to enable Websockets support. -------------------------------------------------------------------------------- /MSSQL/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | mssql: 4 | image: mcr.microsoft.com/mssql/server:2019-latest 5 | environment: 6 | - ACCEPT_EULA=Y 7 | - MSSQL_SA_PASSWORD=Contraseña_segura 8 | - MSSQL_PID=Express 9 | ports: 10 | - 1433:1433 11 | -------------------------------------------------------------------------------- /Mailserver/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | mailserver: 4 | image: analogic/poste.io 5 | container_name: mailserver-sysbeards 6 | restart: always 7 | # network_mode: "host" 8 | # expose: 9 | # - "25" 10 | # - "8080" 11 | # - "4443" 12 | # - "110" 13 | # - "143" 14 | # - "465" 15 | # - "587" 16 | # - "993" 17 | # - "995" 18 | ports: 19 | - "25:25" 20 | - "8080:8080" 21 | - "4443:4443" 22 | - "110:110" 23 | - "143:143" 24 | - "465:465" 25 | - "587:587" 26 | - "993:993" 27 | - "995:995" 28 | environment: 29 | - TZ=America/Argentina/Buenos_Aires 30 | - h=mail.tudominio.com # Direccion del servidor de mail hosting 31 | - HTTP_PORT=8080 32 | - HTTPS_PORT=4443 33 | - DISABLE_CLAMAV=TRUE 34 | volumes: 35 | - ./mail:/data -------------------------------------------------------------------------------- /MariaDB/.gitignore: -------------------------------------------------------------------------------- 1 | MariaDB -------------------------------------------------------------------------------- /MariaDB/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | services: 4 | 5 | BaseDeDatos: 6 | image: linuxserver/mariadb:10.11.5 7 | container_name: BaseDeDatosTest 8 | env_file: 9 | - mariadb.env 10 | volumes: 11 | - ./MariaDB:/config 12 | ports: 13 | - 3306:3306 14 | restart: unless-stopped 15 | 16 | duckdns: 17 | image: lscr.io/linuxserver/duckdns:latest 18 | container_name: duckdns 19 | env_file: 20 | - duckdns.env 21 | #volumes: 22 | # - ./duckdns:/config #optional 23 | restart: unless-stopped 24 | -------------------------------------------------------------------------------- /MariaDB/duckdns.env: -------------------------------------------------------------------------------- 1 | PUID=1000 #optional 2 | PGID=1000 #optional 3 | TZ=America/Argentina #optional 4 | SUBDOMAINS= tu-dominio #subdominio de duckdns, separados por comas 5 | TOKEN=tu-token #token de duckdns 6 | LOG_FILE=false #optional -------------------------------------------------------------------------------- /MariaDB/mariadb.env: -------------------------------------------------------------------------------- 1 | #PUID=1000 # opcional 2 | #PGID=1000 # opcional 3 | #TZ=America/Argentina # opcional 4 | MYSQL_ROOT_PASSWORD=rootpassword # Contraseña de root de mariadb 5 | MYSQL_PASSWORD=password # Contraseña del usuario de la base de datos 6 | MYSQL_DATABASE=database # Nombre de la base de datos 7 | MYSQL_USER=user # Usuario de la base de datos 8 | MYSQL_HOST=BaseDeDatosTest # Nombre del contenedor de mariadb -------------------------------------------------------------------------------- /Media-Server/docker-compose.yml: -------------------------------------------------------------------------------- 1 | 2 | services: 3 | 4 | 5 | jellyfin: 6 | image: jellyfin/jellyfin 7 | container_name: jellyfin 8 | environment: 9 | - PUID=1000 10 | - PGID=1000 11 | - TZ=America/Argentina/Buenos_Aires 12 | volumes: 13 | - ./jellyfin_config:/config 14 | - ./media/tvshows:/data/tvshows 15 | - ./media/movies:/data/movies 16 | - ./media/anime:/data/anime 17 | ports: 18 | - 8096:8096 19 | restart: unless-stopped 20 | 21 | 22 | sonarr: 23 | image: linuxserver/sonarr 24 | container_name: sonarr 25 | environment: 26 | - PUID=1000 27 | - PGID=1000 28 | - TZ=America/Argentina/Buenos_Aires 29 | volumes: 30 | - ./sonarr_config:/config 31 | - ./media/anime:/anime 32 | - ./media/tvshows:/tvshows 33 | - ./media/transmission/downloads/complete:/downloads/complete 34 | ports: 35 | - 8989:8989 36 | restart: unless-stopped 37 | 38 | 39 | radarr: 40 | image: linuxserver/radarr 41 | container_name: radarr 42 | environment: 43 | - PUID=1000 44 | - PGID=1000 45 | - TZ=America/Argentina/Buenos_Aires 46 | volumes: 47 | - ./radarr_config:/config 48 | - ./media/transmission/downloads/complete:/downloads/complete 49 | - ./media/movies:/movies 50 | ports: 51 | - 7878:7878 52 | restart: unless-stopped 53 | 54 | 55 | bazarr: 56 | image: linuxserver/bazarr 57 | container_name: bazarr 58 | environment: 59 | - PUID=1000 60 | - PGID=1000 61 | - TZ=America/Argentina/Buenos_Aires 62 | volumes: 63 | - ./bazarr_config:/config 64 | - ./media/movies:/movies #optional 65 | - ./media/tvshows:/tvshows #optional 66 | - ./media/anime:/anime 67 | ports: 68 | - 6767:6767 69 | restart: unless-stopped 70 | 71 | 72 | jellyseerr: 73 | image: fallenbagel/jellyseerr:latest 74 | container_name: jellyseerr 75 | environment: 76 | - PUID=1000 77 | - PGID=1000 78 | - LOG_LEVEL=debug 79 | - TZ=America/Argentina/Buenos_Aires 80 | ports: 81 | - 5055:5055 82 | volumes: 83 | - ./jellyseerr_config:/app/config 84 | restart: unless-stopped 85 | depends_on: 86 | - radarr 87 | - sonarr 88 | 89 | 90 | jackett: 91 | image: linuxserver/jackett 92 | container_name: jackett 93 | environment: 94 | - PUID=1000 95 | - PGID=1000 96 | - TZ=America/Argentina/Buenos_Aires 97 | - AUTO_UPDATE=true #optional 98 | volumes: 99 | - ./jackett:/config 100 | - ./media/jackett/downloads:/downloads 101 | ports: 102 | - 9117:9117 103 | restart: unless-stopped 104 | 105 | 106 | transmission: 107 | image: linuxserver/transmission 108 | container_name: transmission 109 | environment: 110 | - PUID=1000 111 | - PGID=1000 112 | - TZ=America/Argentina/Buenos_Aires 113 | volumes: 114 | - ./transmission:/config 115 | - ./media/transmission/downloads:/downloads 116 | ports: 117 | - 9091:9091 118 | - 51413:51413 119 | - 51413:51413/udp 120 | restart: unless-stopped 121 | 122 | 123 | flaresolverr: 124 | container_name: flaresolverr 125 | image: ghcr.io/flaresolverr/flaresolverr:latest 126 | ports: 127 | - "8191:8191" 128 | environment: 129 | - LOG_LEVEL=info 130 | restart: unless-stopped -------------------------------------------------------------------------------- /Moodle/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | mariadb: 4 | image: bitnami/mariadb:latest 5 | container_name: moodle-db 6 | environment: 7 | - ALLOW_EMPTY_PASSWORD=yes 8 | - MARIADB_USER=bn_moodle 9 | - MARIADB_PASSWORD=bitnami 10 | - MARIADB_DATABASE=bitnami_moodle 11 | volumes: 12 | - ./moodle_db:/var/lib/mysql 13 | 14 | 15 | moodle: 16 | image: bitnami/moodle:latest 17 | container_name: moodle 18 | ports: 19 | - "8200:8080" 20 | - "8443:8443" 21 | environment: 22 | - ALLOW_EMPTY_PASSWORD=yes 23 | - MOODLE_DATABASE_USER=bn_moodle 24 | - MOODLE_DATABASE_PASSWORD=bitnami 25 | - MOODLE_DATABASE_NAME=bitnami_moodle 26 | - MOODLE_USERNAME=usuario 27 | - MOODLE_PASSWORD=c0ntr4s3n4 28 | volumes: 29 | - ./moodle_data:/bitnami/moodle 30 | - ./moodledata_data:/bitnami/moodledata 31 | depends_on: 32 | - mariadb 33 | 34 | -------------------------------------------------------------------------------- /MySQL/MySQL.env: -------------------------------------------------------------------------------- 1 | MYSQL_ROOT_PASSWORD=contraseñaroot 2 | MYSQL_DATABASE=basededatos 3 | MYSQL_USER=usuario 4 | MYSQL_PASSWORD=contraseña -------------------------------------------------------------------------------- /MySQL/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | mysql: 4 | image: mysql:5.7 5 | container_name: mysql 6 | env_file: MySQL.env 7 | volumes: 8 | - ./datos:/var/lib/mysql 9 | ports: 10 | - "3306:3306" 11 | restart: always -------------------------------------------------------------------------------- /NextCloud/comandos utiles.md: -------------------------------------------------------------------------------- 1 | # Comandos útiles para Nextcloud 2 | 3 | ## Abrir la terminal 4 | 5 | `docker exec -ti ConteinerIDdeDocker sh` 6 | 7 | ## Cambiar los Permisos de los archivos de las carpetas de los usuarios 8 | 9 | 1. ir a la carpeta donde se encuentran los datos de los usuarios
10 | `cd /var/www/html` 11 | 2. Cambiar los permisos de los archivos de los usuarios 644 (Con este permiso el propietario puede leer y escribir en el archivo mientras los demás solo pueden leer) o 777 (Esta opción permite que todos los usuarios puedan leer, escribir y ejecutar en el archivo o carpeta)
12 | `chmod -R 644 data`
13 | `chmod -R 777 data` 14 | 3. Con el siguiente comando se cambia el propietario de la carpeta `data` al usuario `www-data`
15 | `chown -R www-data data` 16 | 17 | ## Para que Nextcloud escanee los cambios en los archivos 18 | 19 | `docker exec -u www-data -it ConteinerIDdeDocker php occ files:scan --all` 20 |
o
21 | `docker exec -ti --user www-data ConteinerIDdeDocker /var/www/html/occ files:scan --all` 22 | 23 | 24 | -------------------------------------------------------------------------------- /NextCloud/config.env: -------------------------------------------------------------------------------- 1 | PUID=1000 2 | PGID=1000 3 | #TZ=America/Argentina 4 | MYSQL_ROOT_PASSWORD=Contraseña_Root_de_MariaDB #Contraseña de root de mariadb 5 | MYSQL_PASSWORD=Contraseña_de_MariaDB #Contraseña del usuario de la base de datos 6 | MYSQL_DATABASE=DatabaseDeMariaDB #Nombre de la base de datos 7 | MYSQL_USER=UsuarioDeMariaBD #Usuario de la base de datos 8 | MYSQL_HOST=mariadb #Nombre del contenedor de mariadb -------------------------------------------------------------------------------- /NextCloud/config.php: -------------------------------------------------------------------------------- 1 | '/', 4 | 'memcache.local' => '\\OC\\Memcache\\APCu', 5 | 'apps_paths' => 6 | array ( 7 | 0 => 8 | array ( 9 | 'path' => '/var/www/html/apps', 10 | 'url' => '/apps', 11 | 'writable' => false, 12 | ), 13 | 1 => 14 | array ( 15 | 'path' => '/var/www/html/custom_apps', 16 | 'url' => '/custom_apps', 17 | 'writable' => true, 18 | ), 19 | ), 20 | 'instanceid' => 'oc1q4fy2q7hd', 21 | 'passwordsalt' => 'Ouz8TXRIYZLsxwk+Ij130IwoCnzce0', 22 | 'secret' => '+merd+oB202AmA3lFGO9QKumyR4LmSJkhaOUSKFrbqmTSF7N', 23 | 'trusted_domains' => 24 | array ( 25 | 0 => 'localhost', 26 | 1 => 'Página-Propia-o-DDNS', 27 | 2 => '192.168.0.*', 28 | ), 29 | 'datadirectory' => '/var/www/html/data', 30 | 'dbtype' => 'mysql', 31 | 'version' => '26.0.3.2', 32 | 'overwrite.cli.url' => 'http://localhost', 33 | 'dbname' => 'nextcloud', 34 | 'dbhost' => 'mariadb', 35 | 'dbport' => '', 36 | 'dbtableprefix' => 'oc_', 37 | 'mysql.utf8mb4' => true, 38 | 'dbuser' => 'nextcloud', 39 | 'dbpassword' => 'ContraseñaDeNextCloud', 40 | 'installed' => true, 41 | 'skeletondirectory' => '', 42 | ); 43 | -------------------------------------------------------------------------------- /NextCloud/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nextcloud: 3 | image: nextcloud:production 4 | container_name: nextcloud 5 | env_file: 6 | - config.env 7 | volumes: 8 | - ./nextcloud/config:/var/www/html/config # Configuracion de nextcloud 9 | - ./nextcloud/data:/var/www/html/data # Datos de nextcloud 10 | ports: 11 | - 8081:80 #Puertos de acceso a la interfaz web. El primero es el puerto de la maquina host, el segundo es el puerto del contenedor 12 | depends_on: 13 | - mariadb 14 | restart: unless-stopped 15 | 16 | 17 | mariadb: 18 | image: linuxserver/mariadb 19 | container_name: mariadb 20 | env_file: 21 | - config.env 22 | volumes: 23 | - ./mariadb/config:/etc/mysql/conf.d 24 | - ./mariadb/data:/var/lib/mysql 25 | restart: unless-stopped 26 | -------------------------------------------------------------------------------- /Nginx/.gitignore: -------------------------------------------------------------------------------- 1 | data 2 | letsencrypt 3 | -------------------------------------------------------------------------------- /Nginx/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | # version: "3" 2 | 3 | services: 4 | 5 | app: 6 | image: 'jc21/nginx-proxy-manager:latest' 7 | restart: unless-stopped 8 | container_name: nginx 9 | ports: 10 | - '80:80' 11 | - '81:81' 12 | - '443:443' 13 | volumes: 14 | - ./data:/data 15 | - ./letsencrypt:/etc/letsencrypt 16 | 17 | # El usuario por defecto es admin@example.com 18 | # La contraseña por defecto es changeme 19 | 20 | -------------------------------------------------------------------------------- /Odoo/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: '3.3' 2 | 3 | services: 4 | 5 | odoo: 6 | image: odoo:latest 7 | container_name: odoo 8 | restart: unless-stopped 9 | links: 10 | - db:db 11 | depends_on: 12 | - db 13 | ports: 14 | - "8200:8069" 15 | volumes: 16 | - odoo-data:/var/lib/odoo 17 | - ./config:/etc/odoo 18 | - ./addons:/mnt/extra-addons 19 | 20 | db: 21 | image: postgres:14.0 22 | container_name: db 23 | restart: unless-stopped 24 | environment: 25 | - POSTGRES_DB=postgres 26 | - POSTGRES_PASSWORD=odoo 27 | - POSTGRES_USER=odoo 28 | - PGDATA=/var/lib/postgresql/data/pgdata 29 | volumes: 30 | - db-data:/var/lib/postgresql/data 31 | 32 | volumes: 33 | odoo-data: 34 | db-data: 35 | 36 | -------------------------------------------------------------------------------- /Ollama/.gitignore: -------------------------------------------------------------------------------- 1 | ollama/* 2 | -------------------------------------------------------------------------------- /Ollama/Modelfile: -------------------------------------------------------------------------------- 1 | FROM llama2 2 | 3 | # set the temperature to 1 [higher is more creative, lower is more coherent] 4 | PARAMETER temperature 1 5 | 6 | # set the system prompt 7 | SYSTEM """ 8 | You are Mario from Super Mario Bros. Answer as Mario, the assistant, only. 9 | """ 10 | -------------------------------------------------------------------------------- /Ollama/comandos.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | curl http://localhost:11434/api/generate -d '{ 5 | "model": "llama2", 6 | "prompt":"tell me a joke", 7 | "stream": false 8 | }' 9 | 10 | docker-compose up -d 11 | -------------------------------------------------------------------------------- /Ollama/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | chatgpt: 4 | image: ghcr.io/ivanfioravanti/chatbot-ollama:main 5 | ports: 6 | - 3000:3000 7 | environment: 8 | - DEFAULT_MODEL=llama2 9 | - OLLAMA_HOST=http://ollama:11434 10 | 11 | ollama: 12 | image: ollama/ollama:latest 13 | volumes: 14 | - ./ollama/models:/ollama/models 15 | environment: 16 | - OLLAMA_MODELS=/ollama/models 17 | 18 | open-webui: 19 | image: ghcr.io/open-webui/open-webui:main 20 | ports: 21 | - 3001:8080 22 | volumes: 23 | - ./open-webui-data:/app/backend/data 24 | extra_hosts: 25 | - "host.docker.internal:host-gateway" 26 | restart: always 27 | 28 | 29 | # La version actual de chatbot-ollama no descarga el modelo automaticamente 30 | # Vas a tener que correr este comando cada vez que necesites un modelo nuevo: 31 | # docker-compose exec ollama ollama pull llama2 32 | -------------------------------------------------------------------------------- /Ollama/main.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import json 3 | import gradio as gr 4 | 5 | url = "http://localhost:11434/api/generate" 6 | 7 | headers = { 8 | 'Content-Type': 'application/json', 9 | } 10 | 11 | conversation_history = [] 12 | 13 | def generate_response(prompt): 14 | conversation_history.append(prompt) 15 | 16 | full_prompt = "\n".join(conversation_history) 17 | 18 | data = { 19 | "model": "mistral", 20 | "stream": False, 21 | "prompt": full_prompt, 22 | } 23 | 24 | response = requests.post(url, headers=headers, data=json.dumps(data)) 25 | 26 | if response.status_code == 200: 27 | response_text = response.text 28 | data = json.loads(response_text) 29 | actual_response = data["response"] 30 | conversation_history.append(actual_response) 31 | return actual_response 32 | else: 33 | print("Error:", response.status_code, response.text) 34 | return None 35 | 36 | iface = gr.Interface( 37 | fn=generate_response, 38 | inputs=gr.inputs.Textbox(lines=2, placeholder="Enter your prompt here..."), 39 | outputs="text" 40 | ) 41 | 42 | iface.launch() 43 | -------------------------------------------------------------------------------- /Pgadmin/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.8' 2 | 3 | services: 4 | pgadmin: 5 | image: dpage/pgadmin4 6 | ports: 7 | - "8080:80" 8 | environment: 9 | PGADMIN_DEFAULT_EMAIL: "Admin@hotmail.com" 10 | PGADMIN_DEFAULT_PASSWORD: "Admin" 11 | -------------------------------------------------------------------------------- /Pihole/comandos.txt: -------------------------------------------------------------------------------- 1 | systemctl disable systemd-resolved.service 2 | systemctl stop systemd-resolved 3 | 4 | 5 | -------------------------------------------------------------------------------- /Pihole/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | pihole: 4 | container_name: pihole 5 | image: pihole/pihole:v5.7 6 | expose: 7 | - "53" 8 | - "67" 9 | - "80" 10 | - "443" 11 | environment: 12 | TZ: 'America/Mendoza' 13 | WEBPASSWORD: 'Agustin' 14 | volumes: 15 | - ./etc-pihole/:/etc/pihole/ 16 | - ./etc-dnsmasq.d/:/etc/dnsmasq.d/ 17 | cap_add: 18 | - NET_ADMIN 19 | restart: unless-stopped -------------------------------------------------------------------------------- /Portainer/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | portainer: 4 | image: portainer/portainer-ce 5 | container_name: portainer 6 | command: -H unix:///var/run/docker.sock 7 | ports: 8 | - "9090:9000" 9 | volumes: 10 | - "/var/run/docker.sock:/var/run/docker.sock" 11 | - "./portainer_data:/data" 12 | restart: always -------------------------------------------------------------------------------- /Postgress/.gitignore: -------------------------------------------------------------------------------- 1 | postgresData 2 | -------------------------------------------------------------------------------- /Postgress/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.9' 2 | 3 | services: 4 | postgres: 5 | image: postgres:14-alpine 6 | container_name: postgres-DB 7 | ports: 8 | - 5432:5432 9 | volumes: 10 | - ./postgresData:/var/lib/postgresql/data 11 | env_file: 12 | - postgres.env 13 | restart: unless-stopped 14 | 15 | duckdns: 16 | image: lscr.io/linuxserver/duckdns:latest 17 | container_name: postgres-duckdns 18 | env_file: 19 | - duckdns.env 20 | #volumes: 21 | # - ./duckdns:/config #optional 22 | restart: unless-stopped 23 | -------------------------------------------------------------------------------- /Postgress/duckdns.env: -------------------------------------------------------------------------------- 1 | PUID=1000 #optional 2 | PGID=1000 #optional 3 | TZ=America/Argentina #optional 4 | SUBDOMAINS=Subdominio_de_DuckDNS #subdominio de duckdns, separados por comas 5 | TOKEN=Token_de_DuckDNS #token de duckdns 6 | LOG_FILE=false #optional -------------------------------------------------------------------------------- /Postgress/postgres.env: -------------------------------------------------------------------------------- 1 | POSTGRES_PASSWORD=Contraseña 2 | POSTGRES_USER=Usuario 3 | POSTGRES_DB=BaseDeDatos -------------------------------------------------------------------------------- /Remmina/.gitignore: -------------------------------------------------------------------------------- 1 | configuraciones 2 | -------------------------------------------------------------------------------- /Remmina/Docker-compose.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: "2.1" 3 | services: 4 | remmina: 5 | image: lscr.io/linuxserver/remmina:latest 6 | container_name: remmina 7 | environment: 8 | - PUID=1000 9 | - PGID=1000 10 | - TZ=Etc/UTC 11 | volumes: 12 | - ./configuraciones:/config 13 | ports: 14 | - 3000:3000 15 | - 3001:3001 16 | restart: unless-stopped -------------------------------------------------------------------------------- /Rustdesk/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | 4 | hbbs: 5 | image: rustdesk/rustdesk-server 6 | container_name: hbbs 7 | ports: 8 | - "21115:21115" 9 | - "21116:21116" 10 | - "21116:21116/udp" 11 | - "21118:21118" 12 | volumes: 13 | - .:/root 14 | network_mode: "host" # Utilizan la red del host 15 | command: hbbs -r # Asegúrate de reemplazar con el valor correcto ej:192.168.0.10:21117 16 | tty: true 17 | 18 | 19 | hbbr: 20 | image: rustdesk/rustdesk-server 21 | container_name: hbbr 22 | ports: 23 | - "21117:21117" 24 | - "21119:21119" 25 | volumes: 26 | - .:/root 27 | network_mode: "host" # Utilizan la red del host 28 | command: hbbr 29 | tty: true -------------------------------------------------------------------------------- /SQLite-browser/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | sqlitebrowser: 4 | image: coleifer/sqlite-web 5 | ports: 6 | - "Puerto-que-quieras-usar-en-el-host:8080" 7 | volumes: 8 | - path-de-la-db-de-SQLite:/data 9 | environment: 10 | - SQLITE_DATABASE="nombre-de-la-db.db" -------------------------------------------------------------------------------- /Seafile/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | db: 4 | image: mariadb:10.11 5 | container_name: seafile-mysql 6 | environment: 7 | - MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service. 8 | - MYSQL_LOG_CONSOLE=true 9 | - MARIADB_AUTO_UPGRADE=1 10 | volumes: 11 | - ./seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store. 12 | networks: 13 | - seafile-net 14 | 15 | 16 | memcached: 17 | image: memcached:1.6.18 18 | container_name: seafile-memcached 19 | entrypoint: memcached -m 256 20 | networks: 21 | - seafile-net 22 | 23 | 24 | seafile: 25 | image: seafileltd/seafile-mc:11.0-latest 26 | container_name: seafile 27 | ports: 28 | - "3080:80" 29 | # - "443:443" # If https is enabled, cancel the comment. 30 | volumes: 31 | - ./seafile-data:/shared # Requested, specifies the path to Seafile data persistent store. 32 | environment: 33 | - DB_HOST=db 34 | - DB_ROOT_PASSWD=db_dev # Requested, the value should be root's password of MySQL service. 35 | - TIME_ZONE=Etc/UTC # Optional, default is UTC. Should be uncomment and set to your local time zone. 36 | - SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'. 37 | - SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret'. 38 | - SEAFILE_SERVER_LETSENCRYPT=false # Whether to use https or not. 39 | - SEAFILE_SERVER_HOSTNAME=docs.seafile.com # Specifies your host name if https is enabled. 40 | depends_on: 41 | - db 42 | - memcached 43 | networks: 44 | - seafile-net 45 | 46 | networks: 47 | seafile-net: 48 | -------------------------------------------------------------------------------- /Wireguard-Pihole/comandos.txt: -------------------------------------------------------------------------------- 1 | systemctl disable systemd-resolved.service 2 | systemctl stop systemd-resolved 3 | 4 | 5 | -------------------------------------------------------------------------------- /Wireguard-Pihole/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | wireguard: 3 | image: linuxserver/wireguard 4 | container_name: wireguard 5 | cap_add: 6 | - NET_ADMIN 7 | - SYS_MODULE 8 | environment: 9 | - PUID=1000 10 | - PGID=1000 11 | - TZ=America/Argentina/Buenos_Aires 12 | - SERVERPORT=51820 #optional 13 | - PEERS=10 #optional 14 | - PEERDNS=auto #optional 15 | - INTERNAL_SUBNET=10.13.13.0 #optional 16 | volumes: 17 | - ./root/wireguard:/config 18 | - ./lib/modules:/lib/modules 19 | - ./usr/src:/usr/src 20 | ports: 21 | - 51820:51820/udp 22 | sysctls: 23 | - net.ipv4.conf.all.src_valid_mark=1 24 | dns: 25 | - 172.20.0.7 26 | restart: unless-stopped 27 | networks: 28 | containers: 29 | ipv4_address: 172.20.0.6 30 | 31 | pihole: 32 | container_name: pihole 33 | image: pihole/pihole:v5.7 34 | expose: 35 | - "53" 36 | - "67" 37 | - "80" 38 | - "443" 39 | environment: 40 | TZ: 'America/Mendoza' 41 | WEBPASSWORD: 'peladonerd' 42 | volumes: 43 | - ./etc-pihole/:/etc/pihole/ 44 | - ./etc-dnsmasq.d/:/etc/dnsmasq.d/ 45 | cap_add: 46 | - NET_ADMIN 47 | restart: unless-stopped 48 | networks: 49 | containers: 50 | ipv4_address: 172.20.0.7 51 | 52 | networks: 53 | containers: 54 | ipam: 55 | config: 56 | - subnet: 172.20.0.0/24 57 | -------------------------------------------------------------------------------- /WordPress/.env.example: -------------------------------------------------------------------------------- 1 | WORDPRESS_DB_HOST: db 2 | WORDPRESS_DB_USER: exampleuser 3 | WORDPRESS_DB_PASSWORD: examplepass 4 | WORDPRESS_DB_NAME: exampledb 5 | 6 | MYSQL_DATABASE: exampledb 7 | MYSQL_USER: exampleuser 8 | MYSQL_PASSWORD: examplepass 9 | MYSQL_RANDOM_ROOT_PASSWORD: '1' -------------------------------------------------------------------------------- /WordPress/.gitignore: -------------------------------------------------------------------------------- 1 | wordpress 2 | db 3 | -------------------------------------------------------------------------------- /WordPress/compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | wordpress: 4 | image: wordpress:latest 5 | restart: always 6 | ports: 7 | - 8080:80 8 | env_file: 9 | - .env 10 | volumes: 11 | - ./wordpress:/var/www/html 12 | 13 | db: 14 | image: mysql:5.7 15 | restart: always 16 | env_file: 17 | - .env 18 | volumes: 19 | - ./db:/var/lib/mysql 20 | -------------------------------------------------------------------------------- /claude-rpa/.env: -------------------------------------------------------------------------------- 1 | ANTHROPIC_API_KEY="Tu-API-KEY" -------------------------------------------------------------------------------- /claude-rpa/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | anthropic: 3 | image: ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest 4 | ports: 5 | - "5900:5900" 6 | - "8501:8501" 7 | - "6080:6080" 8 | - "8080:8080" 9 | env_file: 10 | - .env 11 | volumes: 12 | - ./anthropic:/home/computeruse/.anthropic 13 | - ./tmp:/tmp 14 | tty: true 15 | -------------------------------------------------------------------------------- /docker-post-instalation.sh: -------------------------------------------------------------------------------- 1 | sudo groupadd docker 2 | sudo usermod -aG docker $USER 3 | newgrp docker 4 | -------------------------------------------------------------------------------- /evolution-api-postgres/compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | postgres: 4 | container_name: evolution_postgres 5 | image: postgres:13 6 | restart: unless-stopped 7 | volumes: 8 | - ./evolution_postgres:/var/lib/postgresql/data 9 | env_file: 10 | - db.env 11 | 12 | 13 | api: 14 | container_name: evolution_api 15 | image: atendai/evolution-api 16 | restart: unless-stopped 17 | ports: 18 | - 8081:8080 19 | volumes: 20 | - ./evolution_instances:/evolution/instances 21 | - ./evolution_store:/evolution/store 22 | env_file: 23 | - evolution.env 24 | command: ['node', './dist/src/main.js'] 25 | expose: 26 | - 8081 27 | depends_on: 28 | - postgres -------------------------------------------------------------------------------- /evolution-api-postgres/db.env: -------------------------------------------------------------------------------- 1 | POSTGRES_DB=evolution 2 | POSTGRES_USER=tu-usuario 3 | POSTGRES_PASSWORD=tu-contraseña-super-segura 4 | -------------------------------------------------------------------------------- /evolution-api-postgres/evolution.env: -------------------------------------------------------------------------------- 1 | # Server URL - Set your application url 2 | #SERVER_URL=http://localhost:8080 3 | SERVER_URL=http://localhost:8081 4 | 5 | # Cors - * for all or set separate by commas - ex.: 'yourdomain1.com, yourdomain2.com' 6 | CORS_ORIGIN=* 7 | CORS_METHODS=POST,GET,PUT,DELETE 8 | CORS_CREDENTIALS=true 9 | 10 | # Determine the logs to be displayed 11 | LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS 12 | LOG_COLOR=true 13 | # Log Baileys - "fatal" | "error" | "warn" | "info" | "debug" | "trace" 14 | LOG_BAILEYS=error 15 | 16 | # Determine how long the instance should be deleted from memory in case of no connection. 17 | # Default time: 5 minutes 18 | # If you don't even want an expiration, enter the value false 19 | DEL_INSTANCE=false 20 | DEL_TEMP_INSTANCES=true # Delete instances with status closed on start 21 | 22 | # Temporary data storage 23 | STORE_MESSAGES=false 24 | STORE_MESSAGE_UP=false 25 | STORE_CONTACTS=false 26 | STORE_CHATS=false 27 | 28 | # Set Store Interval in Seconds (7200 = 2h) 29 | CLEAN_STORE_CLEANING_INTERVAL=7200 30 | CLEAN_STORE_MESSAGES=true 31 | CLEAN_STORE_MESSAGE_UP=true 32 | CLEAN_STORE_CONTACTS=true 33 | CLEAN_STORE_CHATS=true 34 | 35 | # Provider: postgresql | mysql 36 | DATABASE_PROVIDER=postgresql 37 | DATABASE_CONNECTION_URI='postgresql://tu-usuario:tu-contraseña-super-segura@postgres:5432/evolution' 38 | # Client name for the database connection 39 | # It is used to separate an API installation from another that uses the same database. 40 | DATABASE_CONNECTION_CLIENT_NAME=evolution_exchange 41 | 42 | # Choose the data you want to save in the application's database 43 | DATABASE_SAVE_DATA_INSTANCE=true 44 | DATABASE_SAVE_DATA_NEW_MESSAGE=true 45 | DATABASE_SAVE_MESSAGE_UPDATE=true 46 | DATABASE_SAVE_DATA_CONTACTS=true 47 | DATABASE_SAVE_DATA_CHATS=true 48 | DATABASE_SAVE_DATA_LABELS=true 49 | DATABASE_SAVE_DATA_HISTORIC=true 50 | DATABASE_SAVE_IS_ON_WHATSAPP=true 51 | DATABASE_SAVE_IS_ON_WHATSAPP_DAYS=7 52 | DATABASE_DELETE_MESSAGE=true 53 | 54 | RABBITMQ_ENABLED=false 55 | RABBITMQ_URI=amqp://guest:guest@rabbitmq:5672 56 | RABBITMQ_EXCHANGE_NAME=evolution_exchange 57 | RABBITMQ_GLOBAL_ENABLED=false 58 | RABBITMQ_EVENTS_APPLICATION_STARTUP=false 59 | RABBITMQ_EVENTS_QRCODE_UPDATED=true 60 | RABBITMQ_EVENTS_MESSAGES_SET=true 61 | RABBITMQ_EVENTS_MESSAGES_UPSERT=true 62 | RABBITMQ_EVENTS_MESSAGES_UPDATE=true 63 | RABBITMQ_EVENTS_MESSAGES_DELETE=true 64 | RABBITMQ_EVENTS_SEND_MESSAGE=true 65 | RABBITMQ_EVENTS_CONTACTS_SET=true 66 | RABBITMQ_EVENTS_CONTACTS_UPSERT=true 67 | RABBITMQ_EVENTS_CONTACTS_UPDATE=true 68 | RABBITMQ_EVENTS_PRESENCE_UPDATE=true 69 | RABBITMQ_EVENTS_CHATS_SET=true 70 | RABBITMQ_EVENTS_CHATS_UPSERT=true 71 | RABBITMQ_EVENTS_CHATS_UPDATE=true 72 | RABBITMQ_EVENTS_CHATS_DELETE=true 73 | RABBITMQ_EVENTS_GROUPS_UPSERT=true 74 | RABBITMQ_EVENTS_GROUPS_UPDATE=true 75 | RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE=true 76 | RABBITMQ_EVENTS_CONNECTION_UPDATE=true 77 | RABBITMQ_EVENTS_LABELS_EDIT=true 78 | RABBITMQ_EVENTS_LABELS_ASSOCIATION=true 79 | RABBITMQ_EVENTS_CALL=true 80 | RABBITMQ_EVENTS_TYPEBOT_START=false 81 | RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS=false 82 | 83 | WEBSOCKET_ENABLED=false 84 | WEBSOCKET_GLOBAL_EVENTS=false 85 | 86 | WA_BUSINESS_TOKEN_WEBHOOK=evolution 87 | WA_BUSINESS_URL=https://graph.facebook.com 88 | WA_BUSINESS_VERSION=v18.0 89 | WA_BUSINESS_LANGUAGE=pt_BR 90 | 91 | SQS_ENABLED=false 92 | SQS_ACCESS_KEY_ID= 93 | SQS_SECRET_ACCESS_KEY= 94 | SQS_ACCOUNT_ID= 95 | SQS_REGION= 96 | 97 | # Global Webhook Settings 98 | # Each instance's Webhook URL and events will be requested at the time it is created 99 | ## Define a global webhook that will listen for enabled events from all instances 100 | WEBHOOK_GLOBAL_URL='' 101 | WEBHOOK_GLOBAL_ENABLED=false 102 | # With this option activated, you work with a url per webhook event, respecting the global url and the name of each event 103 | WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false 104 | ## Set the events you want to hear 105 | WEBHOOK_EVENTS_APPLICATION_STARTUP=false 106 | WEBHOOK_EVENTS_QRCODE_UPDATED=true 107 | WEBHOOK_EVENTS_MESSAGES_SET=true 108 | WEBHOOK_EVENTS_MESSAGES_UPSERT=true 109 | WEBHOOK_EVENTS_MESSAGES_UPDATE=true 110 | WEBHOOK_EVENTS_MESSAGES_DELETE=true 111 | WEBHOOK_EVENTS_SEND_MESSAGE=true 112 | WEBHOOK_EVENTS_CONTACTS_SET=true 113 | WEBHOOK_EVENTS_CONTACTS_UPSERT=true 114 | WEBHOOK_EVENTS_CONTACTS_UPDATE=true 115 | WEBHOOK_EVENTS_PRESENCE_UPDATE=true 116 | WEBHOOK_EVENTS_CHATS_SET=true 117 | WEBHOOK_EVENTS_CHATS_UPSERT=true 118 | WEBHOOK_EVENTS_CHATS_UPDATE=true 119 | WEBHOOK_EVENTS_CHATS_DELETE=true 120 | WEBHOOK_EVENTS_GROUPS_UPSERT=true 121 | WEBHOOK_EVENTS_GROUPS_UPDATE=true 122 | WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true 123 | WEBHOOK_EVENTS_CONNECTION_UPDATE=true 124 | WEBHOOK_EVENTS_LABELS_EDIT=true 125 | WEBHOOK_EVENTS_LABELS_ASSOCIATION=true 126 | WEBHOOK_EVENTS_CALL=true 127 | # This event fires every time a new token is requested via the refresh route 128 | WEBHOOK_EVENTS_NEW_JWT_TOKEN=false 129 | # This events is used with Typebot 130 | WEBHOOK_EVENTS_TYPEBOT_START=false 131 | WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS=false 132 | # This event is used with Chama AI 133 | WEBHOOK_EVENTS_CHAMA_AI_ACTION=false 134 | # This event is used to send errors 135 | WEBHOOK_EVENTS_ERRORS=false 136 | WEBHOOK_EVENTS_ERRORS_WEBHOOK= 137 | 138 | # Name that will be displayed on smartphone connection 139 | CONFIG_SESSION_PHONE_CLIENT=EvolutionAPI 140 | # Browser Name = Chrome | Firefox | Edge | Opera | Safari 141 | CONFIG_SESSION_PHONE_NAME=Chrome 142 | # Browser Version 143 | CONFIG_SESSION_PHONE_VERSION=2.3000.1019736753 #Tu Version del WhatsappWeb 144 | 145 | # Set qrcode display limit 146 | QRCODE_LIMIT=30 147 | QRCODE_COLOR='#198754' 148 | 149 | # old | latest 150 | TYPEBOT_API_VERSION=latest 151 | TYPEBOT_KEEP_OPEN=false 152 | 153 | #Chatwoot 154 | # If you leave this option as false, when deleting the message for everyone on WhatsApp, it will not be deleted on Chatwoot. 155 | CHATWOOT_MESSAGE_DELETE=false # false | true 156 | # If you leave this option as true, when sending a message in Chatwoot, the client's last message will be marked as read on WhatsApp. 157 | CHATWOOT_MESSAGE_READ=false # false | true 158 | # This db connection is used to import messages from whatsapp to chatwoot database 159 | CHATWOOT_IMPORT_DATABASE_CONNECTION_URI=postgres://user:password@hostname:port/dbname?sslmode=disable 160 | CHATWOOT_IMPORT_DATABASE_PLACEHOLDER_MEDIA_MESSAGE=true 161 | 162 | CACHE_REDIS_ENABLED=false 163 | CACHE_REDIS_URI=redis://redis:6379 164 | CACHE_REDIS_PREFIX_KEY=evolution 165 | CACHE_REDIS_TTL=604800 166 | CACHE_REDIS_SAVE_INSTANCES=false 167 | CACHE_LOCAL_ENABLED=false 168 | CACHE_LOCAL_TTL=604800 169 | 170 | # Defines an authentication type for the api 171 | # We recommend using the apikey because it will allow you to use a custom token, 172 | # if you use jwt, a random token will be generated and may be expired and you will have to generate a new token 173 | # jwt or 'apikey' 174 | AUTHENTICATION_TYPE=apikey 175 | ## Define a global apikey to access all instances. 176 | ### OBS: This key must be inserted in the request header to create an instance. 177 | AUTHENTICATION_API_KEY=tu-clave-API-super-secreta 178 | AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true 179 | ## Set the secret key to encrypt and decrypt your token and its expiration time 180 | # seconds - 3600s ===1h | zero (0) - never expires 181 | AUTHENTICATION_JWT_EXPIRIN_IN=0 182 | AUTHENTICATION_JWT_SECRET='L=0YWt]b2w[WF>#>:&E`' 183 | 184 | LANGUAGE=en # pt-BR, en 185 | -------------------------------------------------------------------------------- /filebrowser/compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | filebrowser: 4 | image: hurlenko/filebrowser:latest 5 | container_name: filebrowser 6 | environment: 7 | - PUID=1000 8 | - PGID=1000 9 | - TZ=Europe/Madrid 10 | - FB_BASEURL=/filebrowser 11 | ports: 12 | - "8200:8080" 13 | volumes: 14 | - ./fb-data:/data 15 | - ./fb-config:/config 16 | - ./music:/data/music 17 | - ./movies:/data/movies 18 | - ./photos:/data/photos 19 | restart: unless-stopped 20 | 21 | # Usuario y Pass = admin -------------------------------------------------------------------------------- /gitlab/compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | gitlab: 4 | image: gitlab/gitlab-ce:latest 5 | container_name: gitlab 6 | restart: unless-stopped 7 | environment: 8 | GITLAB_ROOT_EMAIL: "admin@example.com" # Cambiar por e-mail válido 9 | GITLAB_ROOT_PASSWORD: "p4ssw0rd" # Cambiar 10 | GITLAB_OMNIBUS_CONFIG: | 11 | gitlab_rails['gitlab_shell_ssh_port'] = 2424 12 | ports: 13 | - '8200:80' 14 | - '8443:443' 15 | - '2424:22' 16 | volumes: 17 | - './gitlab/config:/etc/gitlab' 18 | - './gitlab/logs:/var/log/gitlab' 19 | - './gitlab/data:/var/opt/gitlab' 20 | shm_size: '256m' 21 | deploy: 22 | resources: 23 | limits: 24 | memory: 6g 25 | -------------------------------------------------------------------------------- /list-volumes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | volumes=$(docker volume ls --format '{{.Name}}') 4 | 5 | for volume in $volumes 6 | do 7 | echo $volume 8 | docker ps -a --filter volume="$volume" --format '{{.Names}}' | sed 's/^/ /' 9 | done -------------------------------------------------------------------------------- /minio/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | minio: 4 | image: minio/minio:RELEASE.2023-12-23T07-19-11Z-cpuv1 5 | container_name: minio 6 | environment: 7 | - MINIO_ROOT_USER=User 8 | - MINIO_ROOT_PASSWORD=p4ssw0rd 9 | ports: 10 | - "9000:9000" 11 | - "9001:9001" 12 | restart: unless-stopped 13 | volumes: 14 | - ./minio_data:/data 15 | command: server /data --console-address ":9001" 16 | -------------------------------------------------------------------------------- /n8n/.env.example: -------------------------------------------------------------------------------- 1 | GENERIC_TIMEZONE=Europe/Madrid 2 | TZ=Europe/Madrid 3 | N8N_QUEUE_TYPE=redis 4 | N8N_QUEUE_HOST=redis 5 | N8N_QUEUE_PORT=6379 6 | N8N_QUEUE_NAME=n8n 7 | N8N_BASIC_AUTH_USER=Administrador 8 | N8N_BASIC_AUTH_PASSWORD=Agustin 9 | N8N_SECURE_COOKIE=false 10 | 11 | MYSQL_ROOT_PASSWORD=password 12 | MYSQL_DATABASE=n8n 13 | MYSQL_USER=n8n 14 | MYSQL_PASSWORD=password -------------------------------------------------------------------------------- /n8n/compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | n8n: 4 | image: n8nio/n8n:latest 5 | container_name: n8n 6 | restart: unless-stopped 7 | ports: 8 | - "5678:5678" 9 | env_file: 10 | - .env 11 | volumes: 12 | - n8n_data:/home/node/.n8n 13 | - ./local_files:/files 14 | depends_on: 15 | - mysql 16 | - redis 17 | 18 | mysql: 19 | image: mariadb:latest 20 | container_name: n8n-db 21 | restart: unless-stopped 22 | env_file: 23 | - .env 24 | volumes: 25 | - ./db_data:/var/lib/mysql 26 | 27 | redis: 28 | image: redis:latest 29 | container_name: n8n-redis 30 | restart: unless-stopped 31 | volumes: 32 | - ./redis_storage:/data 33 | 34 | volumes: 35 | n8n_data: 36 | -------------------------------------------------------------------------------- /nocodb/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | nocodb: 4 | image: "nocodb/nocodb:latest" 5 | depends_on: 6 | - db 7 | # condition: service_healthy 8 | environment: 9 | NC_DB: "pg://db:5432?u=postgres&p=password&d=rootdb" 10 | ports: 11 | - "8080:8080" 12 | restart: always 13 | volumes: 14 | - "nc_data:/usr/app/data" 15 | 16 | db: 17 | image: postgres:16.6 18 | environment: 19 | POSTGRES_DB: rootdb 20 | POSTGRES_PASSWORD: password 21 | POSTGRES_USER: postgres 22 | healthcheck: 23 | interval: 10s 24 | retries: 10 25 | test: "pg_isready -U \"$$POSTGRES_USER\" -d \"$$POSTGRES_DB\"" 26 | timeout: 2s 27 | restart: always 28 | volumes: 29 | - "db_data:/var/lib/postgresql/data" 30 | 31 | volumes: 32 | db_data: {} 33 | nc_data: {} -------------------------------------------------------------------------------- /poste/docker-compose - copia.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | mailserver: 4 | image: analogic/poste.io 5 | container_name: mailserver 6 | restart: unless-stopped 7 | network_mode: "host" 8 | expose: 9 | - "25" 10 | - "7080" 11 | - "7443" 12 | - "110" 13 | - "143" 14 | - "465" 15 | - "587" 16 | - "993" 17 | - "995" 18 | environment: 19 | - TZ=America/Argentina/Buenos_Aires 20 | - h=mail.mrbot.com.ar # Dirección del servidor de mail hosting 21 | - HTTP_PORT=7080 22 | - HTTPS_PORT=7443 23 | - DISABLE_CLAMAV=FALSE # TRUE antivirus 24 | - DISABLE_RSPAMD=FALSE # TRUE antispam 25 | - DISABLE_ROUNDCUBE=FALSE # TRUE 26 | volumes: 27 | - ./mail:/data -------------------------------------------------------------------------------- /poste/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | poste: 4 | image: analogic/poste.io 5 | restart: always 6 | network_mode: host 7 | volumes: 8 | - ./mail-data:/data 9 | environment: 10 | - HTTPS=ON -------------------------------------------------------------------------------- /wg-easy/.env: -------------------------------------------------------------------------------- 1 | LANG=en 2 | WG_HOST="host de tu VPS, puede ser la IP" 3 | PASSWORD_HASH="tu contraseña hasheada que se obtiene con: `docker run ghcr.io/wg-easy/wg-easy wgpw tu-contraseña`" 4 | PORT=51821 5 | WG_PORT=51820 6 | -------------------------------------------------------------------------------- /wg-easy/docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | 3 | wg-easy: 4 | image: ghcr.io/wg-easy/wg-easy 5 | container_name: wg-easy 6 | env_file: 7 | - .env 8 | volumes: 9 | - ~/.wg-easy:/etc/wireguard 10 | ports: 11 | - "51820:51820/udp" 12 | - "51821:51821/tcp" 13 | cap_add: 14 | - NET_ADMIN 15 | - SYS_MODULE 16 | sysctls: 17 | - net.ipv4.conf.all.src_valid_mark=1 18 | - net.ipv4.ip_forward=1 19 | restart: unless-stopped 20 | --------------------------------------------------------------------------------