diff --git a/kopia/docker-compose.yaml b/kopia/docker-compose.yaml new file mode 100644 index 0000000..9338e4c --- /dev/null +++ b/kopia/docker-compose.yaml @@ -0,0 +1,33 @@ +version: '3.7' +services: + kopia: + image: kopia/kopia:latest + hostname: Hostname + container_name: Kopia + restart: unless-stopped + ports: + - 51515:51515 + # Setup the server that provides the web gui + command: + - server + - start + - --disable-csrf-token-checks + - --insecure + - --address=0.0.0.0:51515 + - --server-username=USERNAME + - --server-password=SECRET_PASSWORD + environment: + # Set repository password + KOPIA_PASSWORD: "SECRET" + USER: "User" + volumes: + # Mount local folders needed by kopia + - ./config:/app/config + - ./cache:/app/cache + - ./logs:/app/logs + # Mount local folders to snapshot + - ./data:/data:ro + # Mount repository location + - ./repository:/repository + # Mount path for browsing mounted snaphots + - ./tmp:/tmp:shared \ No newline at end of file diff --git a/mailrise/docker-compose.yaml b/mailrise/docker-compose.yaml new file mode 100644 index 0000000..b058cb2 --- /dev/null +++ b/mailrise/docker-compose.yaml @@ -0,0 +1,11 @@ +version: "3" + +services: + mailrise: + image: yoryan/mailrise + container_name: mailrise + restart: unless-stopped + volumes: + - ./mailrise.conf:/etc/mailrise.conf:ro + ports: + - 8025:8025 diff --git a/mailrise/mailrise.conf b/mailrise/mailrise.conf new file mode 100644 index 0000000..4b1bdc4 --- /dev/null +++ b/mailrise/mailrise.conf @@ -0,0 +1,9 @@ +configs: + gotify: + urls: + - gotifys:////?priority=high +smtp: + auth: + basic: + notify: testingonly + backup: testingonly diff --git a/minio/docker-compose.yaml b/minio/docker-compose.yaml new file mode 100644 index 0000000..9d651b1 --- /dev/null +++ b/minio/docker-compose.yaml @@ -0,0 +1,29 @@ +version: '3' + +services: + minio: + image: minio/minio + container_name: minio + ports: + - "9000:9000" + - "9001:9001" + volumes: + - ~/storage/minio:/data + environment: + MINIO_ROOT_USER: lunchbox + MINIO_ROOT_PASSWORD: B33rb33r! + command: server --console-address ":9001" /data + + nginx: + container_name: nginx_minio + restart: always + image: nginx + volumes: + - ./nginx/templates:/etc/nginx/templates:ro + - ./nginx/ssl/self.cert:/etc/nginx/ssl/self.cert:ro + - ./nginx/ssl/self-ssl.key:/etc/nginx/ssl/self-ssl.key:ro + - ./nginx.conf:/etc/nginx/conf.d/minio.conf:ro + ports: + - 8443:443 + links: + - minio \ No newline at end of file diff --git a/minio/nginx.conf b/minio/nginx.conf new file mode 100644 index 0000000..c8a2f66 --- /dev/null +++ b/minio/nginx.conf @@ -0,0 +1,9 @@ +server { + listen 80; + server_name s3.stfx.tk; + + location / { + proxy_set_header Host $http_host; + proxy_pass http://localhost:9000; + } +} \ No newline at end of file diff --git a/minio/nginx2.conf b/minio/nginx2.conf new file mode 100644 index 0000000..0315664 --- /dev/null +++ b/minio/nginx2.conf @@ -0,0 +1,67 @@ +server { + listen 80; + listen [::]:80; + server_name minio.example.net; + + # Allow special characters in headers + ignore_invalid_headers off; + # Allow any size file to be uploaded. + # Set to a value such as 1000m; to restrict file size to a specific value + client_max_body_size 0; + # Disable buffering + proxy_buffering off; + proxy_request_buffering off; + + location / { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + proxy_connect_timeout 300; + # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 + proxy_http_version 1.1; + proxy_set_header Connection ""; + chunked_transfer_encoding off; + + proxy_pass http://minio:9000/; # This uses the upstream directive definition to load balance + } +} + +server { + + listen 80; + listen [::]:80; + server_name console.example.net; + + # Allow special characters in headers + ignore_invalid_headers off; + # Allow any size file to be uploaded. + # Set to a value such as 1000m; to restrict file size to a specific value + client_max_body_size 0; + # Disable buffering + proxy_buffering off; + proxy_request_buffering off; + + location / { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + # This is necessary to pass the correct IP to be hashed + real_ip_header X-Real-IP; + + proxy_connect_timeout 300; + + # To support websocket + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + chunked_transfer_encoding off; + + proxy_pass http://minio:9001/; # This uses the upstream directive definition to load balance and assumes a static Console port of 9001 + } +} \ No newline at end of file diff --git a/urbackup-server/docker-compose.yaml b/urbackup-server/docker-compose.yaml new file mode 100644 index 0000000..384e9fa --- /dev/null +++ b/urbackup-server/docker-compose.yaml @@ -0,0 +1,11 @@ +version: '3.3' +services: + urbackup-server: + container_name: urbackup-server + volumes: + - '~/storage/backups:/backups' + - './database:/var/urbackup' + ports: + - '55413-55415:55413-55415' + - '35623:35623/udp' + image: uroni/urbackup-server \ No newline at end of file