currently production

This commit is contained in:
2023-06-11 09:50:43 +01:00
parent c5d1719bf0
commit 355833c9f9
3 changed files with 94 additions and 49 deletions

2
.gitignore vendored
View File

@@ -1,2 +1,2 @@
*/.env */.env
localSettings localSettings

30
README.md Normal file
View File

@@ -0,0 +1,30 @@
# limbosolutions.com
## Requirements
- Docker
- Docker Compose
- Portainer (optional)
- [Duplicati Image with mySql client](https://git.limbosolutions.com/kb/duplicati/src/branch/main/docker/mysqlclient/README.md)
## Setup
[Docker Compose File](docker/docker-compose.yaml)
## Backup and Restore
Using [custom duplicati image](https://git.limbosolutions.com/kb/duplicati) to daily backups files and databases. Every action (backup/restore) creates an measurement in influxdb for reporting and alerts.
### Duplicati - Default Options
Notify Influxdb.
--run-script-after=duplicati-influxdb-notify
### Duplicati - data job Options

View File

@@ -1,49 +1,64 @@
version: '3' version: '3'
services: services:
nginx: nginx:
image: nginx:latest image: nginx:latest
volumes: volumes:
- nginx-conf.d:/etc/nginx/conf.d - nginx-conf.d:/etc/nginx/conf.d
- letsencrypt-conf:/etc/letsencrypt - letsencrypt-conf:/etc/letsencrypt
- certbot-www:/var/www/certbot - certbot-www:/var/www/certbot
ports: ports:
- 443:443 - 443:443
- 80:80 - 80:80
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" - 8080:8080
restart: unless-stopped command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
duplicati: restart: unless-stopped
image: duplicati/duplicati:latest duplicati:
volumes: image: duplicati-mysqlclient:latest
- duplicati_data:/data environment:
- nginx-conf.d:/backup/nginx-conf.d:ro - INFLUXDB_SERVER=${INFLUXDB_SERVER}
- letsencrypt-conf:/backup/letsencrypt-conf:ro - INFLUXDB_BUCKET=${INFLUXDB_BUCKET}
- certbot-www:/backup/certbot-www:ro - INFLUXDB_ORG=${INFLUXDB_ORG}
- duplicati_data:/backup/duplicati_data:ro - INFLUXDB_TOKEN=${INFLUXDB_TOKEN}
ports: - INFLUXDB_CLIENT_HOSTNAME=${INFLUXDB_CLIENT_HOSTNAME}
- 8205:8200 volumes:
restart: unless-stopped - duplicati_tmpdata:/data
code-server: - nginx-conf.d:/bck/nginx-conf.d
image: lscr.io/linuxserver/code-server:latest - letsencrypt-conf:/bck/letsencrypt-conf
environment: - certbot-www:/bck/certbot-www
#- PUID=1000 - duplicati_tmpdata:/bck/duplicati_tmpdata
#- PGID=1000 ports:
- TZ=Europe/London - 8205:8200
- PASSWORD=${ADMIN_PASSWORD} #optional restart: unless-stopped
#- HASHED_PASSWORD= #optional code-server:
#- SUDO_PASSWORD=password #optional image: lscr.io/linuxserver/code-server:latest
#- SUDO_PASSWORD_HASH= #optional environment:
#- PROXY_DOMAIN=code-server.my.domain #optional #- PUID=1000
- DEFAULT_WORKSPACE=/config/workspace #optional #- PGID=1000
volumes: - TZ=Europe/London
- code-server_config:/config - PASSWORD=${ADMIN_PASSWORD} #optional
- nginx-conf.d:/nginx/conf.d #- HASHED_PASSWORD= #optional
- letsencrypt-conf:/letsencrypt/conf #- SUDO_PASSWORD=password #optional
ports: #- SUDO_PASSWORD_HASH= #optional
- 8444:8443 #- PROXY_DOMAIN=code-server.my.domain #optional
restart: unless-stopped - DEFAULT_WORKSPACE=/config/workspace #optional
volumes: volumes:
nginx-conf.d: - code-server_config:/config
letsencrypt-conf: - nginx-conf.d:/nginx/conf.d
certbot-www: - letsencrypt-conf:/letsencrypt/conf
duplicati_data: ports:
- 8444:8443
restart: unless-stopped
prometheus-exporter:
image: nginx/nginx-prometheus-exporter
command:
- -nginx.scrape-uri
- http://wan_reverse_proxy-nginx-1:8080/stub_status
ports:
- 9113:9113
restart: unless-stopped
volumes:
nginx-conf.d:
letsencrypt-conf:
certbot-www:
duplicati_tmpdata:
code-server_config: code-server_config: