added portainer

This commit is contained in:
2024-07-20 11:12:40 -07:00
parent 74dca8091c
commit f7d986b0f0
3 changed files with 82 additions and 34 deletions
+57
View File
@@ -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.
+24 -33
View File
@@ -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
+1 -1
View File
@@ -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: