diff --git a/README.md b/README.md index 465dbc1b0..4a2f48444 100644 --- a/README.md +++ b/README.md @@ -282,7 +282,6 @@ A [pastebin](https://en.wikipedia.org/wiki/Pastebin) is a type of online content - [Gokapi](examples/gokapi) - Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported. - [Projectsend](examples/projectsend) - ProjectSend is a free, open source software that lets you share files with your clients, focused on ease of use and privacy. It supports clients groups, system users roles, statistics, multiple languages, detailed logs and much more! - [Pwndrop](examples/pwndrop) - pwndrop is a self-deployable file hosting service for sending out red teaming payloads or securely sharing your private files over HTTP and WebDAV. -- [Droppy](examples/droppy) (deprecated) - droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. It is particularly well-suited to be run on low-end hardware like the Raspberry Pi. - [PairDrop](examples/pairdrop) - PairDrop is a sublime alternative to AirDrop that works on all platforms. Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices. - [MinIO](examples/minio) - MinIO is an object storage server, compatible with Amazon S3 cloud storage service, mainly used for storing unstructured data (such as photos, videos, log files, etc.). - [Transfer.sh](examples/transfer.sh) - Easy and fast file sharing from the command-line. @@ -370,7 +369,6 @@ Software that helps to increase security and privacy. - [CrowdSec](examples/crowdsec) - The open-source and participative security solution offering crowdsourced protection against malicious IPs and access to the most advanced real-world CTI. - [Tor-Browser](examples/tor-browser) - Running a Tor browser instance on any headless server. - [Firefox](examples/firefox) - Firefox by linuxserver.io allows you to run the popular Firefox web broser on a remote server. -- [Bibliogram](examples/bibliogram) (deprecated) - Bibliogram is a private front-end frontend to Instagram, similar to Invidous. - [Nitter](examples/nitter) - Nitter is an alternative front-end to Twitter, and was inspired by Invidious. - [Unify Network Application](examples/unify-network-application) - The Unifi-network-application software is a powerful, enterprise wireless software engine ideal for high-density client deployments requiring low latency and high uptime performance. diff --git a/examples/adguard-home-sync/docker-compose.yml b/examples/adguard-home-sync/docker-compose.yml index 14d592daf..26c7a44e3 100644 --- a/examples/adguard-home-sync/docker-compose.yml +++ b/examples/adguard-home-sync/docker-compose.yml @@ -1,5 +1,5 @@ -version: "2.1" services: + adguardhome-sync: image: linuxserver/adguardhome-sync container_name: adguardhome-sync @@ -18,4 +18,4 @@ services: - PGID=1000 restart: unless-stopped volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/adguard-home-sync:/config + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/adguard-home-sync:/config \ No newline at end of file diff --git a/examples/adguard-home/docker-compose.yml b/examples/adguard-home/docker-compose.yml index 193a761f6..95b0f5c2b 100644 --- a/examples/adguard-home/docker-compose.yml +++ b/examples/adguard-home/docker-compose.yml @@ -1,10 +1,9 @@ -version: "3" - services: + adguard: + image: adguard/adguardhome:latest container_name: adguard hostname: adguard - image: adguard/adguardhome:latest ports: - 3000:3000/tcp # only required during initial setup - 8080:80/tcp # web interface after setup diff --git a/examples/answer/docker-compose.yml b/examples/answer/docker-compose.yml index 3e70826b6..99adc7279 100644 --- a/examples/answer/docker-compose.yml +++ b/examples/answer/docker-compose.yml @@ -1,11 +1,10 @@ -version: "3" - services: + answer: - container_name: answer image: answerdev/answer + container_name: answer ports: - - '9080:80' + - 9080:80 expose: - 80 restart: unless-stopped diff --git a/examples/archivebox/docker-compose.yml b/examples/archivebox/docker-compose.yml index 740c49d0e..4cabd33d2 100644 --- a/examples/archivebox/docker-compose.yml +++ b/examples/archivebox/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.9" - services: + archivebox: image: archivebox/archivebox:dev container_name: archivebox diff --git a/examples/arr-suite/docker-compose.yml b/examples/arr-suite/docker-compose.yml index 2f0cf44f4..a5fd5e4a8 100644 --- a/examples/arr-suite/docker-compose.yml +++ b/examples/arr-suite/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3.6" - services: # image used to index torrent links from the internet diff --git a/examples/authelia/docker-compose.yml b/examples/authelia/docker-compose.yml index 191c343f7..512e04f5a 100644 --- a/examples/authelia/docker-compose.yml +++ b/examples/authelia/docker-compose.yml @@ -1,13 +1,10 @@ -version: '3.3' - services: + authelia: image: authelia/authelia container_name: authelia volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/authelia/config:/config - networks: - - proxy labels: - 'traefik.enable=true' - 'traefik.http.routers.authelia.rule=Host(`auth.example.com`)' # replace with your domain name @@ -15,11 +12,15 @@ services: - 'traefik.http.middlewares.authelia.forwardauth.address=http://authelia:9091/api/verify?rd=https://auth.example.com' # replace with your domain name - 'traefik.http.middlewares.authelia.forwardauth.trustForwardHeader=true' - 'traefik.http.middlewares.authelia.forwardauth.authResponseHeaders=Remote-User,Remote-Groups,Remote-Name,Remote-Email' # yamllint disable-line rule:line-length + ports: + - 9091:9091/tcp expose: - 9091 restart: unless-stopped environment: - TZ=Europe/Berlin + #networks: + # - proxy redis: image: redis:alpine @@ -27,14 +28,14 @@ services: command: redis-server --requirepass SuperSecureRedisAuthPassword # also reflect this in the authelia config file volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/authelia/redis:/data - networks: - - proxy expose: - 6379 restart: unless-stopped environment: - TZ=Europe/Berlin + #networks: + # - proxy -networks: - proxy: - external: true +#networks: +# proxy: +# external: true \ No newline at end of file diff --git a/examples/authentik/docker-compose.yml b/examples/authentik/docker-compose.yml index e4fe24e81..7c3ea1e05 100644 --- a/examples/authentik/docker-compose.yml +++ b/examples/authentik/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3.4" - services: postgresql: diff --git a/examples/bibliogram/README.md b/examples/bibliogram/README.md deleted file mode 100644 index 4c994689a..000000000 --- a/examples/bibliogram/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# References - -- https://hub.docker.com/r/schklom/bibliogram -- https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Configuring.md#files \ No newline at end of file diff --git a/examples/bibliogram/config.js b/examples/bibliogram/config.js deleted file mode 100644 index 4e6754d89..000000000 --- a/examples/bibliogram/config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - website_origin: "https://mydomain.net" -} \ No newline at end of file diff --git a/examples/bibliogram/docker-compose.yml b/examples/bibliogram/docker-compose.yml deleted file mode 100644 index 94edacbd2..000000000 --- a/examples/bibliogram/docker-compose.yml +++ /dev/null @@ -1,23 +0,0 @@ -version: '3.4' -services: - bibliogram: - image: schklom/bibliogram - container_name: bibliogram - volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/bibliogram/config.js:/app/config.js:ro - ports: - - 10407:10407 - restart: unless-stopped - #networks: - # - proxy - #labels: - # - traefik.enable=true - # - traefik.docker.network=proxy - # - traefik.http.routers.bibliogram.rule=Host(`bibliogram.example.com`) - # - traefik.http.services.bibliogram.loadbalancer.server.port=10407 - # # Optional part for traefik middlewares - # - traefik.http.routers.bibliogram.middlewares=local-ipwhitelist@file,authelia@docker - -#networks: -# proxy: -# external: true diff --git a/examples/bitwarden/docker-compose.yml b/examples/bitwarden/docker-compose.yml index 7d438be9b..8f722ecb1 100644 --- a/examples/bitwarden/docker-compose.yml +++ b/examples/bitwarden/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.8" - services: + bitwarden: image: bitwarden/self-host:2024.8.0-beta container_name: bitwarden_unified diff --git a/examples/bookstack/docker-compose.yml b/examples/bookstack/docker-compose.yml index 43c5e8393..338c8f6e4 100644 --- a/examples/bookstack/docker-compose.yml +++ b/examples/bookstack/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + bookstack: image: linuxserver/bookstack container_name: bookstack @@ -18,6 +17,8 @@ services: restart: unless-stopped ports: - 8099:80 + expose: + - 80 depends_on: - bookstack_db #networks: @@ -47,6 +48,8 @@ services: - MYSQL_DATABASE=bookstackapp - MYSQL_USER=bookstack - MYSQL_PASSWORD=USERPW1 + expose: + - 3306 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/bookstack/mariadb-config:/config restart: unless-stopped diff --git a/examples/caddy/docker-compose.yml b/examples/caddy/docker-compose.yml index 36a71799b..e6450aa31 100644 --- a/examples/caddy/docker-compose.yml +++ b/examples/caddy/docker-compose.yml @@ -1,5 +1,5 @@ -version: "3.7" services: + caddy: image: caddy:latest container_name: caddy @@ -9,6 +9,9 @@ services: ports: - "80:80" - "443:443" + expose: + - 80 # http + - 443 # https volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/caddy/CaddyFile:/etc/caddy/Caddyfile - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/caddy/data:/data diff --git a/examples/changedetection/docker-compose.yml b/examples/changedetection/docker-compose.yml index 42cd54530..c39a3b29e 100644 --- a/examples/changedetection/docker-compose.yml +++ b/examples/changedetection/docker-compose.yml @@ -1,5 +1,5 @@ -version: "2.1" services: + changedetection: image: lscr.io/linuxserver/changedetection.io:latest container_name: changedetection @@ -11,6 +11,8 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/changedetection/config:/config ports: - 5000:5000 + expose: + - 5000 restart: unless-stopped #networks: # - proxy diff --git a/examples/chevereto/docker-compose.yml b/examples/chevereto/docker-compose.yml index d9a6b248c..9ec5f3e09 100644 --- a/examples/chevereto/docker-compose.yml +++ b/examples/chevereto/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.7" - services: + chevereto: image: ghcr.io/chevereto/chevereto:4.1 container_name: chevereto @@ -40,6 +39,8 @@ services: container_name: chevereto_mariadb restart: unless-stopped init: true + expose: + - 3306 environment: MYSQL_DATABASE: chevereto MYSQL_USER: chevereto diff --git a/examples/cloudflare-ddns/docker-compose.yml b/examples/cloudflare-ddns/docker-compose.yml index 823aecec7..adccde87a 100644 --- a/examples/cloudflare-ddns/docker-compose.yml +++ b/examples/cloudflare-ddns/docker-compose.yml @@ -1,5 +1,5 @@ -version: "3" services: + cloudflare-ddns: image: favonia/cloudflare-ddns:latest container_name: cloudflare-ddns diff --git a/examples/code-server/docker-compose.yml b/examples/code-server/docker-compose.yml index 5551a30b1..15839b194 100644 --- a/examples/code-server/docker-compose.yml +++ b/examples/code-server/docker-compose.yml @@ -1,5 +1,3 @@ -version: "2.1" - services: code-server: @@ -18,6 +16,8 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vscode/config:/config ports: - 8443:8443 + expose: + - 8443 restart: unless-stopped #networks: # - proxy diff --git a/examples/crowdsec/docker-compose.yml b/examples/crowdsec/docker-compose.yml index 92e545576..21a241c30 100644 --- a/examples/crowdsec/docker-compose.yml +++ b/examples/crowdsec/docker-compose.yml @@ -4,6 +4,9 @@ services: image: crowdsecurity/crowdsec:v1.6.3 container_name: crowdsec restart: unless-stopped + ports: + - 127.0.0.1:9876:8080 # http api for local fw bouncers + - 127.0.0.1:6060:6060 # metrics endpoint for prometheus expose: - 8080 # http api for bouncers - 6060 # metrics endpoint for prometheus diff --git a/examples/cs2-dedicated-server/docker-compose.yml b/examples/cs2-dedicated-server/docker-compose.yml index e82bde16c..ad016fcda 100644 --- a/examples/cs2-dedicated-server/docker-compose.yml +++ b/examples/cs2-dedicated-server/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.7' - services: cs2-server: diff --git a/examples/dashy/docker-compose.yml b/examples/dashy/docker-compose.yml index 410b3b262..f616d0107 100644 --- a/examples/dashy/docker-compose.yml +++ b/examples/dashy/docker-compose.yml @@ -1,10 +1,9 @@ ---- -version: "3.8" services: + dashy: + image: lissy93/dashy container_name: dashy hostname: dashy - image: lissy93/dashy volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/dashy/config/config.yml:/app/public/conf.yml - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/dashy/icons:/app/public/item-icons @@ -14,7 +13,9 @@ services: - GID=1000 restart: unless-stopped ports: - - 4000:80 + - 4000:80 + expose: + - 80 healthcheck: test: ['CMD', 'node', '/app/services/healthcheck'] interval: 1m30s diff --git a/examples/deemix/docker-compose.yml b/examples/deemix/docker-compose.yml index 9ea0b03be..7b15718a6 100644 --- a/examples/deemix/docker-compose.yml +++ b/examples/deemix/docker-compose.yml @@ -1,13 +1,12 @@ -version: "3" - services: + deemix: + image: registry.gitlab.com/bockiii/deemix-docker:latest container_name: deemix + hostname: deemix environment: - PUID=1000 - PGID=1000 - hostname: deemix - image: registry.gitlab.com/bockiii/deemix-docker:latest restart: unless-stopped ports: - 6595:6595 diff --git a/examples/docmost/docker-compose.yml b/examples/docmost/docker-compose.yml index 9dd0a0b65..53a769fb8 100644 --- a/examples/docmost/docker-compose.yml +++ b/examples/docmost/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3' - services: docmost: @@ -53,6 +51,8 @@ services: - POSTGRES_USER=docmost - POSTGRES_PASSWORD=STRONG_DB_PASSWORD restart: unless-stopped + expose: + - 5432 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/docmost/database:/var/lib/postgresql/data #networks: @@ -62,6 +62,8 @@ services: image: redis:7.2-alpine container_name: docmost-redis restart: unless-stopped + expose: + - 6379 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/docmost/redis:/data #networks: diff --git a/examples/docuseal/docker-compose.yml b/examples/docuseal/docker-compose.yml index bfcba6a40..352cad875 100644 --- a/examples/docuseal/docker-compose.yml +++ b/examples/docuseal/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3' - services: app: diff --git a/examples/domainmod/docker-compose.yml b/examples/domainmod/docker-compose.yml index 3acedeef6..87ea8e214 100644 --- a/examples/domainmod/docker-compose.yml +++ b/examples/domainmod/docker-compose.yml @@ -1,6 +1,5 @@ ---- -version: '3.7' services: + app: image: domainmod/domainmod:latest container_name: domainmod_app @@ -20,6 +19,8 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/domainmod/app:/var/www/html ports: - 8080:80 + expose: + - 80 restart: unless-stopped db: diff --git a/examples/drone/docker-compose.yml b/examples/drone/docker-compose.yml index f251cc2c6..09dad5ac9 100644 --- a/examples/drone/docker-compose.yml +++ b/examples/drone/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.7" - services: + drone-server: image: drone/drone:latest container_name: drone-server @@ -26,15 +25,15 @@ services: - DRONE_AGENTS_ENABLED=true - DRONE_GITEA_CLIENT_ID=XXX-XXX # change this to your client ID from Gitea; see https://docs.drone.io/server/provider/gitea/ - DRONE_GITEA_CLIENT_SECRET=XXX-XXX # change this to your client secret from Gitea; see https://docs.drone.io/server/provider/gitea/ - networks: - - proxy - labels: - - traefik.enable=true - - traefik.http.routers.drone-server.rule=Host(`drone.domain.tld`) - - traefik.http.services.drone-server.loadbalancer.server.port=80 - - traefik.docker.network=proxy - # Part for local lan services only; disable to expose externally - - traefik.http.routers.drone-server.middlewares=local-ipwhitelist@file + #networks: + # - proxy + #labels: + # - traefik.enable=true + # - traefik.http.routers.drone-server.rule=Host(`drone.domain.tld`) + # - traefik.http.services.drone-server.loadbalancer.server.port=80 + # - traefik.docker.network=proxy + # # Part for local lan services only; disable to expose externally + # - traefik.http.routers.drone-server.middlewares=local-ipwhitelist@file drone-agent: image: drone/agent:1.2.1 @@ -47,9 +46,9 @@ services: - DRONE_RPC_SERVER=http://drone-server:80 - DRONE_RPC_SECRET=8aff725d2e16ef31fbc42 - DRONE_RUNNER_CAPACITY=2 - networks: - - proxy + #networks: + # - proxy -networks: - proxy: - external: true +#networks: +# proxy: +# external: true diff --git a/examples/droppy/README.md b/examples/droppy/README.md deleted file mode 100644 index 66d64bc4a..000000000 --- a/examples/droppy/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# References - -- https://github.com/silverwind/droppy (deprecated) diff --git a/examples/droppy/docker-compose-deprecated.yml b/examples/droppy/docker-compose-deprecated.yml deleted file mode 100644 index 11701a0b3..000000000 --- a/examples/droppy/docker-compose-deprecated.yml +++ /dev/null @@ -1,16 +0,0 @@ -version: '2' - -services: - droppy: - container_name: droppy - image: silverwind/droppy - ports: - - 8989:8989 - volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/droppy/config:/config - - /path/to/my/data/for/sharing:/files # path to shared files - environment: - - UID=1000 - - GID=1000 - - TZ="Europe/Berlin" - restart: unless-stopped diff --git a/examples/duplicacy/docker-compose.yml b/examples/duplicacy/docker-compose.yml index be355b8d0..ff09f1b69 100644 --- a/examples/duplicacy/docker-compose.yml +++ b/examples/duplicacy/docker-compose.yml @@ -1,11 +1,9 @@ ---- -version: '3.7' - services: + duplicacy-web: + image: saspus/duplicacy-web:mini container_name: duplicacy-web hostname: myhost # pls adjust - image: saspus/duplicacy-web:mini environment: - USR_ID=1000 # user account id on the system - GRP_ID=1000 # group id on the system @@ -13,6 +11,8 @@ services: - DUPLICACY_WEB_VERSION=latest ports: - "3875:3875/tcp" + expose: + - 3875 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/duplicacy-web/config:/config - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/duplicacy-web/logs:/logs diff --git a/examples/duplicati/docker-compose.yml b/examples/duplicati/docker-compose.yml index 93d7d978f..7d97a92b7 100644 --- a/examples/duplicati/docker-compose.yml +++ b/examples/duplicati/docker-compose.yml @@ -1,10 +1,9 @@ -version: "3" - services: + duplicati: - image: linuxserver/duplicati:latest + image: linuxserver/duplicati:latest container_name: duplicati - hostname: duplicati + hostname: duplicati entrypoint: - /init ports: diff --git a/examples/evershop/docker-compose.yml b/examples/evershop/docker-compose.yml index e98da3175..85bc14cda 100644 --- a/examples/evershop/docker-compose.yml +++ b/examples/evershop/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: app: diff --git a/examples/excalidraw/docker-compose.yml b/examples/excalidraw/docker-compose.yml index f8ea5253c..9df3e52f9 100644 --- a/examples/excalidraw/docker-compose.yml +++ b/examples/excalidraw/docker-compose.yml @@ -1,17 +1,18 @@ -version: "3.8" - services: + excalidraw: - container_name: excalidraw image: excalidraw/excalidraw:latest - ports: - - "3000:80" + container_name: excalidraw restart: unless-stopped stdin_open: true healthcheck: disable: true environment: - NODE_ENV=production + ports: + - "3000:80" + expose: + - 80 #networks: # - proxy #volumes: diff --git a/examples/fail2ban/docker-compose.yml b/examples/fail2ban/docker-compose.yml index cc0463541..56da88d1d 100644 --- a/examples/fail2ban/docker-compose.yml +++ b/examples/fail2ban/docker-compose.yml @@ -1,18 +1,17 @@ -version: "3" - services: + fail2ban: + image: crazymax/fail2ban:latest container_name: fail2ban + restart: unless-stopped + network_mode: host cap_add: - NET_ADMIN - NET_RAW environment: - TZ=Europe/Berlin - F2B_DB_PURGE_AGE=14d - image: crazymax/fail2ban:latest - network_mode: host - restart: unless-stopped volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/fail2Ban/data:/data - /path/to/my/logs/to/monitor:/var/log - #- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik/logs:/var/log/traefik + #- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik/logs:/var/log/traefik \ No newline at end of file diff --git a/examples/filebrowser/docker-compose.yml b/examples/filebrowser/docker-compose.yml index 9a733db4f..7af38d167 100644 --- a/examples/filebrowser/docker-compose.yml +++ b/examples/filebrowser/docker-compose.yml @@ -1,15 +1,16 @@ -version: "3" - services: + filebrowser: image: hurlenko/filebrowser container_name: filebrowser + restart: unless-stopped user: 1000:1000 # adjust to your needs + environment: + - FB_BASEURL=/filebrowser ports: - 8080:8080 + expose: + - 8080 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filebrowser/data:/data - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filebrowser/config:/config - environment: - - FB_BASEURL=/filebrowser - restart: unless-stopped + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filebrowser/config:/config \ No newline at end of file diff --git a/examples/filerun/docker-compose.yml b/examples/filerun/docker-compose.yml index d08308195..abf45b4b1 100644 --- a/examples/filerun/docker-compose.yml +++ b/examples/filerun/docker-compose.yml @@ -1,19 +1,20 @@ -version: '2' - services: + db: - image: mariadb:10.11 + image: mariadb:11.5 container_name: filerun-db environment: - MYSQL_ROOT_PASSWORD=your_mysql_root_password - MYSQL_USER=your_filerun_username - MYSQL_PASSWORD=your_filerun_password - MYSQL_DATABASE=your_filerun_database + expose: + - 3306 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filerun/db:/var/lib/mysql filerun: - image: filerun/filerun + image: filerun/filerun:latest container_name: filerun environment: - FR_DB_HOST=db @@ -27,6 +28,8 @@ services: - db:db ports: - 8080:80 + expose: + - 80 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filerun/html:/var/www/html - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/filerun/files:/user-files diff --git a/examples/firefly/docker-compose.yml b/examples/firefly/docker-compose.yml index 4b8567f4c..f34ef540f 100644 --- a/examples/firefly/docker-compose.yml +++ b/examples/firefly/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + app: image: fireflyiii/core:latest container_name: firefly @@ -10,11 +9,13 @@ services: env_file: .env ports: - 80:8080 + expose: + - 8080 depends_on: - db db: - image: mariadb + image: mariadb:11.5 container_name: firefly-db restart: unless-stopped environment: @@ -23,4 +24,4 @@ services: - MYSQL_PASSWORD=MySecretDatabasePassword # if changed --> also update in .env file - MYSQL_DATABASE=firefly volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/firefly/mysql:/var/lib/mysql + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/firefly/mysql:/var/lib/mysql \ No newline at end of file diff --git a/examples/firefox/docker-compose.yml b/examples/firefox/docker-compose.yml index bea9a2e52..bd323870c 100644 --- a/examples/firefox/docker-compose.yml +++ b/examples/firefox/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.3" - services: + firefox: image: lscr.io/linuxserver/firefox:latest container_name: firefox @@ -16,6 +15,8 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/firefox/config:/config ports: - 3210:3000 + expose: + - 3000 #networks: # - proxy #labels: diff --git a/examples/firezone/docker-compose.yml b/examples/firezone/docker-compose.yml index 8cbbbb0f6..5542bb430 100644 --- a/examples/firezone/docker-compose.yml +++ b/examples/firezone/docker-compose.yml @@ -6,8 +6,6 @@ x-deploy: &default-deploy update_config: order: start-first -version: "3.7" - services: firezone: @@ -54,6 +52,8 @@ services: postgres: image: postgres:15-alpine container_name: firezone-db + expose: + - 5432 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/firezone/db:/var/lib/postgresql/data environment: diff --git a/examples/flame/docker-compose.yml b/examples/flame/docker-compose.yml index debd47ecb..4b7843485 100644 --- a/examples/flame/docker-compose.yml +++ b/examples/flame/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.6' - services: + flame: image: pawelmalak/flame container_name: flame @@ -9,6 +8,8 @@ services: #- /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration ports: - 5005:5005 + expose: + - 5005 environment: - PASSWORD=MyStrongLoginPassword restart: unless-stopped diff --git a/examples/flaresolverr/docker-compose.yml b/examples/flaresolverr/docker-compose.yml index c00de3235..02b0ddfe1 100644 --- a/examples/flaresolverr/docker-compose.yml +++ b/examples/flaresolverr/docker-compose.yml @@ -1,14 +1,15 @@ -version: '3.3' - services: - flaresolverr: - image: ghcr.io/flaresolverr/flaresolverr:latest - container_name: flaresolverr - ports: - - 8191:8191 - environment: - - LOG_LEVEL=${LOG_LEVEL:-info} - - LOG_HTML=${LOG_HTML:-false} - - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} - - TZ=Europe/Berlin - restart: unless-stopped + + flaresolverr: + image: ghcr.io/flaresolverr/flaresolverr:latest + container_name: flaresolverr + restart: unless-stopped + ports: + - 8191:8191/tcp + expose: + - 8191 + environment: + - LOG_LEVEL=${LOG_LEVEL:-info} + - LOG_HTML=${LOG_HTML:-false} + - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} + - TZ=Europe/Berlin \ No newline at end of file diff --git a/examples/forte/docker-compose.yml b/examples/forte/docker-compose.yml index 13dc5e03f..b41c0ddec 100644 --- a/examples/forte/docker-compose.yml +++ b/examples/forte/docker-compose.yml @@ -1,12 +1,13 @@ -version: '3' - services: + app: image: kaangiray26/forte:4.3 container_name: forte restart: on-failure ports: - 3000:3000 + expose: + - 3000 depends_on: postgres: condition: service_healthy @@ -40,6 +41,8 @@ services: image: kaangiray26/postgres:2.0 container_name: forte-db restart: always + expose: + - 5432 environment: POSTGRES_DB: forte # Set Postgres Database Name POSTGRES_USER: forte # Set Postgres Username diff --git a/examples/ghost/docker-compose-rpi-arm.yml b/examples/ghost/docker-compose-rpi-arm.yml index 22b166a29..c19412fa8 100644 --- a/examples/ghost/docker-compose-rpi-arm.yml +++ b/examples/ghost/docker-compose-rpi-arm.yml @@ -1,12 +1,13 @@ -version: '3.3' - services: + blog: image: ghost:5 container_name: ghost restart: always ports: - 8080:2368 + expose: + - 2368 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ghost/content:/var/lib/ghost/content environment: @@ -28,6 +29,7 @@ services: database: image: linuxserver/mariadb container_name: ghost-db + restart: unless-stopped environment: - PUID=1000 - PGID=1000 @@ -36,6 +38,7 @@ services: - MYSQL_DATABASE=${DB_NAME:-ghost} - MYSQL_USER=${DB_USER:-ghost} - MYSQL_PASSWORD=${DB_USER_PASS:-DatabasePassword1234} + expose: + - 3306 volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ghost/mariadb/config:/config - restart: unless-stopped + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ghost/mariadb/config:/config \ No newline at end of file diff --git a/examples/gitea/docker-compose.yml b/examples/gitea/docker-compose.yml index e71692e2e..3fea84147 100644 --- a/examples/gitea/docker-compose.yml +++ b/examples/gitea/docker-compose.yml @@ -1,8 +1,9 @@ -version: "3" - services: + gitea: + image: gitea/gitea:latest container_name: gitea + restart: unless-stopped environment: - USER_UID=1000 - USER_GID=1000 @@ -10,8 +11,9 @@ services: ports: - 3000:3000 #webgui - 2222:22 #ssh - image: gitea/gitea:latest - restart: unless-stopped + expose: + - 3000 + - 22 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/gitea/data:/data #networks: diff --git a/examples/gitlab/docker-compose.yml b/examples/gitlab/docker-compose.yml index 910d39751..efd8c672d 100644 --- a/examples/gitlab/docker-compose.yml +++ b/examples/gitlab/docker-compose.yml @@ -1,9 +1,9 @@ -version: '3.7' services: + gitlab-ce: image: gitlab/gitlab-ce:latest + container_name: gitlab-ce restart: unless-stopped - container_name: gitlab-ce environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' # please adjust @@ -11,6 +11,10 @@ services: - 8033:80 # HTTP - 8434:443 # HTTPS - 2222:22 # SSH + expose: + - 80 + - 443 + - 22 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/gitlab/config:/etc/gitlab - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/gitlab/logs:/var/log/gitlab diff --git a/examples/gokapi/docker-compose.yml b/examples/gokapi/docker-compose.yml index 15094b71a..1b31e3d5f 100644 --- a/examples/gokapi/docker-compose.yml +++ b/examples/gokapi/docker-compose.yml @@ -1,12 +1,13 @@ -version: "3.7" - services: + gokapi: image: f0rc3/gokapi:latest container_name: gokapi restart: unless-stopped ports: - 53842:53842 + expose: + - 53842 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/gokapi/data:/app/data - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/gokapi/config:/app/config diff --git a/examples/grafana-monitoring/docker-compose.yml b/examples/grafana-monitoring/docker-compose.yml index fccfea5c3..c40a3a349 100644 --- a/examples/grafana-monitoring/docker-compose.yml +++ b/examples/grafana-monitoring/docker-compose.yml @@ -1,15 +1,15 @@ -version: "2" - services: loki: image: grafana/loki:2.9.10 + container_name: loki hostname: loki - container_name: loki volumes: - ./volume-data/loki:/etc/loki # place loki-config.yml ports: - "127.0.0.1:3100:3100" + expose: + - 3100 restart: unless-stopped user: 1000:1000 command: -config.file=/etc/loki/loki-config.yml @@ -19,9 +19,9 @@ services: promtail: image: grafana/promtail:latest container_name: promtail + hostname: promtail depends_on: - loki - hostname: promtail volumes: - /var/log:/var/log:ro # let promtail access the docker host's log files - ./volume-data/promtail:/etc/promtail # place promtail-config.yml @@ -48,10 +48,10 @@ services: telegraf: image: telegraf:latest + container_name: telegraf + hostname: telegraf restart: unless-stopped user: telegraf:$(stat -c '%g' /var/run/docker.sock) # see: https://www.influxdata.com/blog/docker-run-telegraf-as-non-root/ - container_name: telegraf - hostname: telegraf dns: - 1.1.1.1 - 8.8.8.8 @@ -74,21 +74,23 @@ services: # - monitoring_default grafana: + image: grafana/grafana:latest container_name: grafana hostname: grafana + restart: unless-stopped user: 1000:1000 depends_on: - influxdb - loki - promtail - image: grafana/grafana:latest - restart: unless-stopped - #environment: - # - GF_SERVER_ROOT_URL=https://grafana.example.com # optional + environment: + - GF_SERVER_ROOT_URL=https://grafana.example.com # pls change this volumes: - ./volume-data/grafana:/var/lib/grafana ports: - 3000:3000 + expose: + - 3000 #networks: # - monitoring_default #labels: diff --git a/examples/greenbone/docker-compose.yml b/examples/greenbone/docker-compose.yml index dc2efe912..0c1ae3632 100644 --- a/examples/greenbone/docker-compose.yml +++ b/examples/greenbone/docker-compose.yml @@ -1,7 +1,9 @@ -version: "3" services: + gvm: image: securecompliance/gvm + container_name: gvm + restart: unless-stopped volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/greenbone/database:/opt/database - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/greenbone/gvm:/var/lib/gvm @@ -20,4 +22,7 @@ services: - "9392:9392" # Web interface #- "5432:5432" # Access PostgreSQL database from external tools #- "2222:22" # SSH for remote sensors - restart: unless-stopped + expose: + - 9392 + - 5432 + - 22 \ No newline at end of file diff --git a/examples/guacamole/docker-compose.yml b/examples/guacamole/docker-compose.yml index ce45c1784..5a6dd3672 100644 --- a/examples/guacamole/docker-compose.yml +++ b/examples/guacamole/docker-compose.yml @@ -1,5 +1,3 @@ -version: '2.0' - services: guacd: @@ -16,6 +14,8 @@ services: image: postgres:16-alpine container_name: guacamole-db restart: always + expose: + - 5432 environment: - PGDATA=/var/lib/postgresql/data/guacamole - POSTGRES_DB=guacamole_db @@ -27,7 +27,6 @@ services: #networks: # - proxy - # guacamole guacamole: image: guacamole/guacamole container_name: guacamole-ui diff --git a/examples/headscale/docker-compose.yml b/examples/headscale/docker-compose.yml index a26b391b9..8c4f201be 100644 --- a/examples/headscale/docker-compose.yml +++ b/examples/headscale/docker-compose.yml @@ -1,10 +1,9 @@ -version: '3.9' - services: + headscale: image: headscale/headscale:0.22 + container_name: headscale pull_policy: always - container_name: headscale restart: unless-stopped command: headscale serve expose: @@ -26,8 +25,8 @@ services: headscale-ui: image: ghcr.io/gurucomputing/headscale-ui:latest + container_name: headscale-ui pull_policy: always - container_name: headscale-ui networks: - proxy restart: unless-stopped diff --git a/examples/hedgedoc/docker-compose.yml b/examples/hedgedoc/docker-compose.yml index b46345e19..04523ace5 100644 --- a/examples/hedgedoc/docker-compose.yml +++ b/examples/hedgedoc/docker-compose.yml @@ -1,23 +1,24 @@ -version: '3' - services: database: image: postgres:16-alpine container_name: hedgedoc-db + restart: always + expose: + - 5432 environment: - POSTGRES_USER=hedgedoc - POSTGRES_PASSWORD=password - POSTGRES_DB=hedgedoc volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/hedgedoc/database:/var/lib/postgresql/data - restart: always #networks: # - proxy app: image: quay.io/hedgedoc/hedgedoc:1.10.0 container_name: hedgedoc-app + restart: always environment: - CMD_DB_URL=postgres://hedgedoc:password@database:5432/hedgedoc - CMD_DOMAIN=collab.example.com @@ -45,7 +46,6 @@ services: - 3000:3000/tcp expose: - 3000 - restart: always depends_on: - database #networks: diff --git a/examples/heimdall/docker-compose.yml b/examples/heimdall/docker-compose.yml index 3e104e928..d83e8cf12 100644 --- a/examples/heimdall/docker-compose.yml +++ b/examples/heimdall/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + heimdall: image: linuxserver/heimdall:latest container_name: heimdall @@ -11,6 +10,8 @@ services: - TZ=Europe/Berlin ports: - 8099:80 + expose: + - 80 restart: unless-stopped volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/heimdall:/config diff --git a/examples/hemmelig/docker-compose.yml b/examples/hemmelig/docker-compose.yml index b7d61cb9e..3d9154b3b 100644 --- a/examples/hemmelig/docker-compose.yml +++ b/examples/hemmelig/docker-compose.yml @@ -1,4 +1,5 @@ services: + hemmelig: image: hemmeligapp/hemmelig:latest container_name: hemmelig @@ -19,12 +20,16 @@ services: - SECRET_MAX_TEXT_SIZE=256 # The max text size for the secret. Is set in kb. i.e. 256 for 256kb ports: - "3000:3000" + expose: + - 3000 restart: always stop_grace_period: 1m healthcheck: test: "wget -O /dev/null localhost:3000 || exit 1" timeout: 5s retries: 1 + #networks: + # - proxy #labels: # - traefik.enable=true # - traefik.http.routers.hemmelig.rule=Host(`hemmelig.example.com`) @@ -32,3 +37,7 @@ services: # - traefik.docker.network=proxy # # Part for optional traefik middlewares # - traefik.http.routers.hemmelig.middlewares=local-ipwhitelist@file,basic-auth@file + +#networks: +# proxy: +# external: true \ No newline at end of file diff --git a/examples/homarr/docker-compose.yml b/examples/homarr/docker-compose.yml index d515c8584..ef73b0782 100644 --- a/examples/homarr/docker-compose.yml +++ b/examples/homarr/docker-compose.yml @@ -1,8 +1,8 @@ -version: '3' services: + homarr: + image: ghcr.io/ajnart/homarr:latest container_name: homarr - image: ghcr.io/ajnart/homarr:latest restart: unless-stopped environment: - PASSWORD=MySecureLoginPassword @@ -12,3 +12,5 @@ services: #- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/homarr/icons:/app/public/icons # optional for custom icons ports: - '7575:7575' + expose: + - 7575 diff --git a/examples/home-assistant/docker-compose.yml b/examples/home-assistant/docker-compose.yml index 507d5a244..b7449156e 100644 --- a/examples/home-assistant/docker-compose.yml +++ b/examples/home-assistant/docker-compose.yml @@ -1,10 +1,10 @@ ---- -version: "2.1" services: + homeassistant: image: linuxserver/homeassistant:latest container_name: homeassistant network_mode: host + restart: unless-stopped environment: - PUID=1000 - PGID=1000 @@ -12,7 +12,6 @@ services: volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/homeassistant/config:/config #ports: - # - 8123:8123 #optional + # - 8123:8123 # optional of host network is used #devices: - # - /path/to/device:/path/to/device #optional - restart: unless-stopped + # - /path/to/device:/path/to/device #optional \ No newline at end of file diff --git a/examples/homepage/docker-compose.yml b/examples/homepage/docker-compose.yml index 35b1b783e..982d0a141 100644 --- a/examples/homepage/docker-compose.yml +++ b/examples/homepage/docker-compose.yml @@ -1,18 +1,22 @@ -version: "3.3" services: + homepage: image: ghcr.io/gethomepage/homepage:latest container_name: homepage restart: unless-stopped ports: - 3000:3000 + expose: + - 3000 environment: - PUID=1000 - PGID=1000 volumes: + #- /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/homepage/config:/app/config # Make sure your local config directory exists - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/homepage/icons:/app/public/icons - # - /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations + #networks: + # - proxy #labels: # - traefik.enable=true # - traefik.http.routers.homepage.rule=Host(`home.example.com`) @@ -20,3 +24,7 @@ services: # - traefik.docker.network=proxy # # Part for local lan services only # - traefik.http.routers.homepage.middlewares=local-ipwhitelist@file + +#networks: +# proxy: +# external: true \ No newline at end of file diff --git a/examples/homer/docker-compose.yml b/examples/homer/docker-compose.yml index acc2ee536..340c544b1 100644 --- a/examples/homer/docker-compose.yml +++ b/examples/homer/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.6' - services: + homer: image: b4bz/homer:latest container_name: homer @@ -8,6 +7,8 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/homer:/www/assets ports: - "8080:8080" + expose: + - 8080 restart: unless-stopped environment: - UID=1000 diff --git a/examples/immich/docker-compose.yml b/examples/immich/docker-compose.yml index 3388f3415..13d771557 100644 --- a/examples/immich/docker-compose.yml +++ b/examples/immich/docker-compose.yml @@ -1,9 +1,8 @@ -version: "3.8" - services: + immich-server: - container_name: immich-server image: altran1502/immich-server:${IMMICH_VERSION:-release} + container_name: immich-server volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro @@ -52,8 +51,8 @@ services: # - proxy immich-redis: + image: redis:6.2-alpine container_name: immich-redis - image: redis:6.2-alpine restart: unless-stopped #labels: # - "com.centurylinklabs.watchtower.enable=true" @@ -61,8 +60,8 @@ services: # - proxy immich-database: + image: tensorchord/pgvecto-rs:pg14-v0.2.0 container_name: immich-database - image: tensorchord/pgvecto-rs:pg14-v0.2.0 env_file: - .env environment: diff --git a/examples/ipsec-vpn-server/docker-compose.yml b/examples/ipsec-vpn-server/docker-compose.yml index 47bc6b179..3ea343c9c 100644 --- a/examples/ipsec-vpn-server/docker-compose.yml +++ b/examples/ipsec-vpn-server/docker-compose.yml @@ -1,10 +1,9 @@ -version: '3' - services: + vpn: image: hwdsl2/ipsec-vpn-server + container_name: ipsec-vpn-server hostname: ipsec-vpn-server - container_name: ipsec-vpn-server environment: #- VPN_IPSEC_PSK=3gAW0sDYI2ARSMQIQRa2xpIHb42JS+ImsiHdf3jbTl8 # set a secure psk; e.g. via `openssl rand -base64 32`; only necessary if not IKEv2 only #- VPN_USER=vpn # define your vpn username; only necessary if not IKEv2 only @@ -25,6 +24,9 @@ services: ports: - "500:500/udp" - "4500:4500/udp" + expose: + - 500 + - 4500 privileged: true volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ipsec-vpn-server/data:/etc/ipsec.d # required to enable IKEv2 diff --git a/examples/it-tools/docker-compose.yml b/examples/it-tools/docker-compose.yml index f9ac2987f..c0a945ec1 100644 --- a/examples/it-tools/docker-compose.yml +++ b/examples/it-tools/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + it-tools: image: corentinth/it-tools container_name: it-tools @@ -8,6 +7,8 @@ services: restart: unless-stopped ports: - 8080:80/tcp + expose: + - 80 #networks: # - proxy # or use dev for testing purposes #labels: diff --git a/examples/jackett/docker-compose.yml b/examples/jackett/docker-compose.yml index 874bfece6..f36ef034c 100644 --- a/examples/jackett/docker-compose.yml +++ b/examples/jackett/docker-compose.yml @@ -1,6 +1,5 @@ -version: "2.1" - services: + jackett: image: lscr.io/linuxserver/jackett:latest container_name: jackett @@ -14,4 +13,6 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/jackett/downloads:/downloads ports: - 9117:9117 + expose: + - 9117 restart: unless-stopped diff --git a/examples/jellyfin/docker-compose.yml b/examples/jellyfin/docker-compose.yml index 626f98fac..349a44cd7 100644 --- a/examples/jellyfin/docker-compose.yml +++ b/examples/jellyfin/docker-compose.yml @@ -1,5 +1,5 @@ -version: '3.3' services: + jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin @@ -7,8 +7,11 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/jellyfin/config:/config - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/jellyfin/cache:/cache - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/jellyfin/media:/media - network_mode: host restart: unless-stopped + ports: + - 8096:8096/tcp + expose: + - 8096 #environment: # - JELLYFIN_PublishedServerUrl=http://example.com # Optional - alternative address used for autodiscovery #extra_hosts: diff --git a/examples/jetbrains-youtrack/docker-compose.yml b/examples/jetbrains-youtrack/docker-compose.yml index ee2fa7029..7db2eea3a 100644 --- a/examples/jetbrains-youtrack/docker-compose.yml +++ b/examples/jetbrains-youtrack/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.5' - services: + youtrack: image: jetbrains/youtrack:2022.3.65373 container_name: youtrack @@ -9,17 +8,19 @@ services: restart: unless-stopped ports: - 8080:8080 # web ui + expose: + - 8080 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/youtrack/data:/opt/youtrack/data - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/youtrack/conf:/opt/youtrack/conf - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/youtrack/logs:/opt/youtrack/logs - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/youtrack/backups:/opt/youtrack/backups - #networks: - # - proxy deploy: placement: constraints: - node.labels.youtrack.data == true + #networks: + # - proxy #labels: # - traefik.enable=true # - traefik.docker.network=proxy diff --git a/examples/keycloak/docker-compose.yml b/examples/keycloak/docker-compose.yml index c905efe90..22cc70541 100644 --- a/examples/keycloak/docker-compose.yml +++ b/examples/keycloak/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.7' - services: + postgres: image: postgres:16-alpine container_name: keycloak-db diff --git a/examples/koillection/docker-compose.yml b/examples/koillection/docker-compose.yml index dab69b164..99efbc38f 100644 --- a/examples/koillection/docker-compose.yml +++ b/examples/koillection/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.3' - services: db: diff --git a/examples/leantime/docker-compose.yml b/examples/leantime/docker-compose.yml index a77b42a30..bf9e5a5d9 100644 --- a/examples/leantime/docker-compose.yml +++ b/examples/leantime/docker-compose.yml @@ -1,9 +1,10 @@ -version: '3.3' - services: + leantime_db: image: mysql:8.0 container_name: leantime-mysql + expose: + - 3306 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/leantime/mysql:/var/lib/mysql restart: unless-stopped @@ -21,9 +22,11 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/leantime/public_data:/var/www/html/public/userfiles - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/leantime/data:/var/www/html/userfiles ports: - - "8080:80" # The port to expose and access Leantime + - "8080:80" # The port to expose and access Leantime + expose: + - 80 depends_on: - - leantime_db # Don't start Leantime unless leantime_db is running + - leantime_db # Don't start Leantime unless leantime_db is running #networks: # - proxy #labels: diff --git a/examples/librephotos/docker-compose.yml b/examples/librephotos/docker-compose.yml index ba54a7841..43bd1b823 100644 --- a/examples/librephotos/docker-compose.yml +++ b/examples/librephotos/docker-compose.yml @@ -1,14 +1,5 @@ -# DO NOT EDIT -# The .env file has everything you need to edit. -# Run options: -# 1. Use prebuilt images (preferred method): -# run cmd: docker-compose up -d -# 2. Build images on your own machine: -# build cmd: COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build -# run cmd: docker-compose up -d - -version: "3.8" services: + proxy: image: reallibrephotos/librephotos-proxy:${tag} container_name: librephotos-proxy @@ -80,7 +71,7 @@ services: condition: service_healthy redis: - image: redis:6-alpine + image: redis:7-alpine container_name: librephotos-redis restart: unless-stopped healthcheck: diff --git a/examples/lidarr/docker-compose.yml b/examples/lidarr/docker-compose.yml index f950897e9..c74b795c8 100644 --- a/examples/lidarr/docker-compose.yml +++ b/examples/lidarr/docker-compose.yml @@ -1,6 +1,5 @@ -version: "2.1" - services: + lidarr: image: lscr.io/linuxserver/lidarr:latest container_name: lidarr @@ -14,4 +13,6 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/lidarr/downloads:/downloads # Should be the same as the download client's folder ports: - 8686:8686 + expose: + - 8686 restart: unless-stopped diff --git a/examples/lldap/docker-compose.yml b/examples/lldap/docker-compose.yml index ab905a0c0..a1f5ab054 100644 --- a/examples/lldap/docker-compose.yml +++ b/examples/lldap/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + lldap: image: lldap/lldap:stable container_name: lldap @@ -17,10 +16,11 @@ services: ports: - 3890:3890 # LDAP - 17170:17170 # WEB UI + expose: + - 3890 + - 17170 #networks: # - proxy - #expose: - # - 17170 #labels: # - traefik.enable=true # - traefik.http.routers.lldap.rule=Host(`lldap.example.com`) diff --git a/examples/matomo/docker-compose.yml b/examples/matomo/docker-compose.yml index 4a2796997..0fe5d868e 100644 --- a/examples/matomo/docker-compose.yml +++ b/examples/matomo/docker-compose.yml @@ -1,11 +1,12 @@ -version: "2" - services: + matomo: + image: matomo:5-fpm-alpine container_name: matomo - image: matomo ports: - 8099:80 + expose: + - 80 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/matomo/apache/apache2.conf:/etc/apache2/apache2.conf:ro - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/matomo/html:/var/www/html @@ -29,13 +30,15 @@ services: matomo_db: + image: mariadb:11.5 container_name: matomo_db - image: mariadb command: --max-allowed-packet=64MB environment: - MYSQL_ROOT_PASSWORD=makeitup env_file: - ./db.env + expose: + - 3306 restart: unless-stopped volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/matomo/database:/var/lib/mysql diff --git a/examples/mealie/docker-compose.yml b/examples/mealie/docker-compose.yml index 47c80e541..ce6b1eabb 100644 --- a/examples/mealie/docker-compose.yml +++ b/examples/mealie/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.7" - services: + mealie-frontend: image: hkotel/mealie:frontend-v1.0.0beta-5 container_name: mealie-frontend @@ -13,6 +12,8 @@ services: restart: unless-stopped ports: - "9925:3000" # adjust to your liking + expose: + - 3000 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/mealie/data:/app/data/ #networks: diff --git a/examples/memos/docker-compose.yml b/examples/memos/docker-compose.yml index 82c4cc6b5..6850ed6a6 100644 --- a/examples/memos/docker-compose.yml +++ b/examples/memos/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.0" - services: + memos: image: neosmemo/memos:latest container_name: memos @@ -8,6 +7,8 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/memos/data:/var/opt/memos ports: - 5230:5230 + expose: + - 5230 #networks: # - proxy #labels: diff --git a/examples/metube/docker-compose.yml b/examples/metube/docker-compose.yml index 9576c8aa4..b03915080 100644 --- a/examples/metube/docker-compose.yml +++ b/examples/metube/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + metube: image: alexta69/metube container_name: metube @@ -8,6 +7,8 @@ services: restart: unless-stopped ports: - "8081:8081" # web ui + expose: + - 8081 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/metube/downloads:/downloads #networks: diff --git a/examples/minio/docker-compose.yml b/examples/minio/docker-compose.yml index e7e00f41d..35f01b0f0 100644 --- a/examples/minio/docker-compose.yml +++ b/examples/minio/docker-compose.yml @@ -1,8 +1,7 @@ -version: "3" - services: + minio-s3: - image: bitnami/minio:2023 + image: bitnami/minio:2024 container_name: minio hostname: minio environment: @@ -10,9 +9,11 @@ services: - MINIO_ROOT_PASSWORD=XscUJuDQP4WuWA55vfXNrc7 # change this ports: - 9001:9001/tcp + expose: + - 9001 restart: unless-stopped volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/minio/data:/data + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/minio/data:/bitnami/minio/data #networks: # - proxy #labels: diff --git a/examples/mirotalk/docker-compose.yml b/examples/mirotalk/docker-compose.yml index 0251f1761..3297f069e 100644 --- a/examples/mirotalk/docker-compose.yml +++ b/examples/mirotalk/docker-compose.yml @@ -1,16 +1,17 @@ -version: '3.7' - services: + mirotalk: image: mirotalk/p2p:latest - restart: unless-stopped container_name: mirotalk hostname: mirotalk + restart: unless-stopped ports: # use a reverse proxy with SSL/TLS support # otherwise webrtc won't work with plaintext http after Chrome 47+ # see https://stackoverflow.com/questions/52759992/how-to-access-camera-and-microphone-in-chrome-without-https/58449078#58449078 - - 3000:3000 # WEB UI; + - 3000:3000 # WEB UI + expose: + - 3000 volumes: - .env:/src/.env:ro #- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/mirotalk/app:/src/app:ro # only necessary if you want to adjust the code itself (js, css, etc.) diff --git a/examples/money-balancer/docker-compose.yml b/examples/money-balancer/docker-compose.yml index d40a37357..efe312948 100644 --- a/examples/money-balancer/docker-compose.yml +++ b/examples/money-balancer/docker-compose.yml @@ -1,11 +1,13 @@ -version: "3" services: + money-balancer: image: ghcr.io/dorianim/money-balancer - restart: unless-stopped container_name: money-balancer + restart: unless-stopped ports: - 8000:8000 + expose: + - 8000 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/money-balancer/data:/data environment: diff --git a/examples/monkeytype/docker-compose.yml b/examples/monkeytype/docker-compose.yml index ca1ee87f3..c627dea59 100644 --- a/examples/monkeytype/docker-compose.yml +++ b/examples/monkeytype/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + monkeytype: image: themythologist/monkeytype:frontend-latest container_name: monkeytype @@ -8,6 +7,8 @@ services: restart: unless-stopped ports: - 5000:5000/tcp + expose: + - 5000 #networks: # - proxy #labels: diff --git a/examples/n8n/docker-compose.yml b/examples/n8n/docker-compose.yml index 313780860..45c220054 100644 --- a/examples/n8n/docker-compose.yml +++ b/examples/n8n/docker-compose.yml @@ -1,11 +1,11 @@ -version: '3.8' - services: n8n-db: image: postgres:16-alpine container_name: n8n-db restart: unless-stopped + expose: + - 5432 environment: - POSTGRES_USER - POSTGRES_PASSWORD diff --git a/examples/nessus/docker-compose.yml b/examples/nessus/docker-compose.yml index f180b2469..013eef823 100644 --- a/examples/nessus/docker-compose.yml +++ b/examples/nessus/docker-compose.yml @@ -1,11 +1,13 @@ -version: "3.7" services: + nessus: - hostname: nessus - container_name: nessus image: tenableofficial/nessus:latest + container_name: nessus + hostname: nessus ports: - 8834:8834/tcp # WEB UI + expose: + - 8834 environment: - ACTIVATION_CODE=XXX-XXXXX-XXXXX-XXXX # change this - USERNAME=nessus diff --git a/examples/network-multitool/docker-compose.yml b/examples/network-multitool/docker-compose.yml index d2ca64fb1..193027512 100644 --- a/examples/network-multitool/docker-compose.yml +++ b/examples/network-multitool/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + network-multitool: image: wbitt/network-multitool:alpine-extra container_name: network-multitool diff --git a/examples/nextcloud/docker-compose-mariadb-redis.yml b/examples/nextcloud/docker-compose-mariadb-redis.yml index 58ce30b46..dd615f8bc 100644 --- a/examples/nextcloud/docker-compose-mariadb-redis.yml +++ b/examples/nextcloud/docker-compose-mariadb-redis.yml @@ -6,6 +6,8 @@ services: hostname: nextcloud-db command: --transaction-isolation=READ-COMMITTED --innodb_read_only_compressed=OFF restart: unless-stopped + expose: + - 3306 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nextcloud/database:/var/lib/mysql environment: diff --git a/examples/nextcloud/docker-compose-sqlite.yml b/examples/nextcloud/docker-compose-sqlite.yml index 0f3784d0c..2586077e4 100644 --- a/examples/nextcloud/docker-compose-sqlite.yml +++ b/examples/nextcloud/docker-compose-sqlite.yml @@ -1,4 +1,5 @@ services: + nextcloud: image: linuxserver/nextcloud:latest container_name: nextcloud diff --git a/examples/nginx-php/docker-compose.yml b/examples/nginx-php/docker-compose.yml index 97826e49e..920abc718 100644 --- a/examples/nginx-php/docker-compose.yml +++ b/examples/nginx-php/docker-compose.yml @@ -1,17 +1,18 @@ -version: "3" - services: + web: image: nginx:stable-alpine + container_name: nginx hostname: nginx volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nginx/www-data:/var/www # place your files for web here - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nginx/nginx-conf:/etc/nginx/conf.d # place provided nginx.conf here - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nginx/logs:/var/log/nginx - container_name: nginx restart: unless-stopped ports: - 8080:80 + expose: + - 80 #networks: # - proxy #labels: @@ -24,11 +25,11 @@ services: php: image: php:8-fpm-alpine + container_name: php hostname: php volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nginx/www-data:/var/www # must be same path to www-data as above #- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/php/custom-php.ini:/usr/local/etc/php/conf.d/php.ini:ro - container_name: php restart: unless-stopped working_dir: /var/www expose: diff --git a/examples/nginx-proxy-manager-goaccess/docker-compose.yml b/examples/nginx-proxy-manager-goaccess/docker-compose.yml index ffc12720d..be47deb4c 100644 --- a/examples/nginx-proxy-manager-goaccess/docker-compose.yml +++ b/examples/nginx-proxy-manager-goaccess/docker-compose.yml @@ -1,17 +1,20 @@ -version: "3" - services: + goaccess: image: xavierh/goaccess-for-nginxproxymanager:latest container_name: goaccess restart: always + ports: + - '7880:7880' + expose: + - 7880 volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nginx-proxy-manager/data/logs:/opt/log:ro + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nginx-proxy-manager/data/logs:/opt/log:ro environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Berlin - - SKIP_ARCHIVED_LOGS=False #optional - - BASIC_AUTH=False #optional - - BASIC_AUTH_USERNAME=user #optional - - BASIC_AUTH_PASSWORD=pass #optional \ No newline at end of file + - PUID=1000 + - PGID=1000 + - TZ=Europe/Berlin + - SKIP_ARCHIVED_LOGS=False #optional + - BASIC_AUTH=False #optional + - BASIC_AUTH_USERNAME=user #optional + - BASIC_AUTH_PASSWORD=pass #optional \ No newline at end of file diff --git a/examples/nginx-proxy-manager/docker-compose.yml b/examples/nginx-proxy-manager/docker-compose.yml index 628e94440..41e9cb856 100644 --- a/examples/nginx-proxy-manager/docker-compose.yml +++ b/examples/nginx-proxy-manager/docker-compose.yml @@ -1,20 +1,21 @@ -version: "3" - services: + npm: + image: jc21/nginx-proxy-manager:latest container_name: npm + hostname: npm environment: - TZ=Europe/Berlin - PUID=1000 # see https://nginxproxymanager.com/advanced-config/ - PGID=1000 # see https://nginxproxymanager.com/advanced-config/ - hostname: npm - #networks: - # - npm_proxy - image: jc21/nginx-proxy-manager:latest ports: - 80:80/tcp # HTTP - 443:443/tcp # HTTPS - 81:81/tcp # MGMT UI, do not expose publicly + expose: + - 80 + - 443 + - 81 restart: unless-stopped healthcheck: test: ["CMD", "/bin/check-health"] @@ -23,6 +24,8 @@ services: volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nginx-proxy-manager/data:/data - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nginx-proxy-manager/letsencrypt:/etc/letsencrypt + #networks: + # - npm_proxy #networks: # npm_proxy: diff --git a/examples/nitter/docker-compose.yml b/examples/nitter/docker-compose.yml index cf7604916..1e46a0054 100644 --- a/examples/nitter/docker-compose.yml +++ b/examples/nitter/docker-compose.yml @@ -5,6 +5,8 @@ services: container_name: nitter ports: - "8080:8080" + expose: + - 8080 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nitter/nitter.conf:/src/nitter.conf:ro depends_on: diff --git a/examples/obsidian-remote/docker-compose.yml b/examples/obsidian-remote/docker-compose.yml index 875e4071c..036a0adca 100644 --- a/examples/obsidian-remote/docker-compose.yml +++ b/examples/obsidian-remote/docker-compose.yml @@ -1,5 +1,5 @@ -version: '3.8' services: + obsidian: image: 'ghcr.io/sytone/obsidian-remote:latest' container_name: obsidian-remote @@ -8,6 +8,10 @@ services: - 8080:8080 # Obsidian Web Interface #- 27123:27123 # Local REST API Plugin HTTP Server Port #- 27124:27124 # Local REST API Plugin HTTPS Server Port + expose: + - 8080 + - 27123 + - 27124 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/obsidian-remote/vaults:/vaults # The location on the host for your Obsidian Vaults - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/obsidian-remote/config:/config # The location to store Obsidan configuration and ssh data for obsidian-git diff --git a/examples/ombi/docker-compose.yml b/examples/ombi/docker-compose.yml index b89449239..f57224590 100644 --- a/examples/ombi/docker-compose.yml +++ b/examples/ombi/docker-compose.yml @@ -1,5 +1,5 @@ -version: "2.1" services: + ombi: image: lscr.io/linuxserver/ombi:latest container_name: ombi @@ -12,4 +12,6 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ombi/config:/config ports: - 3579:3579 + expose: + - 3579 restart: unless-stopped \ No newline at end of file diff --git a/examples/onedev/docker-compose.yml b/examples/onedev/docker-compose.yml index 66da7a5d5..a796af5d6 100644 --- a/examples/onedev/docker-compose.yml +++ b/examples/onedev/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + onedev: image: 1dev/server:latest container_name: onedev @@ -8,6 +7,8 @@ services: restart: unless-stopped ports: - 6610:6610/tcp + expose: + - 6610 volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro diff --git a/examples/openspeedtest/docker-compose.yml b/examples/openspeedtest/docker-compose.yml index 00e69e563..0bfa566f2 100644 --- a/examples/openspeedtest/docker-compose.yml +++ b/examples/openspeedtest/docker-compose.yml @@ -1,11 +1,14 @@ -version: "3" services: + openspeedtest: image: openspeedtest/latest:latest container_name: openspeedtest ports: - 3380:3000 # HTTP - 3001:3001 # HTTPS + expose: + - 3000 + - 3001 restart: always #labels: # - traefik.enable=true diff --git a/examples/openvpn/docker-compose.yml b/examples/openvpn/docker-compose.yml index e45400f6c..4b1d1f5cf 100644 --- a/examples/openvpn/docker-compose.yml +++ b/examples/openvpn/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + openvpn-as: image: openvpn/openvpn-as container_name: openvpn-as diff --git a/examples/overleaf/docker-compose.yml b/examples/overleaf/docker-compose.yml index c5eac31e3..d43631136 100644 --- a/examples/overleaf/docker-compose.yml +++ b/examples/overleaf/docker-compose.yml @@ -1,5 +1,5 @@ -version: '2.2' services: + sharelatex: restart: always image: sharelatex/sharelatex @@ -11,6 +11,8 @@ services: condition: service_started ports: - 8888:80 + expose: + - 80 links: - mongo - redis diff --git a/examples/owncloud-ocis/docker-compose.yml b/examples/owncloud-ocis/docker-compose.yml index 241d714ab..e1af22c94 100644 --- a/examples/owncloud-ocis/docker-compose.yml +++ b/examples/owncloud-ocis/docker-compose.yml @@ -1,6 +1,3 @@ ---- -version: "3.7" - services: ocis: diff --git a/examples/pairdrop/docker-compose.yml b/examples/pairdrop/docker-compose.yml index a96731142..d8120957d 100644 --- a/examples/pairdrop/docker-compose.yml +++ b/examples/pairdrop/docker-compose.yml @@ -1,6 +1,5 @@ -version: "2.1" - services: + pairdrop: image: linuxserver/pairdrop:latest container_name: pairdrop @@ -13,6 +12,8 @@ services: - WS_FALLBACK=false #optional ports: - 3215:3000 + expose: + - 3000 restart: unless-stopped #networks: # - proxy diff --git a/examples/paperless-ngx/docker-compose-deprecated.yml b/examples/paperless-ngx/docker-compose-deprecated.yml deleted file mode 100644 index 4e58a79a8..000000000 --- a/examples/paperless-ngx/docker-compose-deprecated.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: "2.1" -services: - paperless-ngx: - image: lscr.io/linuxserver/paperless-ngx:latest - container_name: paperless-ngx - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Berlin - #- PAPERLESS_URL=https://docs.example.com # uncomment and adjust if behind reverse proxy - #- REDIS_URL= #optional - volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/paperless-ngx/config:/config - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/paperless-ngx/data:/data - ports: - - 8000:8000 - restart: unless-stopped - #labels: - # - traefik.enable=true - # - traefik.http.routers.paperless-ngx.rule=Host(`docs.example.com`) - # - traefik.http.services.paperless-ngx.loadbalancer.server.port=8000 - # - traefik.docker.network=proxy - # # Part for optional traefik middlewares - # - traefik.http.routers.paperless-ngx.middlewares=local-ipwhitelist@file diff --git a/examples/paperless-ngx/docker-compose.yml b/examples/paperless-ngx/docker-compose.yml index 620426f68..5efe90f65 100644 --- a/examples/paperless-ngx/docker-compose.yml +++ b/examples/paperless-ngx/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.4" - services: + broker: image: docker.io/library/redis:7-alpine container_name: paperless-ngx-redis @@ -8,7 +7,7 @@ services: volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/paperless-ngx/redis:/data #networks: - # - proxy + # - proxy db: image: docker.io/library/postgres:16-alpine @@ -21,7 +20,7 @@ services: POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless #networks: - # - proxy + # - proxy webserver: image: ghcr.io/paperless-ngx/paperless-ngx:latest @@ -32,6 +31,8 @@ services: - broker ports: - "8910:8000" + expose: + - 8000 healthcheck: test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"] interval: 30s diff --git a/examples/papermerge/docker-compose-deprecated.yml b/examples/papermerge/docker-compose-deprecated.yml deleted file mode 100644 index 2aaa9e068..000000000 --- a/examples/papermerge/docker-compose-deprecated.yml +++ /dev/null @@ -1,16 +0,0 @@ -version: "3" - -services: - papermerge: - container_name: papermerge - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Berlin - hostname: papermerge - image: linuxserver/papermerge:latest - restart: unless-stopped - volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/papermerge/importer_dir:/mnt/media/importer_dir - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/papermerge/config:/config - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/papermerge/data:/data diff --git a/examples/papermerge/docker-compose.yml b/examples/papermerge/docker-compose.yml index a2f21e618..edb68179b 100644 --- a/examples/papermerge/docker-compose.yml +++ b/examples/papermerge/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.7' - services: app: @@ -54,8 +52,8 @@ services: # - proxy redis: + image: redis:6-alpine container_name: papermerge-redis - image: redis:6-alpine restart: unless-stopped expose: - 6379 diff --git a/examples/passbolt/docker-compose.yml b/examples/passbolt/docker-compose.yml index f84827f70..c7bb71a0e 100644 --- a/examples/passbolt/docker-compose.yml +++ b/examples/passbolt/docker-compose.yml @@ -1,11 +1,12 @@ -version: '3.9' - services: + db: - image: mariadb:10.11 + image: mariadb:11.5 container_name: passbolt-db hostname: passbolt-db restart: unless-stopped + expose: + - 3306 environment: MYSQL_RANDOM_ROOT_PASSWORD: "true" MYSQL_DATABASE: "passbolt" @@ -43,3 +44,8 @@ services: - 8432:443 # HTTPS # - 8543:8080 # alternative port mappings if rootless image is used # - 8432:4433 # alternative port mappings if rootless image is used + expose: + - 80 + - 443 + - 8080 + - 4433 diff --git a/examples/photoprism/docker-compose.yml b/examples/photoprism/docker-compose.yml index 26ce66803..ce0873dea 100644 --- a/examples/photoprism/docker-compose.yml +++ b/examples/photoprism/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + photoprism: image: photoprism/photoprism:latest container_name: photoprism @@ -16,6 +15,8 @@ services: - PHOTOPRISM_DATABASE_DRIVER=sqlite ports: - 2342:2342 + expose: + - 2342 restart: unless-stopped volumes: - /path/to/my/locally/stored/media/files:/photoprism/originals diff --git a/examples/pi-hole/docker-compose.yml b/examples/pi-hole/docker-compose.yml index 5d9c83e26..2d15c8bec 100644 --- a/examples/pi-hole/docker-compose.yml +++ b/examples/pi-hole/docker-compose.yml @@ -1,10 +1,9 @@ -version: "3" - -# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/ services: + pihole: container_name: pihole image: pihole/pihole:latest + restart: unless-stopped # For DHCP it is recommended to remove these ports and instead add: network_mode: "host" ports: - "53:53/tcp" # DNS TCP @@ -14,14 +13,11 @@ services: environment: TZ: 'Europe/Berlin' WEBPASSWORD: 'MySecureLoginPasswordForWebApp' - # Volumes store your data between container upgrades volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/pihole/data:/etc/pihole - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/pihole/dnsmasq:/etc/dnsmasq.d - # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities - cap_add: - - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed - restart: unless-stopped + #cap_add: + # - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed #networks: # - proxy #labels: diff --git a/examples/plausible/docker-compose.yml b/examples/plausible/docker-compose.yml index ad7467df6..dd8c02905 100644 --- a/examples/plausible/docker-compose.yml +++ b/examples/plausible/docker-compose.yml @@ -1,10 +1,11 @@ -version: "3.3" services: plausible_db: image: postgres:16-alpine container_name: plausible-db - restart: always + restart: always + expose: + - 5432 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/plausible/database/:/var/lib/postgresql/data environment: @@ -13,8 +14,8 @@ services: # - proxy plausible_events_db: + image: clickhouse/clickhouse-server:24.3.3.102-alpine container_name: plausible-events-db - image: clickhouse/clickhouse-server:24.3.3.102-alpine restart: always environment: - CLICKHOUSE_UID=1000 @@ -31,8 +32,8 @@ services: # - proxy plausible: + image: ghcr.io/plausible/community-edition:v2.1 container_name: plausible - image: ghcr.io/plausible/community-edition:v2.1 restart: always command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run" depends_on: @@ -40,6 +41,8 @@ services: - plausible_events_db ports: - 8000:8000 # WEB UI + expose: + - 8000 env_file: - .env #networks: diff --git a/examples/plex/docker-compose.yml b/examples/plex/docker-compose.yml index 527471e55..a2205335a 100644 --- a/examples/plex/docker-compose.yml +++ b/examples/plex/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + pms-docker: image: plexinc/pms-docker container_name: plex @@ -14,3 +13,5 @@ services: restart: unless-stopped ports: - '32400:32400' + expose: + - 32400 diff --git a/examples/portainer/docker-compose.yml b/examples/portainer/docker-compose.yml index dce6880f2..8efcc1094 100644 --- a/examples/portainer/docker-compose.yml +++ b/examples/portainer/docker-compose.yml @@ -1,9 +1,8 @@ -version: '3' - services: + portainer: - image: portainer/portainer-ee:2.23.0-alpine # or use community edition via portainer/portainer-ce - container_name: portainer-ee # may rename to portainer-ce if community edition is used + image: portainer/portainer-ce:2.23.0-alpine # or portainer-ee for enterprise edition + container_name: portainer-ce # or portainer-ee for enterprise edition restart: unless-stopped volumes: - /etc/localtime:/etc/localtime:ro diff --git a/examples/posio/docker-compose.yml b/examples/posio/docker-compose.yml index fdc8abfd2..d07915900 100644 --- a/examples/posio/docker-compose.yml +++ b/examples/posio/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + posio: image: l4rm4nd/posio:latest container_name: posio diff --git a/examples/privatebin/docker-compose.yml b/examples/privatebin/docker-compose.yml index 01707e6d5..4b1b9ef7b 100644 --- a/examples/privatebin/docker-compose.yml +++ b/examples/privatebin/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.7" - services: + privatebin: hostname: privatebin container_name: privatebin @@ -8,6 +7,8 @@ services: read_only: true # not in compose 3.0 documentation but appears supported based ports: - 8080:8080 + expose: + - 8080 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/privatebin/data:/srv/data # volume for persisted data pastes - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/privatebin/configs/config.php:/srv/cfg/conf.php:ro # volume for custom privatebin config; please place the config.php file here diff --git a/examples/projectsend/docker-compose.yml b/examples/projectsend/docker-compose.yml index 54b204a59..d58b2616e 100644 --- a/examples/projectsend/docker-compose.yml +++ b/examples/projectsend/docker-compose.yml @@ -1,5 +1,5 @@ -version: "2.1" services: + projectsend: image: lscr.io/linuxserver/projectsend:latest container_name: projectsend @@ -13,15 +13,19 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/projectsend/data:/data ports: - 8080:80 # WEB UI + expose: + - 80 restart: unless-stopped depends_on: - database database: - image: mariadb:10.11 + image: mariadb:11.5 container_name: projectsend-db command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: unless-stopped + expose: + - 3306 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/projectsend/database:/var/lib/mysql environment: diff --git a/examples/prowlarr/docker-compose.yml b/examples/prowlarr/docker-compose.yml index 2796542cb..cea8bf331 100644 --- a/examples/prowlarr/docker-compose.yml +++ b/examples/prowlarr/docker-compose.yml @@ -1,6 +1,5 @@ -version: "2.1" - services: + prowlarr: image: lscr.io/linuxserver/prowlarr:latest container_name: prowlarr @@ -12,4 +11,6 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/prowlarr/config:/config ports: - 9696:9696 + expose: + - 9696 restart: unless-stopped diff --git a/examples/pwndrop/docker-compose.yml b/examples/pwndrop/docker-compose.yml index a46c0ef09..2ec764860 100644 --- a/examples/pwndrop/docker-compose.yml +++ b/examples/pwndrop/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + pwndrop: image: linuxserver/pwndrop:latest container_name: pwndrop diff --git a/examples/radarr/docker-compose.yml b/examples/radarr/docker-compose.yml index 01bbbedef..702fc4e91 100644 --- a/examples/radarr/docker-compose.yml +++ b/examples/radarr/docker-compose.yml @@ -1,6 +1,5 @@ -version: "2.1" - services: + radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr @@ -14,4 +13,6 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/radarr/downloads:/downloads # Should be the same as the download client's folder ports: - 7878:7878 + expose: + - 7878 restart: unless-stopped diff --git a/examples/raveberry/docker-compose.yml b/examples/raveberry/docker-compose.yml index 261917c9c..e684326a1 100644 --- a/examples/raveberry/docker-compose.yml +++ b/examples/raveberry/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3' - services: + db: image: postgres:16-alpine container_name: raveberry-db @@ -144,8 +143,10 @@ services: nginx: image: raveberry/raveberry-nginx container_name: raveberry-nginx - #ports: - # - 9870:80 + ports: + - 9870:80 + expose: + - 80 environment: - DAPHNE_HOST - DAPHNE_PORT diff --git a/examples/requestbin/docker-compose.yml b/examples/requestbin/docker-compose.yml index df4743c89..ed28cb8e0 100644 --- a/examples/requestbin/docker-compose.yml +++ b/examples/requestbin/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3.3" - services: + app: image: l4rm4nd/requestbin:latest hostname: requestbin @@ -27,8 +26,8 @@ services: redis: image: redis:alpine - hostname: redis container_name: requestbin_redis + hostname: redis restart: unless-stopped #volumes: # - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/requestbin/redis:/data diff --git a/examples/rocketchat/docker-compose.yml b/examples/rocketchat/docker-compose.yml index d83017a3a..80ac4776a 100644 --- a/examples/rocketchat/docker-compose.yml +++ b/examples/rocketchat/docker-compose.yml @@ -1,24 +1,14 @@ -version: "3.7" - services: + rocketchat: + image: registry.rocket.chat/rocketchat/rocket.chat:latest container_name: rocketchat hostname: rocketchat - image: registry.rocket.chat/rocketchat/rocket.chat:latest restart: unless-stopped expose: - 3000 ports: - 3000:3000 # web ui - #labels: - # - traefik.enable=true - # - traefik.http.routers.rocketchat.rule=Host(`chat.example.com`) # pls change - # - traefik.http.services.rocketchat.loadbalancer.server.port=3000 - # - traefik.docker.network=proxy - # # Part for local lan services only; disable to expose externally - # - traefik.http.routers.rocketchat.middlewares=local-ipwhitelist@file - #networks: - # - proxy volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/rocketchat/uploads:/app/uploads # only use if you enable filesystem upload in the admin area; see https://docs.rocket.chat/use-rocket.chat/workspace-administration/settings/file-upload#storage-type environment: @@ -34,11 +24,20 @@ services: DEPLOY_PLATFORM: ${DEPLOY_PLATFORM:-linux} depends_on: - mongodb + #networks: + # - proxy + #labels: + # - traefik.enable=true + # - traefik.http.routers.rocketchat.rule=Host(`chat.example.com`) # pls change + # - traefik.http.services.rocketchat.loadbalancer.server.port=3000 + # - traefik.docker.network=proxy + # # Part for local lan services only; disable to expose externally + # - traefik.http.routers.rocketchat.middlewares=local-ipwhitelist@file mongodb: + image: docker.io/bitnami/mongodb:${MONGODB_VERSION:-4.4} container_name: rocketchat-db hostname: rocketchat-db - image: docker.io/bitnami/mongodb:${MONGODB_VERSION:-4.4} restart: unless-stopped volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/rocketchat/mongodb:/bitnami/mongodb diff --git a/examples/rxresume/docker-compose-v3.yml b/examples/rxresume/docker-compose-v3.yml index 2d2cb40f3..c8f1c5838 100644 --- a/examples/rxresume/docker-compose-v3.yml +++ b/examples/rxresume/docker-compose-v3.yml @@ -1,5 +1,3 @@ -version: "3.8" - # This docker compose example targets rxresume < 4.0 # For a newer version, please see https://github.com/AmruthPillai/Reactive-Resume/tree/main/tools/compose @@ -22,6 +20,7 @@ version: "3.8" # https://github.com/AmruthPillai/Reactive-Resume/issues/721#issuecomment-1405283786 services: + postgres: image: postgres:16-alpine container_name: rxresume-db diff --git a/examples/rxresume/docker-compose-v4.yml b/examples/rxresume/docker-compose-v4.yml index 17520b0db..bf53b97ef 100644 --- a/examples/rxresume/docker-compose-v4.yml +++ b/examples/rxresume/docker-compose-v4.yml @@ -1,6 +1,5 @@ -version: "3.8" - services: + postgres: image: postgres:16-alpine container_name: rx-db diff --git a/examples/seafile/docker-compose.yml b/examples/seafile/docker-compose.yml index 00716fbdd..4bf4272bd 100644 --- a/examples/seafile/docker-compose.yml +++ b/examples/seafile/docker-compose.yml @@ -1,8 +1,7 @@ -version: '3.6' - services: + db: - image: mariadb:10.11 + image: mariadb:11.5 container_name: seafile-mysql environment: - MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service. @@ -28,6 +27,9 @@ services: ports: - "7780:80" # HTTP - "7443:443" # HTTPS + expose: + - 80 + - 443 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/seafile/data:/shared # Requested, specifies the path to Seafile data persistent store. environment: diff --git a/examples/send/docker-compose.yml b/examples/send/docker-compose.yml index 20d227fb3..4a8be6bd7 100644 --- a/examples/send/docker-compose.yml +++ b/examples/send/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3" - services: send: diff --git a/examples/sftpgo/docker-compose.yml b/examples/sftpgo/docker-compose.yml index 204dc4a0a..639cd2c3d 100644 --- a/examples/sftpgo/docker-compose.yml +++ b/examples/sftpgo/docker-compose.yml @@ -2,13 +2,16 @@ services: sftpgo: image: drakkan/sftpgo:v2-alpine + container_name: sftpgo user: 1000:1000 restart: unless-stopped ports: - 8888:8080 # HTTP - #- 2022:2022" # SFTP - #- 8443:443" # HTTPS - #- 5007:5007 # WEBDAV + expose: + - 8080 # HTTP + - 2022 # SFTP + - 443 # HTTPS + - 5007 # WEBDAV environment: # These are the settings to access your db SFTPGO_WEBDAVD__BINDINGS__0__PORT: 5007 @@ -28,7 +31,10 @@ services: mysql: image: mysql:latest + container_name: sftpgo-db restart: always + expose: + - 3306 environment: MYSQL_DATABASE: sftpgo MYSQL_USER: sftpgo # please change diff --git a/examples/shiori/docker-compose.yml b/examples/shiori/docker-compose.yml index d8b1db159..52e02f045 100644 --- a/examples/shiori/docker-compose.yml +++ b/examples/shiori/docker-compose.yml @@ -1,5 +1,3 @@ -version: "2.1" - services: shiori: diff --git a/examples/snipe-it/docker-compose.yml b/examples/snipe-it/docker-compose.yml index 44270eb8d..426b2c48d 100644 --- a/examples/snipe-it/docker-compose.yml +++ b/examples/snipe-it/docker-compose.yml @@ -1,9 +1,8 @@ ---- -version: "2.1" services: + snipe-it: image: lscr.io/linuxserver/snipe-it:latest - container_name: snipe-it + container_name: snipeit environment: - PUID=1000 - PGID=1000 @@ -18,11 +17,15 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/snipeit/config:/config ports: - 8080:80 + expose: + - 80 restart: unless-stopped mariadb: image: lscr.io/linuxserver/mariadb:latest - container_name: mariadb + container_name: snipeit-mariadb + expose: + - 3306 environment: - PUID=1000 - PGID=1000 diff --git a/examples/sonarqube/docker-compose.yml b/examples/sonarqube/docker-compose.yml index 29b0f8641..81b434546 100644 --- a/examples/sonarqube/docker-compose.yml +++ b/examples/sonarqube/docker-compose.yml @@ -1,11 +1,12 @@ -version: "3" - services: + sonarqube: image: sonarqube:lts-community container_name: sonarqube ports: - 9000:9000 # WEB UI + expose: + - 9000 environment: - sonar.jdbc.username=sonar - sonar.jdbc.password=sonar @@ -19,6 +20,8 @@ services: image: postgres:16-alpine container_name: sonarqube_db hostname: db + expose: + - 5432 environment: - POSTGRES_USER=sonar - POSTGRES_PASSWORD=sonar diff --git a/examples/sonarr/docker-compose.yml b/examples/sonarr/docker-compose.yml index 9151cbdaf..a8c7f0f9a 100644 --- a/examples/sonarr/docker-compose.yml +++ b/examples/sonarr/docker-compose.yml @@ -1,6 +1,5 @@ -version: "2.1" - services: + sonarr: image: lscr.io/linuxserver/sonarr:latest container_name: sonarr @@ -14,4 +13,6 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/sonarr/downloads:/downloads # Should be the same as the download client's folder ports: - 8989:8989 + expose: + - 8989 restart: unless-stopped diff --git a/examples/speedtest-tracker/docker-compose.yml b/examples/speedtest-tracker/docker-compose.yml index 30fadbb3e..a6002e107 100644 --- a/examples/speedtest-tracker/docker-compose.yml +++ b/examples/speedtest-tracker/docker-compose.yml @@ -1,10 +1,12 @@ -version: '3.3' services: + speedtest: container_name: speedtest image: henrywhitaker3/speedtest-tracker ports: - 8765:80 + expose: + - 80 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/speedtest-tracker/config:/config environment: diff --git a/examples/stash/docker-compose.yml b/examples/stash/docker-compose.yml index e305b5d58..7d0ea19b2 100644 --- a/examples/stash/docker-compose.yml +++ b/examples/stash/docker-compose.yml @@ -1,7 +1,5 @@ -# APPNICENAME=Stash -version: '3.4' - services: + stash: image: stashapp/stash:latest container_name: stash @@ -10,6 +8,8 @@ services: ## the container's port must be the same with the STASH_PORT in the environment section ports: - "9999:9999" + expose: + - 9999 ## If you intend to use stash's DLNA functionality uncomment the below network mode and comment out the above ports section # network_mode: host logging: @@ -36,10 +36,16 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/stash/cache:/cache ## Where to store generated content (screenshots,previews,transcodes,sprites) - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/stash/generated:/generated + #networks: + # - proxy #labels: # - traefik.enable=true + # - traefik.docker.network=proxy # - traefik.http.routers.stash.rule=Host(`stash.example.com`) # - traefik.http.services.stash.loadbalancer.server.port=9999 - # - traefik.docker.network=proxy # # Part for optional traefik middlewares # - traefik.http.routers.stash.middlewares=local-ipwhitelist@file,basic-auth@file + +#networks: +# proxy: +# external: true \ No newline at end of file diff --git a/examples/syncthing/docker-compose.yml b/examples/syncthing/docker-compose.yml index 9894cfe53..c1d493dd7 100644 --- a/examples/syncthing/docker-compose.yml +++ b/examples/syncthing/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + syncthing: image: syncthing/syncthing container_name: syncthing diff --git a/examples/tandoor/docker-compose.yml b/examples/tandoor/docker-compose.yml index 1747f0a6f..002cd1659 100644 --- a/examples/tandoor/docker-compose.yml +++ b/examples/tandoor/docker-compose.yml @@ -1,20 +1,24 @@ -version: "3" services: + db_recipes: - restart: always + image: postgres:16-alpine container_name: tandoor_db - image: postgres:16-alpine + restart: always + expose: + - 5432 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/tandoor/postgresql:/var/lib/postgresql/data env_file: - ./.env web_recipes: - restart: always + image: vabene1111/recipes:latest container_name: tandoor_recipes + restart: always ports: - 8080:8080 - image: vabene1111/recipes:latest + expose: + - 8080 env_file: - ./.env volumes: @@ -23,10 +27,16 @@ services: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/tandoor/mediafiles:/opt/recipes/mediafiles depends_on: - db_recipes - labels: - - traefik.enable=true - - traefik.http.routers.tandoor.rule=Host(`tandoor.example.com`) - - traefik.http.services.tandoor.loadbalancer.server.port=8080 - - traefik.docker.network=proxy - # Part for local lan services only - #- traefik.http.routers.tandoor.middlewares=local-ipwhitelist@file + #networks: + # - proxy + #labels: + # - traefik.enable=true + # - traefik.http.routers.tandoor.rule=Host(`tandoor.example.com`) + # - traefik.http.services.tandoor.loadbalancer.server.port=8080 + # - traefik.docker.network=proxy + # # Part for local lan services only + # #- traefik.http.routers.tandoor.middlewares=local-ipwhitelist@file + +#networks: +# proxy: +# external: true \ No newline at end of file diff --git a/examples/technitium/docker-compose.yml b/examples/technitium/docker-compose.yml index 3bfb292bc..39ac5f02a 100644 --- a/examples/technitium/docker-compose.yml +++ b/examples/technitium/docker-compose.yml @@ -1,9 +1,9 @@ -version: "3" services: + dns-server: + image: technitium/dns-server:latest container_name: dns-server hostname: dns-server - image: technitium/dns-server:latest # Use "host" network mode for DHCP deployments # network_mode: "host" ports: @@ -33,10 +33,16 @@ services: volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/technitium/config:/etc/dns/config restart: unless-stopped - labels: - - traefik.enable=true - - traefik.http.routers.technitium.rule=Host(`technitium.example.com`) - - traefik.http.services.technitium.loadbalancer.server.port=5380 - - traefik.docker.network=proxy - # Part for local lan services only - #- traefik.http.routers.technitium.middlewares=local-ipwhitelist@file + #networks: + # - proxy + #labels: + # - traefik.enable=true + # - traefik.docker.network=proxy + # - traefik.http.routers.technitium.rule=Host(`technitium.example.com`) + # - traefik.http.services.technitium.loadbalancer.server.port=5380 + # # Part for local lan services only + # #- traefik.http.routers.technitium.middlewares=local-ipwhitelist@file + +#networks: +# proxy: +# external: true \ No newline at end of file diff --git a/examples/tor-browser/docker-compose.yml b/examples/tor-browser/docker-compose.yml index 43156bdae..1eddbd94b 100644 --- a/examples/tor-browser/docker-compose.yml +++ b/examples/tor-browser/docker-compose.yml @@ -1,10 +1,15 @@ services: + torbrowser: image: domistyle/tor-browser:latest + container_name: torbrowser restart: unless-stopped ports: - 5800:5800 # Provides a web interface to access the Tor browser #- 5900:5900 # Provides direct access to the VNC server; optional + expose: + - 5800 + - 5900 environment: #- DISPLAY_WIDTH=1280 # default; optional #- DISPLAY_HEIGHT=768 # default; optional diff --git a/examples/traefik/docker-compose-command-config.yml b/examples/traefik/docker-compose-command-config.yml index bf5401468..604cfc492 100644 --- a/examples/traefik/docker-compose-command-config.yml +++ b/examples/traefik/docker-compose-command-config.yml @@ -1,13 +1,12 @@ # This docker compose example configures traefik by command definitions. # This makes the traefik.yml static configuration obsolete. # Note that we still reference a dynamic configuration for best practice - -version: '3.8' - services: + traefik: image: traefik:2.11 container_name: traefik + restart: always command: - --providers.docker=true # enable docker provider - --providers.docker.network=proxy # define default network to monitor for docker provider @@ -52,9 +51,11 @@ services: ports: - 80:80 # http - 443:443 # https - - 127.0.0.1:8080:8080 # traefik api dashboard - networks: - - proxy # define traefik docker network + - 127.0.0.1:8080:8080 # http api dashboard + expose: + - 80 # http + - 443 # https + - 8080 # http api dashboard environment: - TZ=Europe/Berlin # define timezone - CF_DNS_API_TOKEN= # define your cloudflare api token @@ -62,9 +63,10 @@ services: - /var/run/docker.sock:/var/run/docker.sock:ro # pass docker socket as read-only - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik:/etc/traefik/ # bind mount volume for persistent traefik data - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik/logs:/logs # bind mount volume for persistent traefik logs - restart: always # always restart traefik extra_hosts: - host.docker.internal:172.17.0.1 # define internal ip; helps traefik to resolve containers running in host network mode + networks: + - proxy # define traefik docker network networks: proxy: diff --git a/examples/traefik/docker-compose.yml b/examples/traefik/docker-compose.yml index 9beb945cc..df6bc4c83 100644 --- a/examples/traefik/docker-compose.yml +++ b/examples/traefik/docker-compose.yml @@ -1,19 +1,22 @@ -version: '3' services: + traefik: + image: traefik:v3.1 container_name: traefik - image: traefik:v3.1 + restart: always ports: - - 80:80/tcp # HTTP - - 443:443/tcp # HTTPS - - 443:443/udp # HTTPS via HTTP/3 QUIC UDP - - 127.0.0.1:8080:8080 # MGMT WEB UI + - 80:80/tcp # http + - 443:443/tcp # https + - 443:443/udp # https http3 quic + - 127.0.0.1:8080:8080 # http api dashboard + expose: + - 80 # http + - 443 # https + - 8080 # http api dashboard volumes: - /var/run/docker.sock:/var/run/docker.sock:ro # ro = read-only access to the docker.sock - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik:/etc/traefik/ # put the provided traefik.yml and fileConfig.yml files at this location - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik/logs:/logs - networks: - - proxy environment: - TZ=Europe/Berlin - CF_DNS_API_TOKEN=MyCloudflareApiToken # change this if you use Cloudflare @@ -23,10 +26,11 @@ services: - traefik.http.routers.api.service=api@internal # Enable Traefik API. - traefik.http.routers.api.middlewares=local-ipwhitelist@file,basic-auth@file # protect dashboard with basic auth and restrict access to private class subnets only #- traefik.http.middlewares.basic-auth-global.basicauth.users=admin:$$apr1$$epoKf5li$$QfTMJZOCS/halv3CiIUEu0 # protect the traefik dashboard by basic auth (pw=password) - restart: always extra_hosts: - host.docker.internal:172.17.0.1 + networks: + - proxy networks: proxy: - external: true + external: true \ No newline at end of file diff --git a/examples/transfer.sh/docker-compose.yml b/examples/transfer.sh/docker-compose.yml index fcdb6b0c2..81d91e723 100644 --- a/examples/transfer.sh/docker-compose.yml +++ b/examples/transfer.sh/docker-compose.yml @@ -1,6 +1,5 @@ -version: '3.3' - services: + transfer: image: dutchcoders/transfer.sh:latest-noroot container_name: transfer @@ -16,19 +15,19 @@ services: - --provider=local - --basedir=/tmp/ #networks: - # - dev # or use dev for testing purposes + # - proxy #labels: # - traefik.enable=true + # - traefik.docker.network=proxy # - traefik.http.routers.transfer.rule=Host(`transfer.example.com`) # - traefik.http.services.transfer.loadbalancer.server.port=8080 # - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads # - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads # - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads # - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads - # - traefik.docker.network=proxy # # Part for optional traefik middlewares # - traefik.http.routers.transfer.middlewares=local-ipwhitelist@file #networks: -# dev: # or use dev for testing purposes +# proxy: # external: true diff --git a/examples/transfer.zip/docker-compose.yml b/examples/transfer.zip/docker-compose.yml index e93b340b9..7f4295d40 100644 --- a/examples/transfer.zip/docker-compose.yml +++ b/examples/transfer.zip/docker-compose.yml @@ -1,37 +1,36 @@ -version: '3.3' - services: + web-server: #build: web-server image: l4rm4nd/transferzip:web-server hostname: web-server container_name: transferzip-web restart: unless-stopped + ports: + - 9001:80 expose: - 80 depends_on: - signaling-server - ports: - - 9001:80 #networks: # - proxy #labels: # - traefik.enable=true + # - traefik.docker.network=proxy # - traefik.http.routers.transferzip.rule=Host(`transfer.example.com`) # - traefik.http.services.transferzip.loadbalancer.server.port=80 # - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads # - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads # - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads # - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads - # - traefik.docker.network=proxy # # Part for optional traefik middlewares # - traefik.http.routers.transferzip.middlewares=local-ipwhitelist@file,authelia@file,basic-auth@file signaling-server: #build: signaling-server image: l4rm4nd/transferzip:signaling-server - hostname: signaling-server container_name: transferzip-signaling + hostname: signaling-server restart: unless-stopped #networks: # - proxy diff --git a/examples/transmission/docker-compose.yml b/examples/transmission/docker-compose.yml index c7231e5b4..130e1244f 100644 --- a/examples/transmission/docker-compose.yml +++ b/examples/transmission/docker-compose.yml @@ -1,9 +1,9 @@ -version: "2.1" - services: + transmission: image: lscr.io/linuxserver/transmission:latest container_name: transmission + restart: unless-stopped environment: - PUID=1000 - PGID=1000 @@ -16,4 +16,6 @@ services: - 9091:9091 # web ui - 51413:51413 # torrent port tcp - 51413:51413/udp # torrent port udp - restart: unless-stopped + expose: + - 9091 + - 51413 \ No newline at end of file diff --git a/examples/trsync/docker-compose.yml b/examples/trsync/docker-compose.yml index 64d483422..e143d83d3 100644 --- a/examples/trsync/docker-compose.yml +++ b/examples/trsync/docker-compose.yml @@ -1,10 +1,26 @@ -version: '3.3' services: - trsync: - image: l4rm4nd/trsync:latest - container_name: trsync - ports: - - '8000:8000' - environment: - - SECRET_KEY=ChooseStrongSecretKeyHere # pls change - - DOMAIN=trsync.example.com # your hostname to put in Django's ALLOW_HOSTS + + trsync: + image: l4rm4nd/trsync:latest + container_name: trsync + restart: unless-stopped + ports: + - 8000:8000/tcp + expose: + - 8000 + environment: + - SECRET_KEY=ChooseStrongSecretKeyHere # pls change + - DOMAIN=trsync.example.com # your hostname to put in Django's ALLOW_HOSTS + #networks: + # - proxy + #labels: + # - traefik.enable=true + # - traefik.docker.network=proxy + # - traefik.http.routers.trsync.rule=Host(`trsync.example.com`) + # - traefik.http.services.trsync.loadbalancer.server.port=8000 + # # Optional part for traefik middlewares + # - traefik.http.routers.trsync.middlewares=local-ipwhitelist@file + +#networks: +# proxy: +# external: true diff --git a/examples/unify-network-application/docker-compose.yml b/examples/unify-network-application/docker-compose.yml index 7d6280548..ce535cd37 100644 --- a/examples/unify-network-application/docker-compose.yml +++ b/examples/unify-network-application/docker-compose.yml @@ -1,6 +1,5 @@ -version: "2.1" - services: + unifi-network-application: image: lscr.io/linuxserver/unifi-network-application:latest container_name: unifi-network-application diff --git a/examples/upsnap/docker-compose.yml b/examples/upsnap/docker-compose.yml index b352c963b..1ace8ca90 100644 --- a/examples/upsnap/docker-compose.yml +++ b/examples/upsnap/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + upsnap: image: ghcr.io/seriousm4x/upsnap:3 container_name: upsnap diff --git a/examples/uptime-kuma/docker-compose.yml b/examples/uptime-kuma/docker-compose.yml index a71d2b6d1..efd25ebdc 100644 --- a/examples/uptime-kuma/docker-compose.yml +++ b/examples/uptime-kuma/docker-compose.yml @@ -1,10 +1,9 @@ -version: "3.8" - services: + app: + image: louislam/uptime-kuma container_name: uptime-kuma hostname: uptime-kuma - image: louislam/uptime-kuma restart: always ports: - 3001:3001 @@ -19,9 +18,9 @@ services: # - proxy #labels: # - traefik.enable=true + # - traefik.docker.network=proxy # - traefik.http.routers.uptimekuma.rule=Host(`uptimekuma.example.com`) # - traefik.http.services.uptimekuma.loadbalancer.server.port=3001 - # - traefik.docker.network=proxy # # Part for local lan services only # #- traefik.http.routers.uptimekuma.middlewares=local-ipwhitelist@file diff --git a/examples/vaultwarden/docker-compose.yml b/examples/vaultwarden/docker-compose.yml index a95892583..23af5a875 100644 --- a/examples/vaultwarden/docker-compose.yml +++ b/examples/vaultwarden/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + vaultwarden: image: vaultwarden/server:latest-alpine container_name: vaultwarden @@ -28,6 +27,11 @@ services: - EXTENDED_LOGGING=true ports: - 8888:80 + expose: + - 80 + volumes: + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/data:/data + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/logs:/data/logs #networks: # - proxy #labels: @@ -41,9 +45,6 @@ services: # - traefik.http.routers.vaultwarden-admin.service=vaultwarden # - traefik.http.services.vaultwarden-admin.loadbalancer.server.port=80 # - traefik.http.routers.vaultwarden-admin.middlewares=local-ipwhitelist@file,authelia@file - volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/data:/data - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/logs:/data/logs # this service will backup your vaultwarden instance correctly # see https://github.com/Bruceforce/vaultwarden-backup for more information @@ -55,15 +56,11 @@ services: init: true depends_on: - vaultwarden - #labels: - # com.centurylinklabs.watchtower.monitor-only: true volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/data:/data/ - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vaultwarden/backup:/myBackup - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - #networks: - # - proxy environment: - TIMESTAMP=true - DELETE_AFTER=30 @@ -72,6 +69,8 @@ services: - TZ=Europe/Berlin - BACKUP_DIR=/myBackup - CRON_TIME=50 3 * * * # see https://crontab.guru/, define without quotes! + #networks: + # - proxy #networks: # proxy: diff --git a/examples/watchtower/docker-compose.yml b/examples/watchtower/docker-compose.yml index d4bea0d1f..8dd634ebd 100644 --- a/examples/watchtower/docker-compose.yml +++ b/examples/watchtower/docker-compose.yml @@ -1,7 +1,7 @@ -version: "3.9" - services: + watchtower: + image: containrrr/watchtower:latest container_name: watchtower hostname: watchtower environment: @@ -16,12 +16,11 @@ services: #- WATCHTOWER_MONITOR_ONLY=true - WATCHTOWER_SCHEDULE=0 0 6 * * * # requires a go cron syntax of 6 space-separated fields; see https://containrrr.dev/watchtower/arguments/#scheduling - WATCHTOWER_CLEANUP=true # remove unused images afterwards - image: containrrr/watchtower:latest - labels: - com.centurylinklabs.watchtower: true restart: always network_mode: "host" volumes: - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro working_dir: / + labels: + com.centurylinklabs.watchtower: true diff --git a/examples/watchyourlan/docker-compose-v1.yml b/examples/watchyourlan/docker-compose-v1.yml index 2f33f2866..4091a0cbd 100644 --- a/examples/watchyourlan/docker-compose-v1.yml +++ b/examples/watchyourlan/docker-compose-v1.yml @@ -1,5 +1,5 @@ -version: "3" services: + wyl: image: aceberg/watchyourlan:1.0.6 container_name: watchyourlan diff --git a/examples/watchyourlan/docker-compose-v2.yml b/examples/watchyourlan/docker-compose-v2.yml index 1ca6813e9..98360b8bd 100644 --- a/examples/watchyourlan/docker-compose-v2.yml +++ b/examples/watchyourlan/docker-compose-v2.yml @@ -1,6 +1,5 @@ -version: "3" - services: + wyl: image: aceberg/watchyourlan:v2 container_name: watchyourlan-v2 diff --git a/examples/webhook.site/docker-compose.yml b/examples/webhook.site/docker-compose.yml index e4fbfb292..ed47f7be4 100644 --- a/examples/webhook.site/docker-compose.yml +++ b/examples/webhook.site/docker-compose.yml @@ -1,11 +1,12 @@ -version: '3' - services: + webhook: image: webhooksite/webhook.site container_name: webhook restart: unless-stopped command: php artisan queue:work --daemon --tries=3 --timeout=10 + ports: + - 8084:80 expose: - 80 environment: @@ -23,13 +24,13 @@ services: - redis #labels: # - traefik.enable=true - # - traefik.docker.network=dev + # - traefik.docker.network=proxy # - traefik.http.routers.webhook.rule=Host(`hook.example.com`) # - traefik.http.services.webhook.loadbalancer.server.port=80 # # Optional part for traefik middlewares # - traefik.http.routers.webhook.middlewares=local-ipwhitelist@file,authelia@docker #networks: - # - dev + # - proxy redis: image: redis:alpine @@ -38,7 +39,7 @@ services: #volumes: # - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/requestbin/redis:/data #networks: - # - dev + # - proxy laravel-echo-server: image: webhooksite/laravel-echo-server @@ -56,8 +57,8 @@ services: - ECHO_ALLOW_METHODS=* - ECHO_ALLOW_HEADERS=* #networks: - # - dev + # - proxy #networks: -# dev: +# proxy: # external: true diff --git a/examples/webtrees/docker-compose.yml b/examples/webtrees/docker-compose.yml index 4ed017942..eb250c2a0 100644 --- a/examples/webtrees/docker-compose.yml +++ b/examples/webtrees/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3" - services: app: @@ -49,8 +47,10 @@ services: MARIADB_ROOT_PASSWORD: "badpassword" MARIADB_PASSWORD: "badpassword" restart: unless-stopped + expose: + - 3306 volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/webtrees/db:/var/lib/mysql + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/webtrees/db:/var/lib/mysql #networks: # - webtrees-default diff --git a/examples/wg-easy/docker-compose.yml b/examples/wg-easy/docker-compose.yml index 6c20535cf..e05f846ba 100644 --- a/examples/wg-easy/docker-compose.yml +++ b/examples/wg-easy/docker-compose.yml @@ -1,34 +1,36 @@ -version: "3" - services: + wg-easy: + image: ghcr.io/wg-easy/wg-easy:13 + container_name: wg-easy + hostname: wireguard-easy + restart: unless-stopped cap_add: - NET_ADMIN - SYS_MODULE - container_name: wg-easy environment: - WG_HOST=vpn.example.com # your hostname or ip address - PASSWORD=MyStrongPasswordForWebUi # change this - WG_DEFAULT_DNS=1.1.1.1,8.8.8.8 # add your local dns like pihole - WG_ALLOWED_IPS=0.0.0.0/0, ::/0 - WG_DEVICE=eth0 - hostname: wireguard-easy - image: ghcr.io/wg-easy/wg-easy:13 ports: - - 51820:51820/udp #VPN - - 51821:51821/tcp #WEBGUI - restart: unless-stopped + - 51820:51820/udp # wireguard vpn + - 51821:51821/tcp # admin web ui + expose: + - 51820/udp # wireguard vpn + - 51821/tcp # admin web ui volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/wg-easy:/etc/wireguard #networks: # - proxy -# labels: -# - traefik.enable=true -# - traefik.http.routers.wireguard.rule=Host(`vpn.example.com`) -# - traefik.http.services.wireguard.loadbalancer.server.port=51821 -# - traefik.docker.network=proxy -# # Part for local lan services only -# - traefik.http.routers.wireguard.middlewares=local-ipwhitelist@file + #labels: + # - traefik.enable=true + # - traefik.docker.network=proxy + # - traefik.http.routers.wireguard.rule=Host(`vpn.example.com`) + # - traefik.http.services.wireguard.loadbalancer.server.port=51821 + # # Part for local lan services only + # - traefik.http.routers.wireguard.middlewares=local-ipwhitelist@file #networks: # proxy: diff --git a/examples/whoogle/docker-compose.yml b/examples/whoogle/docker-compose.yml index a1620dd94..e5526b2e8 100644 --- a/examples/whoogle/docker-compose.yml +++ b/examples/whoogle/docker-compose.yml @@ -1,12 +1,16 @@ # can't use mem_limit in a 3.x docker-compose file in non swarm mode # see https://github.com/docker/compose/issues/4513 -version: "2.4" services: + whoogle-search: image: benbusby/whoogle-search container_name: whoogle-search restart: unless-stopped + ports: + - 5000:5000 + expose: + - 5000 pids_limit: 50 mem_limit: 256mb memswap_limit: 256mb @@ -43,6 +47,4 @@ services: #- WHOOGLE_ALT_IMDB=farside.link/libremdb #- WHOOGLE_ALT_QUORA=farside.link/quetre #env_file: # Alternatively, load variables from whoogle.env - #- whoogle.env - ports: - - 5000:5000 + #- whoogle.env \ No newline at end of file diff --git a/examples/wikijs/docker-compose.yml b/examples/wikijs/docker-compose.yml index 23571535e..ccab7428c 100644 --- a/examples/wikijs/docker-compose.yml +++ b/examples/wikijs/docker-compose.yml @@ -1,6 +1,5 @@ -version: "3" - services: + wikijs: image: linuxserver/wikijs:latest container_name: wikijs diff --git a/examples/wireguard/docker-compose.yml b/examples/wireguard/docker-compose.yml index 757e89133..2c57c6770 100644 --- a/examples/wireguard/docker-compose.yml +++ b/examples/wireguard/docker-compose.yml @@ -1,28 +1,29 @@ -version: "3.7" +services: -services: wireguard: - image: linuxserver/wireguard - container_name: wireguard + image: linuxserver/wireguard + container_name: wireguard + restart: unless-stopped cap_add: - - NET_ADMIN - - SYS_MODULE + - NET_ADMIN + - SYS_MODULE environment: - - PUID=1000 - - PGID=1000 + - PUID=1000 + - PGID=1000 - TZ=Europe/Berlin - - SERVERURL=vpn.example.com #optional - - SERVERPORT=51820 #optional - - PEERS=1 #optional - - PEERDNS=auto #optional - - INTERNAL_SUBNET=10.13.13.0 #optional - - ALLOWEDIPS=0.0.0.0/0 #optional - volumes: - - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/wireguard/config:/config - - /usr/src:/usr/src # location of kernel headers - - /lib/modules:/lib/modules - ports: - - 51820:51820/udp - sysctls: - - net.ipv4.conf.all.src_valid_mark=1 - restart: unless-stopped \ No newline at end of file + - SERVERURL=vpn.example.com #optional + - SERVERPORT=51820 #optional + - PEERS=1 #optional + - PEERDNS=auto #optional + - INTERNAL_SUBNET=10.13.13.0 #optional + - ALLOWEDIPS=0.0.0.0/0 #optional + volumes: + - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/wireguard/config:/config + - /usr/src:/usr/src # location of kernel headers + - /lib/modules:/lib/modules + ports: + - 51820:51820/udp # wireguard vpn + expose: + - 51820 + sysctls: + - net.ipv4.conf.all.src_valid_mark=1 diff --git a/examples/wordpress/docker-compose.yml b/examples/wordpress/docker-compose.yml index 0b299999e..678be3b95 100644 --- a/examples/wordpress/docker-compose.yml +++ b/examples/wordpress/docker-compose.yml @@ -1,14 +1,15 @@ -version: '3.3' - services: + wordpress-db: image: mariadb:10.11 container_name: wordpress-db hostname: wordpress-db + restart: unless-stopped command: '--default-authentication-plugin=mysql_native_password' + expose: + - 3306 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/wordpress/mysql:/var/lib/mysql - restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=wordpressroot - MYSQL_DATABASE=wordpress diff --git a/examples/yourls/docker-compose.yml b/examples/yourls/docker-compose.yml index 8da752f72..e964cee49 100644 --- a/examples/yourls/docker-compose.yml +++ b/examples/yourls/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.1' - services: yourls: @@ -34,6 +32,8 @@ services: image: mysql:latest container_name: yourls-db restart: unless-stopped + expose: + - 3306 environment: MYSQL_DATABASE: yourls MYSQL_USER: yourls