mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-04 02:46:23 +00:00
added portainer
This commit is contained in:
@@ -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.
|
||||||
@@ -1,38 +1,29 @@
|
|||||||
################################################################################
|
version: '3'
|
||||||
# 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
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
portainer:
|
portainer:
|
||||||
image: portainer/portainer:${PORTAINER_V}
|
image: ${PORTAINER_IMAGE:-portainer/portainer-ce:latest}
|
||||||
command: -H unix:///var/run/docker.sock
|
ports:
|
||||||
restart: unless-stopped
|
- 9000:9000
|
||||||
networks:
|
environment:
|
||||||
- admin_web
|
- AGENT_SECRET=${AGENT_SECRET}
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- ./templates/templates.json:/templates.json
|
- "${VOL_PATH:-./config}/portainer:/data"
|
||||||
- portainer:/data
|
restart: always
|
||||||
command: -H unix:///var/run/docker.sock
|
networks:
|
||||||
labels:
|
- portainer-net
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.portainer.rule=Host(`${PORTAINER_DOMAIN_NAME}`)"
|
portainer-agent:
|
||||||
- "traefik.http.routers.portainer.entrypoints=websecure"
|
image: ${PORTAINER_AGENT_IMAGE:-portainer/agent:latest}
|
||||||
- "traefik.http.routers.portainer.tls.certresolver=letsencrypt"
|
volumes:
|
||||||
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
- /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
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ version: '3.4'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
stash:
|
stash:
|
||||||
image: ${STASH_IMAGE:-stashapp/stash:v0.26.2}
|
image: ${STASH_IMAGE:-stashapp/stash:latest}
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
|
|||||||
Reference in New Issue
Block a user