Initial docker compose files
This commit is contained in:
commit
194b674c7d
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
.env
|
||||
todo
|
||||
certs/
|
||||
traefik/config/
|
21
crafty/compose.yaml
Normal file
21
crafty/compose.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
|
||||
services:
|
||||
crafty:
|
||||
container_name: crafty_container
|
||||
image: registry.gitlab.com/crafty-controller/crafty-4:latest
|
||||
restart: always
|
||||
environment:
|
||||
- TZ=Etc/UTC
|
||||
ports:
|
||||
- "8443:8443" # HTTPS
|
||||
# - "8123:8123" # DYNMAP
|
||||
- "19132:19132/udp" # BEDROCK
|
||||
- "25500-25600:25500-25600" # MC SERV PORT RANGE
|
||||
volumes:
|
||||
- ./docker/backups:/crafty/backups
|
||||
- ./docker/logs:/crafty/logs
|
||||
- ./docker/servers:/crafty/servers
|
||||
- ./docker/config:/crafty/app/config
|
||||
- ./docker/import:/crafty/import
|
||||
|
41
ddns/compose.yaml
Normal file
41
ddns/compose.yaml
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
services:
|
||||
cloudflare-ddns:
|
||||
image: oznu/cloudflare-ddns:latest
|
||||
container_name: cloudflare-ddns
|
||||
environment:
|
||||
- API_KEY=${API_KEY}
|
||||
- ZONE=${DOMAIN}
|
||||
- PROXIED=false
|
||||
restart: always
|
||||
|
||||
ddns-git:
|
||||
image: oznu/cloudflare-ddns:latest
|
||||
container_name: ddns-git
|
||||
environment:
|
||||
- API_KEY=${API_KEY}
|
||||
- ZONE=${DOMAIN}
|
||||
- SUBDOMAIN=git
|
||||
- PROXIED=false
|
||||
restart: always
|
||||
|
||||
ddns-crafty:
|
||||
image: oznu/cloudflare-ddns:latest
|
||||
container_name: ddns-crafty
|
||||
environment:
|
||||
- API_KEY=${API_KEY}
|
||||
- ZONE=${DOMAIN}
|
||||
- SUBDOMAIN=crafty
|
||||
- PROXIED=false
|
||||
restart: always
|
||||
|
||||
ddns-nextcloud:
|
||||
image: oznu/cloudflare-ddns:latest
|
||||
container_name: ddns-nextcloud
|
||||
environment:
|
||||
- API_KEY=${API_KEY}
|
||||
- ZONE=${DOMAIN}
|
||||
- SUBDOMAIN=cloud
|
||||
- PROXIED=false
|
||||
restart: always
|
||||
|
61
gitea/compose.yaml
Normal file
61
gitea/compose.yaml
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
services:
|
||||
server:
|
||||
image: gitea/gitea:1.23.8
|
||||
container_name: gitea-server
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- GITEA__database__DB_TYPE=postgres
|
||||
- GITEA__database__HOST=${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}
|
||||
- GITEA__database__NAME=${POSTGRES_DB:?POSTGRES_DB not set}
|
||||
- GITEA__database__USER=${POSTGRES_USER:?POSTGRES_USER not set}
|
||||
- GITEA__database__PASSWD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
|
||||
- GITEA__server__SSH_PORT=2221
|
||||
- GITEA__server__ROOT_URL=https://git.${DOMAIN}
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
volumes:
|
||||
- /mnt/hdd1/data/docker/volumes/gitea-data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
|
||||
- "2221:22"
|
||||
depends_on:
|
||||
- db
|
||||
# <--
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
||||
- traefik.http.services.gitea.loadbalancer.server.scheme=http
|
||||
- traefik.http.routers.gitea-https.entrypoints=websecure
|
||||
- traefik.http.routers.gitea-https.rule=Host(`git.${DOMAIN}`)
|
||||
- traefik.http.routers.gitea-https.tls=true
|
||||
- traefik.http.routers.gitea-https.tls.certresolver=cloudflare
|
||||
restart: always
|
||||
|
||||
db:
|
||||
image: postgres:14
|
||||
container_name: gitea-db
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER:?POSTGRES_USER not set}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
|
||||
- POSTGRES_DB=${POSTGRES_DB:?POSTGRES_DB not set}
|
||||
networks:
|
||||
- backend
|
||||
volumes:
|
||||
- /mnt/hdd1/data/docker/volumes/gitea-db:/var/lib/postgresql/data
|
||||
restart: always
|
||||
volumes:
|
||||
gitea-data:
|
||||
driver: local
|
||||
gitea-db:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
backend:
|
||||
external: true
|
50
nextcloud/compose.yaml
Normal file
50
nextcloud/compose.yaml
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
volumes:
|
||||
nextcloud-main:
|
||||
nextcloud-db:
|
||||
services:
|
||||
nextcloud-app:
|
||||
image: docker.io/library/nextcloud:31.0.5-apache
|
||||
container_name: nextcloud-app
|
||||
volumes:
|
||||
- /mnt/hdd1/nextcloud-data:/var/www/html/data
|
||||
- nextcloud-main:/var/www/html
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.nextcloud.rule=Host(`cloud.${DOMAIN}`)
|
||||
- traefik.http.routers.nextcloud.entrypoints=websecure
|
||||
- traefik.http.routers.nextcloud.tls=true
|
||||
- traefik.http.routers.nextcloud.tls.certresolver=cloudflare
|
||||
- traefik.http.middlewares.nextcloud-headers.headers.customrequestheaders.X-Forwarded-Proto=https
|
||||
|
||||
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DB=${POSTGRES_DB}
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_HOST=nextcloud-db
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
restart: unless-stopped
|
||||
|
||||
nextcloud-db:
|
||||
image: postgres:14
|
||||
container_name: nextcloud-db
|
||||
networks:
|
||||
- backend
|
||||
volumes:
|
||||
- nextcloud-db:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DB=${POSTGRES_DB}
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
backend:
|
||||
external: true
|
||||
|
||||
|
20
test/docker-compose.yaml
Normal file
20
test/docker-compose.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
nginx:
|
||||
image: nginx:latest # Use the latest official Nginx image
|
||||
container_name: nginx_test_site
|
||||
networks:
|
||||
- frontend
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.nginx-http.rule=Host(`${DOMAIN}`) || Host(`www.${DOMAIN}`)
|
||||
- traefik.http.routers.nginx-http.entrypoints=web
|
||||
- traefik.http.routers.nginx-https.tls=true
|
||||
- traefik.http.routers.nginx-https.tls.certresolver=cloudflare
|
||||
- traefik.http.routers.nginx-https.entrypoints=websecure
|
||||
- traefik.http.routers.nginx-https.rule=Host(`${DOMAIN}`) || Host(`www.${DOMAIN}`)
|
||||
restart: always
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
22
traefik/compose.yaml
Normal file
22
traefik/compose.yaml
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
services:
|
||||
traefik:
|
||||
image: docker.io/library/traefik:v3.4.0
|
||||
container_name: traefik
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
#- 8080:8080
|
||||
volumes:
|
||||
- /run/docker.sock:/run/docker.sock:ro
|
||||
- ./config/:/etc/traefik/:ro
|
||||
- ./certs/:/var/traefik/certs/:rw
|
||||
environment:
|
||||
- CF_DNS_API_TOKEN=${CF_DNS_API_TOKEN}
|
||||
networks:
|
||||
- frontend
|
||||
restart: always
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
Loading…
x
Reference in New Issue
Block a user