diff --git a/portainer/README.md b/portainer/README.md new file mode 100644 index 0000000..4827d77 --- /dev/null +++ b/portainer/README.md @@ -0,0 +1,23 @@ +# Installation + +``` +git clone https://github.com/atareao/self-hosted.git +cd self-hosted/portainer +cp sample.env .env +sed -i "s/portainer.tuservidor.es/el_fqdn_que_quieras/g" .env +mkdir data +``` + +A la hora de levantar el servicio dependerá del proxy inverso que hayas seleccionado. Si has elegido Caddy, simplemente, + +``` +docker-compose -f docker-compose.yml -f docker-compose.caddy.yml up -d +docker-compose logs -f +``` + +Mientras que si has elegido Traefik, + +``` +docker-compose -f docker-compose.yml -f docker-compose.traefik.yml up -d +docker-compose logs -f +``` diff --git a/portainer/docker-compose.caddy.yml b/portainer/docker-compose.caddy.yml new file mode 100644 index 0000000..cd8a980 --- /dev/null +++ b/portainer/docker-compose.caddy.yml @@ -0,0 +1,13 @@ +version: "3" + +services: + portainer: + networks: + - proxy + labels: + - caddy="${FQDN}" + - caddy.reverse_proxy="{{upstreams 9000}}" + +networks: + proxy: + external: true diff --git a/portainer/docker-compose.traefik.yml b/portainer/docker-compose.traefik.yml new file mode 100644 index 0000000..33c9f9f --- /dev/null +++ b/portainer/docker-compose.traefik.yml @@ -0,0 +1,21 @@ +version: '3' + +services: + portainer: + networks: + - proxy + labels: + - traefik.enable=true + - traefik.http.services.portainer.loadbalancer.server.port=9000 + - traefik.http.routers.portainer.entrypoints=web + - traefik.http.routers.portainer.rule=Host(`${FQDN}`) + - traefik.http.middlewares.portainer-https-redirect.redirectscheme.scheme=websecure + - traefik.http.routers.portainer.middlewares=portainer-https-redirect + - traefik.http.routers.portainer-secure.entrypoints=websecure + - traefik.http.routers.portainer-secure.rule=Host(`${FQDN}`) + - traefik.http.routers.portainer-secure.tls=true + - traefik.http.routers.portainer-secure.tls.certresolver=letsencrypt + +networks: + proxy: + external: true diff --git a/portainer/docker-compose.yml b/portainer/docker-compose.yml new file mode 100755 index 0000000..9ed52de --- /dev/null +++ b/portainer/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3" + +services: + + portainer: + image: portainer/portainer-ce:alpine + container_name: portainer + command: -H unix:///var/run/docker.sock + restart: unless-stopped + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./data:/data diff --git a/portainer/sample.env b/portainer/sample.env new file mode 100644 index 0000000..22a0a0c --- /dev/null +++ b/portainer/sample.env @@ -0,0 +1 @@ +FQDN=https://portainer.tuservidor.es