114 lines
No EOL
4.1 KiB
YAML
114 lines
No EOL
4.1 KiB
YAML
# podman save --format oci-archive jade-website-frontend:latest | gzip | ssh core@176.126.240.240 -T "zcat | podman load"
|
|
# podman compose create
|
|
# let containers = podman ps -a --format json | from json | where Labels."com.docker.compose.project" == "jade-website"
|
|
|
|
# podman compose create; let containers = podman ps -a --format json | from json | where Labels."com.docker.compose.project" == "jade-website"; podman kube generate ($containers | get Id) | save deployment.yml
|
|
# echo deployment.yml | ssh core@176.126.240.240 -T "cat > deployment.yml"
|
|
# $containers.1.Labels | to yaml
|
|
|
|
# podman kube generate -s ($containers | get Id) --podman-only | ssh core@176.126.240.240 -T "cat > deployment.yml"
|
|
|
|
|
|
version: '2'
|
|
services:
|
|
jade-website-frontend:
|
|
image: jade-website-frontend:latest
|
|
build:
|
|
context: .
|
|
dockerfile: packages/website/Dockerfile
|
|
restart: unless-stopped
|
|
# ports:
|
|
# - 3000:3000
|
|
networks:
|
|
- proxy
|
|
# deploy:
|
|
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=proxy" # Change this to the name of your Traefik docker proxy network
|
|
|
|
# - "traefik.http.routers.to-website.rule=Host(`jade.ellis.link`)"
|
|
# - "traefik.http.routers.to-website.entrypoints=http"
|
|
- "traefik.http.routers.to-website.rule=Host(`jade.ellis.link.localhost`)"
|
|
- "traefik.http.routers.to-website.entrypoints=http"
|
|
# - "traefik.http.routers.to-website.tls=true"
|
|
# - "traefik.http.routers.to-website.tls.certresolver=letsencrypt"
|
|
# - "traefik.http.routers.to-website.middlewares=cors-headers@docker"
|
|
|
|
# - "traefik.http.middlewares.cors-headers.headers.accessControlAllowOriginList=*"
|
|
# - "traefik.http.middlewares.cors-headers.headers.accessControlAllowHeaders=Origin, X-Requested-With, Content-Type, Accept, Authorization"
|
|
# - "traefik.http.middlewares.cors-headers.headers.accessControlAllowMethods=GET, POST, PUT, DELETE, OPTIONS"
|
|
|
|
|
|
traefik:
|
|
image: "traefik:latest"
|
|
container_name: "traefik"
|
|
restart: "unless-stopped"
|
|
# privileged: true
|
|
security_opt:
|
|
- "label=type:container_runtime_t"
|
|
command:
|
|
- "--log.level=DEBUG"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entrypoints.http.address=:8080"
|
|
# - "--entrypoints.https.address=:443"
|
|
# - "--acme"
|
|
# - "--certificatesresolvers.letsencrypt.acme.email='jade@ellis.link'"
|
|
# - "--certificatesresolvers.letsencrypt.acme.storage=/certificates/acme.json"
|
|
|
|
# - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
|
|
# - "--certificatesresolvers.letsencrypt.acme.httpChallenge.entryPoint=http"
|
|
# - "--certificatesresolvers.lets-encrypt.acme.tlschallenge=true"
|
|
|
|
# - "--entrypoints.http.http.redirections.entryPoint.to=https"
|
|
# - "--entrypoints.http.http.redirections.entryPoint.scheme=https"
|
|
|
|
# - --api.dashboard=true
|
|
# - --api.insecure=true
|
|
ports:
|
|
# - "80:80"
|
|
# - "443:443"
|
|
- "8080:8080"
|
|
volumes:
|
|
- "/run/user/1000/podman/podman.sock:/var/run/docker.sock"
|
|
# - "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "traefik-public-certificates:/certificates"
|
|
# - "./traefik_config:/etc/traefik"
|
|
# labels:
|
|
# - "traefik.enable=true"
|
|
|
|
# # middleware redirect
|
|
# - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
|
|
# # global redirect to https
|
|
# - "traefik.http.routers.redirs.rule=hostregexp(`{host:.+}`)"
|
|
# - "traefik.http.routers.redirs.entrypoints=http"
|
|
# - "traefik.http.routers.redirs.middlewares=redirect-to-https"
|
|
|
|
networks:
|
|
- proxy
|
|
|
|
networks:
|
|
proxy:
|
|
# external: true
|
|
enable_ipv6: true
|
|
|
|
|
|
|
|
|
|
volumes:
|
|
traefik-public-certificates:
|
|
# mkdir -p ~/.config/containers/systemd
|
|
# nano ~/.config/containers/systemd/deployment.kube
|
|
|
|
# [Unit]
|
|
# Description=Deployment via kubernetes
|
|
# Before=local-fs.target
|
|
# [Kube]
|
|
# Yaml=/var/home/core/deployment.yml
|
|
# [Install]
|
|
# # Start by default on boot
|
|
# WantedBy=multi-user.target default.target
|
|
|
|
# systemctl --user daemon-reload
|
|
# systemctl --user start deployment.service |