From f7d986b0f06f38183ce1771654d0bde86bc79ffd Mon Sep 17 00:00:00 2001 From: Nick Yeoman Date: Sat, 20 Jul 2024 11:12:40 -0700 Subject: [PATCH] added portainer --- portainer/README.md | 57 ++++++++++++++++++++++++++++++++++++ portainer/docker-compose.yml | 57 +++++++++++++++--------------------- stashapp/docker-compose.yml | 2 +- 3 files changed, 82 insertions(+), 34 deletions(-) create mode 100644 portainer/README.md diff --git a/portainer/README.md b/portainer/README.md new file mode 100644 index 0000000..7cf59d0 --- /dev/null +++ b/portainer/README.md @@ -0,0 +1,57 @@ +# Portainer + +## Ports + +Portainer: 9000 +Portainer Agent: 9001 + +## Network + +Create a private network for portainer: ```sudo podman network create portainer-net``` + +## env config + +You must set an agent secret ```openssl rand -base64 32``` + +``` +PORTAINER_IMAGE=portainer/portainer-ce:latest +PORTAINER_AGENT_IMAGE=portainer/agent:latest +AGENT_SECRET=01234567890132456789012345678912 +VOL_PATH=/docker/vol/portainer-data +COOKBOOK=/home/user/git/docker-compose-cookbooks +``` + +### Docker Compose Extend + +Now using extend you can call the service: + +```yaml +version: '3.4' + +networks: + portainer-net: + external: true + +services: + portainer-agent: + extends: + file: ${COOKBOOK}/portainer/docker-compose.yml + service: portainer-agent + env_file: + - .env + + portainer: + extends: + file: ${COOKBOOK}/portainer/docker-compose.yml + service: portainer + env_file: + - .env +``` + +You will likely want to spit up the agent and GUI in your projects. + +## Gotchas + +### Podman + +Make sure podman-docker is installed. \ No newline at end of file diff --git a/portainer/docker-compose.yml b/portainer/docker-compose.yml index 0396ec5..26e783b 100644 --- a/portainer/docker-compose.yml +++ b/portainer/docker-compose.yml @@ -1,38 +1,29 @@ -################################################################################ -# Portainer -# You should only need one instance of this running -# Change .env then -# docker-compose up -d -# -# Version 2 -################################################################################ - -version: '2' - -volumes: - portainer: - -networks: - admin_web: - external: - name: admin_web +version: '3' services: - portainer: - image: portainer/portainer:${PORTAINER_V} - command: -H unix:///var/run/docker.sock - restart: unless-stopped - networks: - - admin_web + image: ${PORTAINER_IMAGE:-portainer/portainer-ce:latest} + ports: + - 9000:9000 + environment: + - AGENT_SECRET=${AGENT_SECRET} volumes: - /var/run/docker.sock:/var/run/docker.sock - - ./templates/templates.json:/templates.json - - portainer:/data - command: -H unix:///var/run/docker.sock - labels: - - "traefik.enable=true" - - "traefik.http.routers.portainer.rule=Host(`${PORTAINER_DOMAIN_NAME}`)" - - "traefik.http.routers.portainer.entrypoints=websecure" - - "traefik.http.routers.portainer.tls.certresolver=letsencrypt" - - "traefik.http.services.portainer.loadbalancer.server.port=9000" + - "${VOL_PATH:-./config}/portainer:/data" + restart: always + networks: + - portainer-net + + portainer-agent: + image: ${PORTAINER_AGENT_IMAGE:-portainer/agent:latest} + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /var/lib/docker/volumes:/var/lib/docker/volumes + environment: + - AGENT_SECRET=${AGENT_SECRET} + ports: + - 9001:9001 + restart: always + networks: + - portainer-net + diff --git a/stashapp/docker-compose.yml b/stashapp/docker-compose.yml index 464fe57..261cdfd 100644 --- a/stashapp/docker-compose.yml +++ b/stashapp/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.4' services: stash: - image: ${STASH_IMAGE:-stashapp/stash:v0.26.2} + image: ${STASH_IMAGE:-stashapp/stash:latest} logging: driver: "json-file" options: