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.
105 lines
3.2 KiB
Bash
105 lines
3.2 KiB
Bash
# The rootless daemon needs to be running for rootless operations
|
|
# ls $XDG_RUNTIME_DIR/podman/podman.sock
|
|
# systemctl --user start podman.socket
|
|
# systemctl --user enable podman.socket
|
|
# sudo usermod -aG podman $USER
|
|
# Can enable low ports with
|
|
# sudo sysctl net.ipv4.ip_unprivileged_port_start=0
|
|
|
|
# http://localhost:8081/dashboard#/
|
|
# http://aleaf.local:8080/
|
|
|
|
#podman info
|
|
#systemctl --user status podman.socket
|
|
#ls /run/user/$(id -u)/podman/
|
|
|
|
# for docker compose stuff
|
|
# export DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock
|
|
# echo 'export DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock' >> ~/.bashrc
|
|
|
|
# Create a Pod (kinda a service container for containers)
|
|
# Expose all the ports of said pod (that will be accessed directly/not by other containers)
|
|
podman pod create --name aleaf -p 80:80 -p 8080:8080
|
|
# Don't add the ports if using traefik as entry point, only without
|
|
#podman pod create --name aleaf
|
|
# podman rootless doesn't allow priviledged ports < 1024
|
|
|
|
# This allows ports <1024 to be used in non root
|
|
# sudo sysctl net.ipv4.ip_unprivileged_port_start=0
|
|
|
|
#podman network create traefik
|
|
|
|
podman build -t aleaf-nginx ./nginx
|
|
podman build -t aleaf-php ./php
|
|
|
|
# --pod aleaf # removed --pod from everything atm
|
|
podman run -d \
|
|
--pod aleaf \
|
|
--name aleaf-mariadb \
|
|
-e MYSQL_ROOT_PASSWORD=mariadb \
|
|
-e MYSQL_DATABASE=ecomdb \
|
|
-v ./db/mysql:/var/lib/mysql:Z \
|
|
-v ./db/schema.sql:/docker-entrypoint-initdb.d/schema.sql:Z \
|
|
docker.io/library/mariadb:10.7
|
|
|
|
podman run -d \
|
|
--pod aleaf \
|
|
--name aleaf-adminer \
|
|
-e ADMINER_DEFAULT_SERVER=aleaf-mariadb \
|
|
docker.io/library/adminer
|
|
#-l 'traefik.enable=true' \
|
|
#-l 'traefik.http.routers.adminer.rule=Host(`adminer.local`)' \
|
|
#-l 'traefik.http.routers.adminer.entrypoints=web' \
|
|
#-l 'traefik.http.services.adminer.loadbalancer.server.port=8080' \
|
|
#-l 'traefik.docker.network=traefik' \
|
|
# docker.network=podman apparently not needed
|
|
|
|
podman run -d \
|
|
--pod aleaf \
|
|
--name aleaf-php \
|
|
-v ./php/www:/var/www/html:Z \
|
|
aleaf-php
|
|
|
|
# aleaf.local
|
|
podman run -d \
|
|
--pod aleaf \
|
|
--name aleaf-nginx \
|
|
-v ./php/www:/var/www/html:Z \
|
|
-v ./nginx/default.conf:/etc/nginx/conf.d/default.conf:Z \
|
|
aleaf-nginx
|
|
#-l 'traefik.enable=true' \
|
|
#-l 'traefik.http.routers.aleaf.rule=Host(`aleaf.local`)' \
|
|
#-l 'traefik.http.routers.aleaf.entrypoints=web' \
|
|
#-l 'traefik.http.services.aleaf.loadbalancer.server.port=80' \
|
|
#-l 'traefik.docker.network=traefik' \
|
|
|
|
#podman run -d \
|
|
#--name traefik \
|
|
#-p 8080:80 \
|
|
#-p 8081:8080 \
|
|
#-v /run/user/$(id -u)/podman/podman.sock:/var/run/docker.sock:ro \
|
|
#docker.io/library/traefik:v3.0 \
|
|
#--api.insecure=true \
|
|
#--providers.docker=true \
|
|
#--providers.docker.endpoint=unix:///var/run/docker.sock \
|
|
#--providers.docker.exposedbydefault=false \
|
|
#--entrypoints.web.address=:80
|
|
# -- stuff used to read container labels (nginx this instance)
|
|
|
|
# Stop/start the stack/pod
|
|
#podman pod start aleaf
|
|
#podman pod stop aleaf
|
|
#podman pod rm aleaf
|
|
|
|
# Autostart (systemd)
|
|
#podman generate systemd --name aleaf --files --new
|
|
#mkdir -p ~/.config/systemd/user
|
|
#mv *.service ~/.config/systemd/user/
|
|
#systemctl --user daemon-reload
|
|
#systemctl --user enable pod-aleaf.service
|
|
#systemctl --user start pod-aleaf.service
|
|
|
|
|
|
# podman exec -it traefik ls -l /var/run/docker.sock
|
|
# sudo usermod -aG podman $USER
|