Graduate new portainer config to new style

This commit is contained in:
Luke Murphy 2020-04-30 20:59:50 +02:00
parent 69f5636b5b
commit 71cbc2d87b
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC
7 changed files with 112 additions and 63 deletions

36
.drone.yml Normal file
View File

@ -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

View File

@ -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

View File

@ -1,3 +1,23 @@
# portainer
> 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).

View File

@ -0,0 +1,7 @@
---
version: "3.7"
services:
portainer:
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"

View File

@ -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:

View File

@ -1,52 +1,9 @@
---
version: "3.3"
version: "3.7"
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:
image: portainer/portainer
restart: "always"
command: -H tcp://tasks.agent:9001 --tlsskipverify
ports:
- "9000:9000"
- "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: