Compare commits
10 Commits
8ea072c156
...
d2d4b93a6a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2d4b93a6a | ||
|
|
b93bf4493d | ||
|
|
97b5eb30db | ||
|
|
8b35dd31a9 | ||
|
|
efe4d12b3d | ||
|
|
8a3c8a4209 | ||
|
|
2ac97de0c0 | ||
|
|
cea6260e34 | ||
|
|
73035b03fe | ||
|
|
1c1342d82f |
@@ -1 +1,4 @@
|
||||
# docker-stacks
|
||||
# docker-stacks
|
||||
|
||||
Config files for my docker setup with stack files (`.yaml`) and dockerfiles (`.dockerfile`) for creating the images in the [`dockerfiles/`](dockerfiles/) folder.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ services:
|
||||
image: 'adguard/adguardhome:latest'
|
||||
container_name: 'adguard'
|
||||
hostname: 'adguard'
|
||||
restart: 'unless-stopped'
|
||||
restart: 'always'
|
||||
volumes:
|
||||
- '/etc/localtime:/etc/localtime:ro'
|
||||
- '/hdd/adguard/work:/opt/adguardhome/work'
|
||||
|
||||
@@ -7,7 +7,7 @@ networks:
|
||||
services:
|
||||
website:
|
||||
image: nginx:latest
|
||||
restart: unless-stopped
|
||||
restart: always
|
||||
volumes:
|
||||
- '/hdd/ai-deadlines/html:/usr/share/nginx/html:ro'
|
||||
networks:
|
||||
|
||||
28
dockerfiles/alpine-git-python.dockerfile
Normal file
28
dockerfiles/alpine-git-python.dockerfile
Normal file
@@ -0,0 +1,28 @@
|
||||
# Use an official Alpine-based Python image as your base
|
||||
FROM python:3.9-alpine
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Install git and other build dependencies (if your Python packages require compilation)
|
||||
# It's good practice to install build dependencies and then remove them in the same RUN layer
|
||||
# to keep the final image size down.
|
||||
RUN apk add --no-cache git openssh-client # openssh-client if you need to clone private repos via SSH
|
||||
|
||||
# Install Python build dependencies (e.g., for packages with C extensions)
|
||||
# Common ones include build-base, libffi-dev, openssl-dev.
|
||||
# Add more as needed based on your requirements.txt.
|
||||
RUN apk add --no-cache --virtual .build-deps \
|
||||
build-base \
|
||||
libffi-dev \
|
||||
openssl-dev \
|
||||
# Add any other -dev packages your Python libraries might need
|
||||
# e.g., if you have psycopg2, you'd need postgresql-dev
|
||||
# if you have Pillow, you might need zlib-dev, jpeg-dev, etc.
|
||||
&& pip install --upgrade pip
|
||||
|
||||
# Install Python dependencies
|
||||
RUN pip install --no-cache-dir requests bs4 pytz pyyaml dateparser loguru
|
||||
|
||||
# Remove build dependencies to keep the image small
|
||||
RUN apk del .build-deps
|
||||
31
dockerfiles/alpine-hugo.dockerfile
Normal file
31
dockerfiles/alpine-hugo.dockerfile
Normal file
@@ -0,0 +1,31 @@
|
||||
# Use Alpine Linux as the base image (lightweight and secure)
|
||||
FROM alpine:latest
|
||||
|
||||
# Set maintainer label (good practice for research reproducibility)
|
||||
LABEL maintainer="Tobias Nauen"
|
||||
|
||||
# Install system dependencies (Git, Bash, and Hugo)
|
||||
RUN apk add --no-cache \
|
||||
git \
|
||||
bash \
|
||||
wget \
|
||||
go \
|
||||
gzip
|
||||
# && wget -O /tmp/hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.111.3/hugo_extended_0.111.3_linux-amd64.deb \
|
||||
# && apk add --no-cache --virtual .build-deps dpkg \
|
||||
# && dpkg -i /tmp/hugo.deb \
|
||||
# && rm /tmp/hugo.deb \
|
||||
# && apk del .build-deps \
|
||||
# && hugo version
|
||||
|
||||
ENV GOPATH=/go
|
||||
ENV PATH="$PATH:$GOPATH/bin"
|
||||
|
||||
RUN go version
|
||||
|
||||
RUN apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community hugo
|
||||
|
||||
RUN hugo version
|
||||
|
||||
# Set working directory (adjust as needed)
|
||||
WORKDIR /app
|
||||
9
dockerfiles/nginx-alibi.dockerfile
Normal file
9
dockerfiles/nginx-alibi.dockerfile
Normal file
@@ -0,0 +1,9 @@
|
||||
FROM nginx:latest
|
||||
|
||||
RUN apt-get update
|
||||
|
||||
RUN apt-get install -y \
|
||||
git \
|
||||
brotli
|
||||
|
||||
RUN rm -rf /var/lib/apt/lists/*
|
||||
@@ -9,7 +9,7 @@ networks:
|
||||
services:
|
||||
nextcloud-redis:
|
||||
image: redis:alpine
|
||||
restart: unless-stopped
|
||||
restart: always
|
||||
command: redis-server --requirepass bjkf34bbhk23bjwfes
|
||||
networks:
|
||||
- backend
|
||||
@@ -23,6 +23,7 @@ services:
|
||||
volumes:
|
||||
- /hdd/nextcloud/data:/var/www/html/data
|
||||
- /server_data/nextcloud/config:/var/www/html
|
||||
- /hdd/media/games:/external/games
|
||||
environment:
|
||||
- MYSQL_PASSWORD=heHT672G2%H6
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
@@ -43,7 +44,9 @@ services:
|
||||
restart: unless-stopped
|
||||
entrypoint: /cron.sh
|
||||
volumes:
|
||||
- /hdd/nextcloud/data:/var/www/html
|
||||
- /hdd/nextcloud/data:/var/www/html/data
|
||||
- /server_data/nextcloud/config:/var/www/html
|
||||
- /hdd/media/games:/external/games
|
||||
environment:
|
||||
- MYSQL_PASSWORD=heHT672G2%H6
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
|
||||
@@ -8,7 +8,7 @@ networks:
|
||||
services:
|
||||
app:
|
||||
image: 'jc21/nginx-proxy-manager:latest'
|
||||
restart: unless-stopped
|
||||
restart: always
|
||||
ports:
|
||||
# These ports are in format <host-port>:<container-port>
|
||||
- '80:80' # Public HTTP Port
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
version: '1'
|
||||
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
|
||||
services:
|
||||
tobia-website:
|
||||
image: nginx_with_hugo:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- '/hdd/tobias-website:/website'
|
||||
- '/hdd/update-tobias-website:/docker-entrypoint.d:ro'
|
||||
networks:
|
||||
- frontend
|
||||
@@ -1,14 +1,24 @@
|
||||
version: "3.3"
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
plausible:
|
||||
|
||||
services:
|
||||
mail:
|
||||
image: bytemark/smtp
|
||||
restart: always
|
||||
networks:
|
||||
- plausible
|
||||
|
||||
plausible_db:
|
||||
# Plausible v2.0.0 was tested against PostgreSQL versions 12, 13, and 14
|
||||
# https://github.com/plausible/analytics/blob/v2.0.0/.github/workflows/elixir.yml#L16
|
||||
image: postgres:14-alpine
|
||||
restart: always
|
||||
networks:
|
||||
- plausible
|
||||
volumes:
|
||||
- /hdd/plausible/db_data:/var/lib/postgresql/data
|
||||
environment:
|
||||
@@ -17,6 +27,8 @@ services:
|
||||
plausible_events_db:
|
||||
image: clickhouse/clickhouse-server:23.3.7.5-alpine
|
||||
restart: always
|
||||
networks:
|
||||
- plausible
|
||||
volumes:
|
||||
- /hdd/plausible/event_data:/var/lib/clickhouse
|
||||
- /hdd/plausible/clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
|
||||
@@ -34,6 +46,9 @@ services:
|
||||
- plausible_db
|
||||
- plausible_events_db
|
||||
- mail
|
||||
networks:
|
||||
- frontend
|
||||
- plausible
|
||||
environment:
|
||||
- BASE_URL=https://plausible.nauen-it.de
|
||||
- SECRET_KEY_BASE=cwLeX7x0f7E50Q9+ANihxd6T7vbHUloZQ+70ex+eEbydJITKCxf+piXk+S1LeMP+
|
||||
|
||||
28
tobias-website.yaml
Normal file
28
tobias-website.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
version: '1.1'
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
|
||||
services:
|
||||
website:
|
||||
image: nginx:latest
|
||||
restart: always
|
||||
volumes:
|
||||
- '/hdd/tobias-website/public:/usr/share/nginx/html:ro'
|
||||
networks:
|
||||
- frontend
|
||||
|
||||
updater:
|
||||
# Build the image from your Dockerfile.updater
|
||||
image: alpine-hugo
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
# Mount the same volume as Nginx so the updater can write to it
|
||||
- '/hdd/tobias-website:/app'
|
||||
# You might also want to mount your script if you want to edit it without rebuilding the image
|
||||
# - ./your_update_script.sh:/app/your_update_script.sh:ro
|
||||
command: sh -c "cd /app; while true; do /app/build_website.sh; sleep 3600; done" # Run every hour (3600 seconds)
|
||||
# If your update script needs to connect to the internet (e.g., for git clone, API calls),
|
||||
# it needs network access, which is usually provided by default by Docker Compose's bridge network.
|
||||
# If it needs to interact with your Nginx or other services, they'll be on the same default network.
|
||||
10
uptime-kuma.yaml
Normal file
10
uptime-kuma.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
version: '1.0'
|
||||
|
||||
services:
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma:2
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3001:3001"
|
||||
volumes:
|
||||
- /hdd/uptime-kuma:/app/data
|
||||
Reference in New Issue
Block a user