commit 9e323c0a304f47c87eeef2290976a11f69f45823 Author: Siina Mashek Date: Sun Dec 25 03:05:38 2022 +0200 Initial commit diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..351c07a --- /dev/null +++ b/README.adoc @@ -0,0 +1,72 @@ += Siina's Docker Compose Stuff +:toc: macro +:toclevels: 2 +:toc-title: + + +toc::[] + +== Portainer + +Start Portainer (adjust `BASE_DATA_DIR`): + +``` +docker run -d \ + -p 8000:8000 \ + -p 9443:9443 \ + --name portainer \ + --restart=always \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v ${BASE_DATA_DIR}/portainer/data:/data \ + portainer/portainer-ce:latest +``` + +Start portainer agent on any remote host (adjust `BASE_DATA_DIR`): + +``` +docker run -d \ + -p 9001:9001 \ + --name portainer_agent \ + --restart=always \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v ${BASE_DATA_DIR}:/var/lib/docker/volumes \ + portainer/agent:latest +``` + +== Required Environment Variables + +Copy `.env-example` to `.env` in the desired stack or fill out in portainer. + +IMPORTANT: Each service will append the stack name to `BASE_DATA_DIR` + +=== Flarum + +``` +BASE_DATA_DIR= +MYSQL_ROOT_PASSWORD= +MYSQL_DATABASE= +MYSQL_PASSWORD= +``` + +=== Jellyfin + +``` +BASE_DATA_DIR= +JELLYFIN_PublishedServerUrl= +MUSIC_DIR= +VIDEO_DIR= +``` + +=== NGINX Proxy Manager + +``` +BASE_DATA_DIR= +``` + +=== Pi-hole + +``` +BASE_DATA_DIR= +TZ= +WEBPASSWORD= +``` diff --git a/flarum/.env-example b/flarum/.env-example new file mode 100644 index 0000000..832de31 --- /dev/null +++ b/flarum/.env-example @@ -0,0 +1,4 @@ +BASE_DATA_DIR= +MYSQL_ROOT_PASSWORD= +MYSQL_DATABASE= +MYSQL_PASSWORD= diff --git a/flarum/docker-compose.yml b/flarum/docker-compose.yml new file mode 100644 index 0000000..2d65002 --- /dev/null +++ b/flarum/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3.8' +services: + flarum: + image: mondedie/flarum:latest + container_name: flarum + volumes: + - ${BASE_DATA_DIR}/flarum/assets:/flarum/app/public/assets + - ${BASE_DATA_DIR}/flarum/extensions:/flarum/app/public/exstensions + - ${BASE_DATA_DIR}/flarum/logs:/flarum/app/storage/logs + - ${BASE_DATA_DIR}/flarum/nginx:/etc/nginx/flarum + ports: + - 80:8888 + depends_on: + - mariadb + mariadb: + image: mariadb:latest + container_name: flarum_mariadb + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE} + - MYSQL_USER=${MYSQL_PASSWORD} + volumes: + - ${BASE_DATA_DIR}/flarum/db:/var/lib/mysql +networks: + default: + name: flarum diff --git a/jellyfin/.env-example b/jellyfin/.env-example new file mode 100644 index 0000000..86e762f --- /dev/null +++ b/jellyfin/.env-example @@ -0,0 +1,5 @@ + +BASE_DATA_DIR= +JELLYFIN_PublishedServerUrl= +MUSIC_DIR= +VIDEO_DIR= diff --git a/jellyfin/docker-compose.yml b/jellyfin/docker-compose.yml new file mode 100644 index 0000000..de357c2 --- /dev/null +++ b/jellyfin/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.8' +services: + jellyfin: + image: jellyfin/jellyfin + container_name: jellyfin + user: 1000:1000 + network_mode: host + volumes: + - ${BASE_DATA_DIR}/jellyfin/config:/config + - ${BASE_DATA_DIR}/jellyfin/cache:/cache + - ${MUSIC_DIR}:/music + - ${VIDEO_DIR}:/video + restart: unless-stopped + extra_hosts: + - host.docker.internal:host-gateway diff --git a/nginx-proxy-manager/.env-example b/nginx-proxy-manager/.env-example new file mode 100644 index 0000000..900e3bc --- /dev/null +++ b/nginx-proxy-manager/.env-example @@ -0,0 +1 @@ +BASE_DATA_DIR= diff --git a/nginx-proxy-manager/nginx-proxy-manager-compose.yml b/nginx-proxy-manager/nginx-proxy-manager-compose.yml new file mode 100644 index 0000000..0f611be --- /dev/null +++ b/nginx-proxy-manager/nginx-proxy-manager-compose.yml @@ -0,0 +1,16 @@ +version: '3.8' +services: + app: + image: jc21/nginx-proxy-manager:latest + container_name: nginx-proxy-manager + restart: unless-stopped + ports: + - 80:80 + - 81:81 + - 443:443 + volumes: + - ${BASE_DATA_DIR}/nginx-proxy-manager/data:/data + - ${BASE_DATA_DIR}/nginx-proxy-manager/letsencrypt:/etc/letsencrypt +networks: + default: + name: nginx-proxy-manager diff --git a/pihole/.env-example b/pihole/.env-example new file mode 100644 index 0000000..0e3d552 --- /dev/null +++ b/pihole/.env-example @@ -0,0 +1,3 @@ +BASE_DATA_DIR= +TZ= +WEBPASSWORD= diff --git a/pihole/docker-compose.yml b/pihole/docker-compose.yml new file mode 100644 index 0000000..5a3db32 --- /dev/null +++ b/pihole/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3.8' +services: + pihole: + image: pihole/pihole:latest + container_name: pihole + restart: unless-stopped + network_mode: host + environment: + TZ: ${TZ} + WEBPASSWORD: ${WEBPASSWORD} + env_file: + - ./env/pihole + volumes: + - ${BASE_DATA_DIR}/pihole/etc-pihole:/etc/pihole + - ${BASE_DATA_DIR}/pihole/etc-dnsmasq.d:/etc/dnsmasq.d + cap_add: + - NET_ADMIN +networks: + default: + name: host + external: true