You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yarn/deployment
Anthony Bucci 0a5cb3af76
continuous-integration/drone/push Build is passing Details
Oops, had left "Buccipod" in one of the options; fixed that
5 months ago
..
systemd Oops, had left "Buccipod" in one of the options; fixed that 5 months ago
README.MD Update 'deployment/README.MD' 7 months ago
traefik.yml Add Deployment Guide Documentation (#933) 1 year ago
yarn.yml Add Deployment Guide Documentation (#933) 1 year ago

README.MD

Deploy via Docker Swarm and Cloudflare

This deployment guide assumes you are using Docker with Swarm mode using Traefik as the ingress and CLoudflare for DNS and Reverse Proxying (Optiona).

There are many other ways to deploy this which we will cover eventually, but for now Docker Swarm is fairly simple.

Note: The use of Cloudflare is entirely optional in this setup, you could swap it for any DNS provider. It is used by Traefik to automatically configure DNS-01 challenges for Let's Encrypt for TLS certificates.

Requirements

  • A VPS or VM publically accessible
  • A domain name
  • DNS hosted on Cloudflare
  • A cup of coffee

Setup

  • Update and configure your VPS/VM how you prefer. Hardening and configuration is out of scope for this guide
  • Ensure ports 80/443(tcp) are open via IPTables or UFW, however you choose to open them
  • Visit cloudflare and point mypoddomain.com to the public-routable IP address of your system, ensure proxy is checked
  • Grab your API key from the Cloudflare interface
  • Install docker on your VPS/VM
  • Create an operator user with wheel or sudo group as well as docker group
  • Execute: docker swarm init, you've now created a single node Docker Swarm Cluster
  • Execute: docker network create -d overlay traefik this will create the network needed for Traefik and Yarn to communicate
  • Execute: docker stack deploy -c traefik.yml traefik this will deploy the traefik stack
  • Give Traefik a few minutes to warm up. Tail the logs with docker logs -f traefik_traefik.1.someid to ensure there are no errors
  • Execute: docker stack deploy -c yarn.yml yarn
  • Execute watch docker stack ps yarn --no-trunc to ensure the stack comes up and reaches running state
  • Execute: docker logs -f yarn_yarn.1.someid to verify the store is merged and service is up
  • If there are no issues, you should be able to visit: https://mypoddomain.com
  • To create your admin user, register with the username and email you set in the yarn.yml file
  • Login to your pod to verify it was successful
  • You can now customise your pod by visiting Settings -> Poderator Settings
  • Grab another coffee