Graduate new portainer config to new style
This commit is contained in:
parent
69f5636b5b
commit
71cbc2d87b
|
@ -0,0 +1,36 @@
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: sanity check
|
||||||
|
steps:
|
||||||
|
- name: docker-compose up & down
|
||||||
|
image: docker/compose:1.25.5
|
||||||
|
commands:
|
||||||
|
- docker-compose up -d
|
||||||
|
- sleep 10
|
||||||
|
- docker-compose ps
|
||||||
|
- docker-compose down
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: deploy to swarm.autonomic.zone
|
||||||
|
steps:
|
||||||
|
- name: deployment
|
||||||
|
image: decentral1se/drone-stack:19.03.8-override-compose
|
||||||
|
settings:
|
||||||
|
compose: docker-compose.yml
|
||||||
|
host: tcp://swarm.autonomic.zone:2376
|
||||||
|
override_compose: docker-compose.production.yml
|
||||||
|
stack_name: portainer
|
||||||
|
tlsverify: true
|
||||||
|
environment:
|
||||||
|
PLUGIN_CACERT:
|
||||||
|
from_secret: docker_cacert
|
||||||
|
PLUGIN_CERT:
|
||||||
|
from_secret: docker_cert
|
||||||
|
PLUGIN_KEY:
|
||||||
|
from_secret: docker_key
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
depends_on:
|
||||||
|
- sanity check
|
19
Makefile
19
Makefile
|
@ -1,19 +0,0 @@
|
||||||
STACK := portainer
|
|
||||||
COMPOSE_FILE := docker-compose.yml
|
|
||||||
NETWORK := proxy
|
|
||||||
|
|
||||||
default: deploy
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
@docker stack deploy -c $(COMPOSE_FILE) $(STACK)
|
|
||||||
|
|
||||||
down:
|
|
||||||
@docker stack rm $(STACK)
|
|
||||||
|
|
||||||
network:
|
|
||||||
@docker network create --driver=overlay $(NETWORK)
|
|
||||||
|
|
||||||
logs:
|
|
||||||
@docker service logs -f $(STACK)_$(STACK)
|
|
||||||
|
|
||||||
.PHONY: deploy
|
|
20
README.md
20
README.md
|
@ -1,3 +1,23 @@
|
||||||
# portainer
|
# portainer
|
||||||
|
|
||||||
> https://portainer.readthedocs.io
|
> https://portainer.readthedocs.io
|
||||||
|
|
||||||
|
> https://portainer.swarm.autonomic.zone
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ git clone https://git.autonomic.zone/autonomic-cooperative/portainer && cd portainer
|
||||||
|
$ python3 -m venv .venv && source .venv/bin/activate
|
||||||
|
$ pip install -U pip setuptools docker-compose
|
||||||
|
$ docker-compose up
|
||||||
|
```
|
||||||
|
|
||||||
|
Portainer dashboard
|
||||||
|
|
||||||
|
> http://localhost:9000
|
||||||
|
|
||||||
|
## Production
|
||||||
|
|
||||||
|
1. Our [drone.autonomic.zone](https://drone.autonomic.zone/autonomic-cooperative/portainer/) configuration automatically deploys.
|
||||||
|
1. For a manual deploy guide, see [this documentation](https://git.autonomic.zone/autonomic-cooperative/organising/wiki/working-with-docker-swarm).
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
portainer:
|
||||||
|
volumes:
|
||||||
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
@ -0,0 +1,48 @@
|
||||||
|
---
|
||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
agent:
|
||||||
|
image: portainer/agent
|
||||||
|
volumes:
|
||||||
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||||
|
- "/var/lib/docker/volumes:/var/lib/docker/volumes"
|
||||||
|
networks:
|
||||||
|
- agent_network
|
||||||
|
deploy:
|
||||||
|
mode: global
|
||||||
|
placement:
|
||||||
|
constraints:
|
||||||
|
- node.role == manager
|
||||||
|
|
||||||
|
portainer:
|
||||||
|
command: "-H tcp://tasks.agent:9001 --tlsskipverify"
|
||||||
|
volumes:
|
||||||
|
- "portainer_data:/data"
|
||||||
|
networks:
|
||||||
|
- agent_network
|
||||||
|
- proxy
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: 1
|
||||||
|
update_config:
|
||||||
|
failure_action: rollback
|
||||||
|
placement:
|
||||||
|
constraints:
|
||||||
|
- node.role == manager
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
||||||
|
- "traefik.http.routers.portainer.rule=Host(`portainer.swarm.autonomic.zone`)"
|
||||||
|
- "traefik.http.routers.portainer.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.portainer.tls.certresolver=staging"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
agent_network:
|
||||||
|
driver: overlay
|
||||||
|
attachable: true
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
portainer_data:
|
|
@ -1,52 +1,9 @@
|
||||||
---
|
---
|
||||||
version: "3.3"
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
agent:
|
|
||||||
image: portainer/agent
|
|
||||||
restart: always
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
|
||||||
networks:
|
|
||||||
- agent_network
|
|
||||||
deploy:
|
|
||||||
mode: global
|
|
||||||
placement:
|
|
||||||
constraints:
|
|
||||||
- node.platform.os == linux
|
|
||||||
|
|
||||||
portainer:
|
portainer:
|
||||||
image: portainer/portainer
|
image: portainer/portainer
|
||||||
restart: "always"
|
|
||||||
command: -H tcp://tasks.agent:9001 --tlsskipverify
|
|
||||||
ports:
|
ports:
|
||||||
- "9000:9000"
|
- "9000:9000"
|
||||||
- "8000:8000"
|
- "8000:8000"
|
||||||
volumes:
|
|
||||||
- portainer_data:/data
|
|
||||||
networks:
|
|
||||||
- agent_network
|
|
||||||
- proxy
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
placement:
|
|
||||||
constraints:
|
|
||||||
- node.role == manager
|
|
||||||
labels:
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
|
||||||
- "traefik.http.routers.portainer.rule=Host(`portainer.swarm.autonomic.zone`)"
|
|
||||||
- "traefik.http.routers.portainer.entrypoints=web-secure"
|
|
||||||
- "traefik.http.routers.portainer.tls.certresolver=staging"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
agent_network:
|
|
||||||
driver: overlay
|
|
||||||
attachable: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
portainer_data:
|
|
||||||
|
|
Loading…
Reference in New Issue