Nginx is now as it should be

main
Your Name 2022-08-09 09:06:53 +00:00
parent fbb40f5283
commit 3d025aba49
4 changed files with 145 additions and 107 deletions

View File

@ -62,6 +62,10 @@ mqtt:
qos: 0
retain: true
sensor:
- unique_id: inside_living_room_temperature
name: "Inside room temperature"
# Nginx setup
http:
use_x_forwarded_for: true

View File

@ -0,0 +1,10 @@
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
# Define port on which should mqtt listen
listener 1883
## AUTH
allow_anonymous true
# password_file password_file /mosquitto/config/mosquitto.passwd

View File

@ -0,0 +1,96 @@
APP_NAME = Gitea: spanski git :)
RUN_MODE = prod
RUN_USER = git
[repository]
ROOT = /data/git/repositories
[repository.local]
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo
[repository.upload]
TEMP_PATH = /data/gitea/uploads
[server]
APP_DATA_PATH = /data/gitea
DOMAIN = gitea.spanskiduh.xyz
SSH_DOMAIN = gitea.spanskiduh.xyz
HTTP_PORT = 3000
ROOT_URL = https://gitea.spanskiduh.xyz/
DISABLE_SSH = false
SSH_PORT = 22
SSH_LISTEN_PORT = 22
LFS_START_SERVER = true
LFS_JWT_SECRET = cacxHEMSQmZzjrBGAbV7MC13pHGw3bt2OoOLE9p1jss
OFFLINE_MODE = false
[database]
PATH = /data/gitea/gitea.db
DB_TYPE = sqlite3
HOST = localhost:3306
NAME = gitea
USER = root
PASSWD =
LOG_SQL = false
SCHEMA =
SSL_MODE = disable
CHARSET = utf8
[indexer]
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve
[session]
PROVIDER_CONFIG = /data/gitea/sessions
PROVIDER = file
[picture]
AVATAR_UPLOAD_PATH = /data/gitea/avatars
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = true
[attachment]
PATH = /data/gitea/attachments
[log]
MODE = console
LEVEL = info
ROUTER = console
ROOT_PATH = /data/gitea/log
[security]
INSTALL_LOCK = true
SECRET_KEY =
REVERSE_PROXY_LIMIT = 1
REVERSE_PROXY_TRUSTED_PROXIES = *
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE2NTg2NjU2NDR9.G0ZFpFNr-nqycIKxKea0W5CU_kWcUdBYo_nrMPi22mQ
PASSWORD_HASH_ALGO = pbkdf2
[service]
DISABLE_REGISTRATION = false
REQUIRE_SIGNIN_VIEW = false
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL = false
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
ENABLE_CAPTCHA = false
DEFAULT_KEEP_EMAIL_PRIVATE = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
DEFAULT_ENABLE_TIMETRACKING = true
NO_REPLY_ADDRESS = noreply.localhost
[lfs]
PATH = /data/git/lfs
[mailer]
ENABLED = false
[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true
[repository.pull-request]
DEFAULT_MERGE_STYLE = merge
[repository.signing]
DEFAULT_TRUST_MODEL = committer

View File

@ -1,75 +1,23 @@
version: '3.6'
#
# ISOLATED NETWORKS
# INTERNAL NETWORKS
#
#
networks:
transmission_network:
name: transmission_network
jellyfin_network:
name: jellyfin_network
gitea_network:
name: gitea_network
nextcloud_network:
name: nextcloud_network
autism_app_network:
name: autism_app_network
kimai_network:
name: kimai_network
photoprism_network:
name: photoprism_network
ha_network:
name: ha_network
services:
#
# NGINX AND CERTBOT
#
nginx:
image: nginx:latest
container_name: nginx
restart: unless-stopped
depends_on:
- transmission
- jellyfin
- gitea
- nextcloud
- nextcloud_db
- autism_app
- kimai
- kimai_db
- photoprism
- homeassistant
- ha_postgres
- mqtt
ports:
- 80:80
- 443:443
volumes:
- ${DOCKER_CONFIG_DIR}/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ${DOCKER_CONFIG_DIR}/certbot/conf:/etc/letsencrypt:ro
- ${DOCKER_CONFIG_DIR}/certbot/www:/var/www/certbot:ro
- ${DOCKER_LOG_DIR}/:/logs
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
networks:
- transmission_network
- jellyfin_network
- gitea_network
- nextcloud_network
- autism_app_network
- kimai_network
- photoprism_network
- ha_network
certbot:
image: certbot/certbot:latest
container_name: certbot
restart: unless-stopped
volumes:
- ${DOCKER_CONFIG_DIR}/certbot/conf:/etc/letsencrypt:rw
- /etc/letsencrypt:/etc/letsencrypt:rw
- ${DOCKER_CONFIG_DIR}/certbot/www:/var/www/certbot:rw
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
@ -90,10 +38,10 @@ services:
- PASS=${TRANSMISSION_PASSWORD}
volumes:
- ${DOCKER_CONFIG_DIR}/transmission/config:/config
- ${DOCKER_DATA_DIR}/transmission/downloads:/downloads
- ${TRANSMISSION_DOWNLOAD_DIR}:/downloads
- ${DOCKER_DATA_DIR}/transmission/watch:/watch
networks:
- transmission_network
ports:
- 9091:9091
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
@ -115,8 +63,23 @@ services:
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
networks:
- jellyfin_network
ports:
- 8096:8096
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- ${DOCKER_CONFIG_DIR}/radarr:/config
- /mnt/drive-one/media/movies:/movies
- ${TRANSMISSION_DOWNLOAD_DIR}:/downloads
ports:
- 7878:7878
gitea:
image: gitea/gitea:latest
@ -129,8 +92,8 @@ services:
- ${DOCKER_DATA_DIR}/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- gitea_network
ports:
- 3080:3000
nextcloud:
image: nextcloud:latest
@ -145,6 +108,8 @@ services:
- POSTGRES_PASSWORD=${POSTGRES_NEXTCLOUD_PASSWORD}
volumes:
- ${DOCKER_DATA_DIR}/nextcloud:/var/www/html
ports:
- 42069:80
networks:
- nextcloud_network
@ -162,44 +127,6 @@ services:
networks:
- nextcloud_network
kimai: # https://techoverflow.net/2021/03/08/a-modern-kimai-setup-using-docker-compose-and-nginx/
image: kimai/kimai2:apache-debian-master-prod
container_name: kimai
restart: unless-stopped
environment:
- APP_ENV=prod
- TRUSTED_HOSTS=localhost,${KIMAI_HOSTNAME}
- ADMINMAIL=${KIMAI_ADMIN_EMAIL}
- ADMINPASS=${KIMAI_ADMIN_PASSWORD}
- DATABASE_URL=mysql://kimai:${KIMAI_MARIADB_PASSWORD}@kimai_db/kimai
volumes:
- ${DOCKER_DATA_DIR}/kimai:/opt/kimai/var
depends_on:
- kimai_db
networks:
- kimai_network
kimai_db:
image: mariadb:latest
container_name: kimai_db
restart: unless-stopped
environment:
- MYSQL_DATABASE=kimai
- MYSQL_USER=kimai
- MYSQL_PASSWORD=${KIMAI_MARIADB_PASSWORD}
- MYSQL_ROOT_PASSWORD=${KIMAI_MARIADB_ROOT_PASSWORD}
volumes:
- ${DOCKER_DATA_DIR}/kimai_db:/var/lib/mysql
command: --default-storage-engine innodb
healthcheck:
test: mysqladmin -p${KIMAI_MARIADB_ROOT_PASSWORD} ping -h localhost
interval: 20s
start_period: 10s
timeout: 10s
retries: 3
networks:
- kimai_network
photoprism: # https://docs.photoprism.app/getting-started/docker-compose/#command-line-interface
image: photoprism/photoprism:latest
restart: unless-stopped
@ -237,9 +164,8 @@ services:
volumes:
- "/home/hsrv/d_personal/data/nextcloud/data/spanskiduh/files/InstantUpload/:/photoprism/originals" # Original media files (DO NOT REMOVE)
- "${DOCKER_DATA_DIR}/photoprism:/photoprism/storage" # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)
networks:
- photoprism_network
ports:
- 2080:2342
#
# IOT MANAGEMENT & DASHBOARD (todo)
#
@ -285,6 +211,8 @@ services:
- ${DOCKER_CONFIG_DIR}/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
ports:
- 8123:8123
networks:
- ha_network
@ -300,5 +228,5 @@ services:
context: ./autism-app
volumes:
- ./autism-app/src:/app/src
networks:
- autism_app_network
ports:
- 3000:3000