Added several docker-compose files and Caddy documentation
This commit is contained in:
parent
da7737bc34
commit
5581a18187
BIN
3D-Printer-Enclosure_BasicBox.skp
Normal file
BIN
3D-Printer-Enclosure_BasicBox.skp
Normal file
Binary file not shown.
BIN
IT-room-layout.skp
Normal file
BIN
IT-room-layout.skp
Normal file
Binary file not shown.
85
dockercompose/arr-frontend/docker-compose.yml
Normal file
85
dockercompose/arr-frontend/docker-compose.yml
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
version: "2.1"
|
||||||
|
services:
|
||||||
|
jellyfin:
|
||||||
|
image: lscr.io/linuxserver/jellyfin:10.8.8 #Choosing a specific version is a better practice that using latest
|
||||||
|
container_name: arrfrontend-jellyfin
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=America/Chicago
|
||||||
|
# - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional
|
||||||
|
volumes:
|
||||||
|
- ./jellyfin-config:/config
|
||||||
|
- jellyfin_tvshows:/data/tvshows # This and below are the NFS mounted volumes defined at the end of the file
|
||||||
|
- jellyfin_movies:/data/movies
|
||||||
|
- jellyfin_music:/data/music
|
||||||
|
- jellyfin_longform:/data/longform
|
||||||
|
- jellyfin_channels:/data/channels
|
||||||
|
ports:
|
||||||
|
- 8096:8096
|
||||||
|
- 8920:8920 #optional
|
||||||
|
- 7359:7359/udp #optional
|
||||||
|
- 1900:1900/udp #optional
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
ombi:
|
||||||
|
image: ghcr.io/linuxserver/ombi:4.39.1
|
||||||
|
container_name: arrfrontend-ombi_app
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=America/Chicago
|
||||||
|
volumes:
|
||||||
|
- ./ombi-config:/config
|
||||||
|
ports:
|
||||||
|
- 8000:3579
|
||||||
|
# depends_on:
|
||||||
|
# - "mysql_db"
|
||||||
|
|
||||||
|
# mysql_db:
|
||||||
|
# image: "mysql:5.7"
|
||||||
|
# container_name: arrfrontend-ombi_mysql
|
||||||
|
# restart: unless-stopped
|
||||||
|
# environment:
|
||||||
|
# MYSQL_ROOT_PASSWORD: 123 #change your root password here
|
||||||
|
# volumes:
|
||||||
|
# - ./ombi-mysql:/var/lib/mysql
|
||||||
|
|
||||||
|
# phpmyadmin:
|
||||||
|
# image: phpmyadmin/phpmyadmin
|
||||||
|
# container_name: ombi_phpmyadmin
|
||||||
|
# restart: unless-stopped
|
||||||
|
# environment:
|
||||||
|
# PMA_HOST: mysql_db
|
||||||
|
#ports:
|
||||||
|
#- '8083:80'
|
||||||
|
# depends_on:
|
||||||
|
# - "mysql_db"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
jellyfin_movies:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=10.0.10.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/General_Tank/General/MediaStorage/deluge_downloads/complete/Movies"
|
||||||
|
jellyfin_tvshows:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=10.0.10.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/General_Tank/General/MediaStorage/deluge_downloads/complete/TVShows"
|
||||||
|
jellyfin_music:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=10.0.10.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/General_Tank/General/MediaStorage/deluge_downloads/complete/Music"
|
||||||
|
jellyfin_longform:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=10.0.10.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/General_Tank/General/MediaStorage/deluge_downloads/complete/LongFormVideos"
|
||||||
|
jellyfin_channels:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=10.0.10.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/General_Tank/General/MediaStorage/deluge_downloads/complete/YoutubeVideos"
|
11
dockercompose/caddy/Caddyfile
Normal file
11
dockercompose/caddy/Caddyfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Example 1: This will redirect requests to the below url to the internal address below - 10.0.10.21:3333
|
||||||
|
cyberchef.veritablevalor.com {
|
||||||
|
reverse_proxy 10.0.10.21:3333
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example 2: This will do the same as above, but if the requester's IP address is outside of my LAN subnet, they will recieve a "Not Permitted" error 403.
|
||||||
|
home.veritablevalor.com {
|
||||||
|
reverse_proxy 10.0.10.21:5005
|
||||||
|
@blocked not remote_ip 10.0.0.0/8
|
||||||
|
respond @blocked "Not permitted" 403
|
||||||
|
}
|
79
dockercompose/caddy/README.md
Normal file
79
dockercompose/caddy/README.md
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
# Caddy
|
||||||
|
|
||||||
|
## Explaination
|
||||||
|
Caddy exposes ports 80 and 443 on the server it is running on.
|
||||||
|
```
|
||||||
|
80 ==> http
|
||||||
|
443 ==> https
|
||||||
|
```
|
||||||
|
When Caddy receives a request directed at one of your urls, it will redirect that to the appropriate back-end service. It will also automatically configure SSL (which enables https) for services that otherwise wouldn't have it.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
### Ports
|
||||||
|
Caddy needs the ports ```80``` and ```443``` - do not change them like you might with other containers. This also means that you want your service exposed publically so that you can access your services outside of your network. You will want to port-forward those ports to your server.
|
||||||
|
|
||||||
|
### Domain Name
|
||||||
|
Register a domain name of your choice. I recommend using [Epik](https://registrar.epik.com) for this (since they fully support wildcard domains).
|
||||||
|
|
||||||
|
Once you buy a domain name, you are going to create an ```A``` host record. This record will look something like below. It forwards your domain name to another IP address.
|
||||||
|
```
|
||||||
|
Host: gitea.veritablevalor.com
|
||||||
|
Points to: 144.202.71.63
|
||||||
|
```
|
||||||
|
(*Note: In the above host entry, 'gitea' is the subdomain, and 'veritablevalor' is the domain*)
|
||||||
|
|
||||||
|
Now when a computer tries to contact the host above, it will resolve to that IP address - my server (which has ports ```80``` and ```443``` ready to go).
|
||||||
|
|
||||||
|
### Wild Card Domains
|
||||||
|
A wild card domain is a domain name that matches anything with a certain specificity. For example, if I had an ```A``` record like below...
|
||||||
|
```
|
||||||
|
Host: *.veritablevalor.com
|
||||||
|
Points to: 144.202.71.63
|
||||||
|
```
|
||||||
|
...then any request ending in the domain name ```veritablevalor.com``` would be redirected/resolved to ```144.202.71.63```. All of the entries below would point to my server.
|
||||||
|
|
||||||
|
```
|
||||||
|
gitea.veritablevalor.com
|
||||||
|
nextcloud.veritablevalor.com
|
||||||
|
adwfageawdawd.veritablevalor.com
|
||||||
|
rob-boss.veritablevalor.com
|
||||||
|
```
|
||||||
|
A wild card domain record allows you to implicitly register any arbitrary subdomain to a specific server.
|
||||||
|
|
||||||
|
## Caddyfile
|
||||||
|
|
||||||
|
Below are some examples for configuring Caddy with the Caddyfile. These are by no means exhaustive - just what I use and am familier with.
|
||||||
|
|
||||||
|
### **Example 1: Basic Reverse Proxy**
|
||||||
|
This will redirect requests to the below url to the internal address below - 10.0.10.21:3333
|
||||||
|
|
||||||
|
```
|
||||||
|
cyberchef.veritablevalor.com {
|
||||||
|
reverse_proxy 10.0.10.21:3333
|
||||||
|
}
|
||||||
|
```
|
||||||
|
With the above setup, if you were to visit https://cyberchef.veritablevalor.com you would land on the same webpage as if you visited http://10.0.10.21:3333 (within my network). The key differences are you no longer have to remember an IP address and port, you have https (SSL) so the connection to the service is encrypted, and the service can be publically accessible with extra port forwarding for each service.
|
||||||
|
|
||||||
|
### **Example 2: Reverse Proxy that only permits LAN devices**
|
||||||
|
This is similar to the above, but if the requester's IP address is outside of my LAN subnet (```10.0.0.0/8```), they will recieve a ```"Not Permitted" error 403``` message. This effectively means that only LAN devices can use the service connected to "home.veritablevalor.com".
|
||||||
|
```
|
||||||
|
home.veritablevalor.com {
|
||||||
|
reverse_proxy 10.0.10.21:5005
|
||||||
|
@blocked not remote_ip 10.0.0.0/8
|
||||||
|
respond @blocked "Not permitted" 403
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Example 3: Reverse Proxy to an https service**
|
||||||
|
If the service you are redirecting to already has ```https``` enabled, you should ideally disable https on that service and let Caddy handle SSL certificates.
|
||||||
|
If this is not an option, you can use the below Caddyfile snipet to point to an internal https service.
|
||||||
|
```
|
||||||
|
nextcloud.veritablevalor.com {
|
||||||
|
reverse_proxy 10.0.10.21:4433 {
|
||||||
|
transport http {
|
||||||
|
tls_insecure_skip_verify
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
15
dockercompose/caddy/docker-compose.yml
Normal file
15
dockercompose/caddy/docker-compose.yml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
version: '3.7'
|
||||||
|
|
||||||
|
services:
|
||||||
|
caddy:
|
||||||
|
container_name: caddy
|
||||||
|
image: caddy:2.6.4-alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
# command: caddy reverse-proxy --from https://my-domain.com:443 --to http://my-app:3000
|
||||||
|
ports:
|
||||||
|
- 80:80 #http://
|
||||||
|
- 443:443 #https://
|
||||||
|
volumes:
|
||||||
|
- ./Caddyfile:/etc/caddy/Caddyfile #This file will need to exist before you start this stack
|
||||||
|
- ./data:/data
|
||||||
|
- ./config:/config
|
25
dockercompose/duplicati/docker-compose.yml
Normal file
25
dockercompose/duplicati/docker-compose.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
version: "2.1"
|
||||||
|
services:
|
||||||
|
duplicati:
|
||||||
|
image: lscr.io/linuxserver/duplicati:2.0.6
|
||||||
|
container_name: duplicati
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=America/Chicago
|
||||||
|
# - CLI_ARGS= #optional
|
||||||
|
volumes:
|
||||||
|
- /home/william/duplicati/config:/config
|
||||||
|
- backups:/backups # Mount a location to be configured for backups to be placed
|
||||||
|
- /home/william:/source-home # Mount as many places as you would backup files from
|
||||||
|
- /etc/wireguard:/source-wireguard
|
||||||
|
ports:
|
||||||
|
- 8200:8200
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
backups:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=10.0.10.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/General_Tank/DockerBinds/docker/duplicati-backups/arch-sapphire"
|
12
dockercompose/factorio/docker-compose.yml
Normal file
12
dockercompose/factorio/docker-compose.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
version: '3.7'
|
||||||
|
|
||||||
|
services:
|
||||||
|
factorio:
|
||||||
|
container_name: factorio
|
||||||
|
image: factoriotools/factorio:1.1.61
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 34197:34197/udp
|
||||||
|
- 27015:27015/tcp
|
||||||
|
volumes:
|
||||||
|
- ./data:/factorio
|
4
dockercompose/fireflyiii/.db.env
Normal file
4
dockercompose/fireflyiii/.db.env
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
MYSQL_RANDOM_ROOT_PASSWORD=yes
|
||||||
|
MYSQL_USER=firefly
|
||||||
|
MYSQL_PASSWORD=secret_firefly_password
|
||||||
|
MYSQL_DATABASE=firefly
|
315
dockercompose/fireflyiii/.env
Normal file
315
dockercompose/fireflyiii/.env
Normal file
@ -0,0 +1,315 @@
|
|||||||
|
# You can leave this on "local". If you change it to production most console commands will ask for extra confirmation.
|
||||||
|
# Never set it to "testing".
|
||||||
|
APP_ENV=local
|
||||||
|
|
||||||
|
# Set to true if you want to see debug information in error screens.
|
||||||
|
APP_DEBUG=false
|
||||||
|
|
||||||
|
# This should be your email address.
|
||||||
|
# If you use Docker or similar, you can set this variable from a file by using SITE_OWNER_FILE
|
||||||
|
# The variable is used in some errors shown to users who aren't admin.
|
||||||
|
SITE_OWNER=mail@example.com
|
||||||
|
|
||||||
|
# The encryption key for your sessions. Keep this very secure.
|
||||||
|
# Change it to a string of exactly 32 chars or use something like `php artisan key:generate` to generate it.
|
||||||
|
# If you use Docker or similar, you can set this variable from a file by using APP_KEY_FILE
|
||||||
|
#
|
||||||
|
# Avoid the "#" character in your APP_KEY, it may break things.
|
||||||
|
#
|
||||||
|
APP_KEY=SomeRandomStringOf32CharsExactly
|
||||||
|
|
||||||
|
# Firefly III will launch using this language (for new users and unauthenticated visitors)
|
||||||
|
# For a list of available languages: https://github.com/firefly-iii/firefly-iii/tree/main/resources/lang
|
||||||
|
#
|
||||||
|
# If text is still in English, remember that not everything may have been translated.
|
||||||
|
DEFAULT_LANGUAGE=en_US
|
||||||
|
|
||||||
|
# The locale defines how numbers are formatted.
|
||||||
|
# by default this value is the same as whatever the language is.
|
||||||
|
DEFAULT_LOCALE=equal
|
||||||
|
|
||||||
|
# Change this value to your preferred time zone.
|
||||||
|
# Example: Europe/Amsterdam
|
||||||
|
# For a list of supported time zones, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
|
TZ=Europe/Amsterdam
|
||||||
|
|
||||||
|
# TRUSTED_PROXIES is a useful variable when using Docker and/or a reverse proxy.
|
||||||
|
# Set it to ** and reverse proxies work just fine.
|
||||||
|
TRUSTED_PROXIES=
|
||||||
|
|
||||||
|
# The log channel defines where your log entries go to.
|
||||||
|
# Several other options exist. You can use 'single' for one big fat error log (not recommended).
|
||||||
|
# Also available are 'syslog', 'errorlog' and 'stdout' which will log to the system itself.
|
||||||
|
# A rotating log option is 'daily', creates 5 files that (surprise) rotate.
|
||||||
|
# A cool option is 'papertrail' for cloud logging
|
||||||
|
# Default setting 'stack' will log to 'daily' and to 'stdout' at the same time.
|
||||||
|
LOG_CHANNEL=stack
|
||||||
|
|
||||||
|
#
|
||||||
|
# Used when logging to papertrail:
|
||||||
|
#
|
||||||
|
PAPERTRAIL_HOST=
|
||||||
|
PAPERTRAIL_PORT=
|
||||||
|
|
||||||
|
# Log level. You can set this from least severe to most severe:
|
||||||
|
# debug, info, notice, warning, error, critical, alert, emergency
|
||||||
|
# If you set it to debug your logs will grow large, and fast. If you set it to emergency probably
|
||||||
|
# nothing will get logged, ever.
|
||||||
|
APP_LOG_LEVEL=notice
|
||||||
|
|
||||||
|
# Audit log level.
|
||||||
|
# Set this to "emergency" if you dont want to store audit logs, leave on info otherwise.
|
||||||
|
AUDIT_LOG_LEVEL=info
|
||||||
|
|
||||||
|
# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III
|
||||||
|
# For other database types, please see the FAQ: https://docs.firefly-iii.org/firefly-iii/faq/self-hosted/#i-want-to-use-sqlite
|
||||||
|
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
|
||||||
|
# Use "pgsql" for PostgreSQL
|
||||||
|
# Use "mysql" for MySQL and MariaDB.
|
||||||
|
# Use "sqlite" for SQLite.
|
||||||
|
DB_CONNECTION=mysql
|
||||||
|
DB_HOST=db
|
||||||
|
DB_PORT=3306
|
||||||
|
DB_DATABASE=firefly
|
||||||
|
DB_USERNAME=firefly
|
||||||
|
DB_PASSWORD=secret_firefly_password
|
||||||
|
# leave empty or omit when not using a socket connection
|
||||||
|
DB_SOCKET=
|
||||||
|
|
||||||
|
# MySQL supports SSL. You can configure it here.
|
||||||
|
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
|
||||||
|
MYSQL_USE_SSL=false
|
||||||
|
MYSQL_SSL_VERIFY_SERVER_CERT=true
|
||||||
|
# You need to set at least of these options
|
||||||
|
MYSQL_SSL_CAPATH=/etc/ssl/certs/
|
||||||
|
MYSQL_SSL_CA=
|
||||||
|
MYSQL_SSL_CERT=
|
||||||
|
MYSQL_SSL_KEY=
|
||||||
|
MYSQL_SSL_CIPHER=
|
||||||
|
|
||||||
|
# PostgreSQL supports SSL. You can configure it here.
|
||||||
|
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
|
||||||
|
PGSQL_SSL_MODE=prefer
|
||||||
|
PGSQL_SSL_ROOT_CERT=null
|
||||||
|
PGSQL_SSL_CERT=null
|
||||||
|
PGSQL_SSL_KEY=null
|
||||||
|
PGSQL_SSL_CRL_FILE=null
|
||||||
|
|
||||||
|
# more PostgreSQL settings
|
||||||
|
PGSQL_SCHEMA=public
|
||||||
|
|
||||||
|
# If you're looking for performance improvements, you could install memcached or redis
|
||||||
|
CACHE_DRIVER=file
|
||||||
|
SESSION_DRIVER=file
|
||||||
|
|
||||||
|
# If you set either of the options above to 'redis', you might want to update these settings too
|
||||||
|
# If you use Docker or similar, you can set REDIS_HOST_FILE, REDIS_PASSWORD_FILE or
|
||||||
|
# REDIS_PORT_FILE to set the value from a file instead of from an environment variable
|
||||||
|
|
||||||
|
# can be tcp, unix or http
|
||||||
|
REDIS_SCHEME=tcp
|
||||||
|
|
||||||
|
# use only when using 'unix' for REDIS_SCHEME. Leave empty otherwise.
|
||||||
|
REDIS_PATH=
|
||||||
|
|
||||||
|
# use only when using 'tcp' or 'http' for REDIS_SCHEME. Leave empty otherwise.
|
||||||
|
REDIS_HOST=127.0.0.1
|
||||||
|
REDIS_PORT=6379
|
||||||
|
|
||||||
|
# Use only with Redis 6+ with proper ACL set. Leave empty otherwise.
|
||||||
|
REDIS_USERNAME=
|
||||||
|
REDIS_PASSWORD=
|
||||||
|
|
||||||
|
# always use quotes and make sure redis db "0" and "1" exists. Otherwise change accordingly.
|
||||||
|
REDIS_DB="0"
|
||||||
|
REDIS_CACHE_DB="1"
|
||||||
|
|
||||||
|
# Cookie settings. Should not be necessary to change these.
|
||||||
|
# If you use Docker or similar, you can set COOKIE_DOMAIN_FILE to set
|
||||||
|
# the value from a file instead of from an environment variable
|
||||||
|
# Setting samesite to "strict" may give you trouble logging in.
|
||||||
|
COOKIE_PATH="/"
|
||||||
|
COOKIE_DOMAIN=
|
||||||
|
COOKIE_SECURE=false
|
||||||
|
COOKIE_SAMESITE=lax
|
||||||
|
|
||||||
|
# If you want Firefly III to email you, update these settings
|
||||||
|
# For instructions, see: https://docs.firefly-iii.org/firefly-iii/advanced-installation/email/#email
|
||||||
|
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
|
||||||
|
MAIL_MAILER=log
|
||||||
|
MAIL_HOST=null
|
||||||
|
MAIL_PORT=2525
|
||||||
|
MAIL_FROM=changeme@example.com
|
||||||
|
MAIL_USERNAME=null
|
||||||
|
MAIL_PASSWORD=null
|
||||||
|
MAIL_ENCRYPTION=null
|
||||||
|
MAIL_SENDMAIL_COMMAND=
|
||||||
|
|
||||||
|
# Other mail drivers:
|
||||||
|
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
|
||||||
|
MAILGUN_DOMAIN=
|
||||||
|
MAILGUN_SECRET=
|
||||||
|
|
||||||
|
# If you are on EU region in mailgun, use api.eu.mailgun.net, otherwise use api.mailgun.net
|
||||||
|
# If you use Docker or similar, you can set this variable from a file by appending it with _FILE
|
||||||
|
MAILGUN_ENDPOINT=api.mailgun.net
|
||||||
|
|
||||||
|
# If you use Docker or similar, you can set these variables from a file by appending them with _FILE
|
||||||
|
MANDRILL_SECRET=
|
||||||
|
SPARKPOST_SECRET=
|
||||||
|
|
||||||
|
# Firefly III can send you the following messages.
|
||||||
|
SEND_ERROR_MESSAGE=true
|
||||||
|
|
||||||
|
# These messages contain (sensitive) transaction information:
|
||||||
|
SEND_REPORT_JOURNALS=true
|
||||||
|
|
||||||
|
# Set this value to true if you want to set the location of certain things, like transactions.
|
||||||
|
# Since this involves an external service, it's optional and disabled by default.
|
||||||
|
ENABLE_EXTERNAL_MAP=false
|
||||||
|
|
||||||
|
# Set this value to true if you want Firefly III to download currency exchange rates
|
||||||
|
# from the internet. These rates are hosted by the creator of Firefly III inside
|
||||||
|
# an Azure Storage Container.
|
||||||
|
# Not all currencies may be available. Rates may be wrong.
|
||||||
|
ENABLE_EXTERNAL_RATES=false
|
||||||
|
|
||||||
|
# The map will default to this location:
|
||||||
|
MAP_DEFAULT_LAT=51.983333
|
||||||
|
MAP_DEFAULT_LONG=5.916667
|
||||||
|
MAP_DEFAULT_ZOOM=6
|
||||||
|
|
||||||
|
#
|
||||||
|
# Firefly III authentication settings
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Firefly III supports a few authentication methods:
|
||||||
|
# - 'web' (default, uses built in DB)
|
||||||
|
# - 'remote_user_guard' for Authelia etc
|
||||||
|
# Read more about these settings in the documentation.
|
||||||
|
# https://docs.firefly-iii.org/firefly-iii/advanced-installation/authentication
|
||||||
|
#
|
||||||
|
# LDAP is no longer supported :(
|
||||||
|
#
|
||||||
|
AUTHENTICATION_GUARD=web
|
||||||
|
|
||||||
|
#
|
||||||
|
# Remote user guard settings
|
||||||
|
#
|
||||||
|
AUTHENTICATION_GUARD_HEADER=REMOTE_USER
|
||||||
|
AUTHENTICATION_GUARD_EMAIL=
|
||||||
|
|
||||||
|
#
|
||||||
|
# Firefly III generates a basic keypair for your OAuth tokens.
|
||||||
|
# If you want, you can overrule the key with your own (secure) value.
|
||||||
|
# It's also possible to set PASSPORT_PUBLIC_KEY_FILE or PASSPORT_PRIVATE_KEY_FILE
|
||||||
|
# if you're using Docker secrets or similar solutions for secret management
|
||||||
|
#
|
||||||
|
PASSPORT_PRIVATE_KEY=
|
||||||
|
PASSPORT_PUBLIC_KEY=
|
||||||
|
|
||||||
|
#
|
||||||
|
# Extra authentication settings
|
||||||
|
#
|
||||||
|
CUSTOM_LOGOUT_URL=
|
||||||
|
|
||||||
|
# You can disable the X-Frame-Options header if it interferes with tools like
|
||||||
|
# Organizr. This is at your own risk. Applications running in frames run the risk
|
||||||
|
# of leaking information to their parent frame.
|
||||||
|
DISABLE_FRAME_HEADER=false
|
||||||
|
|
||||||
|
# You can disable the Content Security Policy header when you're using an ancient browser
|
||||||
|
# or any version of Microsoft Edge / Internet Explorer (which amounts to the same thing really)
|
||||||
|
# This leaves you with the risk of not being able to stop XSS bugs should they ever surface.
|
||||||
|
# This is at your own risk.
|
||||||
|
DISABLE_CSP_HEADER=false
|
||||||
|
|
||||||
|
# If you wish to track your own behavior over Firefly III, set valid analytics tracker information here.
|
||||||
|
# Nobody uses this except for me on the demo site. But hey, feel free to use this if you want to.
|
||||||
|
# Do not prepend the TRACKER_URL with http:// or https://
|
||||||
|
# The only tracker supported is Matomo.
|
||||||
|
# You can set the following variables from a file by appending them with _FILE:
|
||||||
|
TRACKER_SITE_ID=
|
||||||
|
TRACKER_URL=
|
||||||
|
|
||||||
|
#
|
||||||
|
# Firefly III supports webhooks. These are security sensitive and must be enabled manually first.
|
||||||
|
#
|
||||||
|
ALLOW_WEBHOOKS=false
|
||||||
|
|
||||||
|
#
|
||||||
|
# The static cron job token can be useful when you use Docker and wish to manage cron jobs.
|
||||||
|
# 1. Set this token to any 32-character value (this is important!).
|
||||||
|
# 2. Use this token in the cron URL instead of a user's command line token that you can find in /profile
|
||||||
|
#
|
||||||
|
# For more info: https://docs.firefly-iii.org/firefly-iii/advanced-installation/cron/
|
||||||
|
#
|
||||||
|
# You can set this variable from a file by appending it with _FILE
|
||||||
|
#
|
||||||
|
STATIC_CRON_TOKEN=
|
||||||
|
|
||||||
|
# You can fine tune the start-up of a Docker container by editing these environment variables.
|
||||||
|
# Use this at your own risk. Disabling certain checks and features may result in lots of inconsistent data.
|
||||||
|
# However if you know what you're doing you can significantly speed up container start times.
|
||||||
|
# Set each value to true to enable, or false to disable.
|
||||||
|
|
||||||
|
# Set this to true to build all locales supported by Firefly III.
|
||||||
|
# This may take quite some time (several minutes) and is generally not recommended.
|
||||||
|
# If you wish to change or alter the list of locales, start your Docker container with
|
||||||
|
# `docker run -v locale.gen:/etc/locale.gen -e DKR_BUILD_LOCALE=true`
|
||||||
|
# and make sure your preferred locales are in your own locale.gen.
|
||||||
|
DKR_BUILD_LOCALE=false
|
||||||
|
|
||||||
|
# Check if the SQLite database exists. Can be skipped if you're not using SQLite.
|
||||||
|
# Won't significantly speed up things.
|
||||||
|
DKR_CHECK_SQLITE=true
|
||||||
|
|
||||||
|
# Run database creation and migration commands. Disable this only if you're 100% sure the DB exists
|
||||||
|
# and is up to date.
|
||||||
|
DKR_RUN_MIGRATION=true
|
||||||
|
|
||||||
|
# Run database upgrade commands. Disable this only when you're 100% sure your DB is up-to-date
|
||||||
|
# with the latest fixes (outside of migrations!)
|
||||||
|
DKR_RUN_UPGRADE=true
|
||||||
|
|
||||||
|
# Verify database integrity. Includes all data checks and verifications.
|
||||||
|
# Disabling this makes Firefly III assume your DB is intact.
|
||||||
|
DKR_RUN_VERIFY=true
|
||||||
|
|
||||||
|
# Run database reporting commands. When disabled, Firefly III won't go over your data to report current state.
|
||||||
|
# Disabling this should have no impact on data integrity or safety but it won't warn you of possible issues.
|
||||||
|
DKR_RUN_REPORT=true
|
||||||
|
|
||||||
|
# Generate OAuth2 keys.
|
||||||
|
# When disabled, Firefly III won't attempt to generate OAuth2 Passport keys. This won't be an issue, IFF (if and only if)
|
||||||
|
# you had previously generated keys already and they're stored in your database for restoration.
|
||||||
|
DKR_RUN_PASSPORT_INSTALL=true
|
||||||
|
|
||||||
|
# Leave the following configuration vars as is.
|
||||||
|
# Unless you like to tinker and know what you're doing.
|
||||||
|
APP_NAME=FireflyIII
|
||||||
|
BROADCAST_DRIVER=log
|
||||||
|
QUEUE_DRIVER=sync
|
||||||
|
CACHE_PREFIX=firefly
|
||||||
|
PUSHER_KEY=
|
||||||
|
IPINFO_TOKEN=
|
||||||
|
PUSHER_SECRET=
|
||||||
|
PUSHER_ID=
|
||||||
|
DEMO_USERNAME=
|
||||||
|
DEMO_PASSWORD=
|
||||||
|
FIREFLY_III_LAYOUT=v1
|
||||||
|
|
||||||
|
#
|
||||||
|
# If you have trouble configuring your Firefly III installation, DON'T BOTHER setting this variable.
|
||||||
|
# It won't work. It doesn't do ANYTHING. Don't believe the lies you read online. I'm not joking.
|
||||||
|
# This configuration value WILL NOT HELP.
|
||||||
|
#
|
||||||
|
# Notable exception to this rule is Synology, which, according to some users, will use APP_URL to rewrite stuff.
|
||||||
|
#
|
||||||
|
# This variable is ONLY used in some of the emails Firefly III sends around. Nowhere else.
|
||||||
|
# So when configuring anything WEB related this variable doesn't do anything. Nothing
|
||||||
|
#
|
||||||
|
# If you're stuck I understand you get desperate but look SOMEWHERE ELSE.
|
||||||
|
#
|
||||||
|
APP_URL=http://localhost
|
24
dockercompose/fireflyiii/docker-compose.yml
Normal file
24
dockercompose/fireflyiii/docker-compose.yml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
version: '3.3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
fireflyiii:
|
||||||
|
container_name: firefly-app
|
||||||
|
image: fireflyiii/core:latest
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./upload:/var/www/html/storage/upload
|
||||||
|
env_file: .env
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
container_name: firefly-mysql
|
||||||
|
image: mysql:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 3306:3306
|
||||||
|
volumes:
|
||||||
|
- ./mysqldata:/var/lib/mysql
|
||||||
|
env_file: .db.env
|
22
dockercompose/flame/docker-compose.yml
Normal file
22
dockercompose/flame/docker-compose.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
version: '3.6'
|
||||||
|
|
||||||
|
services:
|
||||||
|
flame:
|
||||||
|
image: pawelmalak/flame
|
||||||
|
container_name: flame
|
||||||
|
volumes:
|
||||||
|
- ./data:/app/data
|
||||||
|
#- /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration
|
||||||
|
ports:
|
||||||
|
- 5005:5005
|
||||||
|
# secrets:
|
||||||
|
#- password # optional but required for (1)
|
||||||
|
environment:
|
||||||
|
- PASSWORD=<PASSWORD>
|
||||||
|
#- PASSWORD_FILE=/run/secrets/password # optional but required for (1)
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# optional but required for Docker secrets (1)
|
||||||
|
#secrets:
|
||||||
|
#password:
|
||||||
|
#file: ./password
|
14
dockercompose/gitea/.env
Normal file
14
dockercompose/gitea/.env
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#Database
|
||||||
|
POSTGRES_USER=gitea
|
||||||
|
POSTGRES_PASSWORD=gitea
|
||||||
|
POSTGRES_DB=gitea
|
||||||
|
|
||||||
|
#Gitea
|
||||||
|
USER_UID=1000
|
||||||
|
USER_GID=1000
|
||||||
|
GITEA__database__DB_TYPE=postgres
|
||||||
|
GITEA__database__HOST=db:5432
|
||||||
|
GITEA__database__NAME=gitea
|
||||||
|
GITEA__database__USER=gitea
|
||||||
|
GITEA__database__PASSWD=gitea
|
||||||
|
GITEA__webhook__ALLOWED_HOST_LIST=*
|
33
dockercompose/gitea/docker-compose.yml
Normal file
33
dockercompose/gitea/docker-compose.yml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
gitea:
|
||||||
|
external: false
|
||||||
|
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: gitea/gitea:1.18.1
|
||||||
|
container_name: gitea
|
||||||
|
env_file: .env
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- ./config:/data/gitea/conf
|
||||||
|
- ./data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- "3003:3000"
|
||||||
|
- "222:22"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:14
|
||||||
|
restart: always
|
||||||
|
env_file: .env
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- ./postgres:/var/lib/postgresql/data
|
18
dockercompose/n8n/.env
Normal file
18
dockercompose/n8n/.env
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Database
|
||||||
|
POSTGRES_USER=root # The PostgreSQL user (useful to connect to the database)
|
||||||
|
POSTGRES_PASSWORD=<changeme> # The PostgreSQL password (useful to connect to the database)
|
||||||
|
POSTGRES_DB=n8n # The PostgreSQL default database (automatically created at first launch)
|
||||||
|
|
||||||
|
#N8N
|
||||||
|
N8N_BASIC_AUTH_ACTIVE=true
|
||||||
|
N8N_BASIC_AUTH_USER=admin
|
||||||
|
N8N_BASIC_AUTH_PASSWORD=<default_login_password>
|
||||||
|
N8N_DIAGNOSTICS_ENABLED=false
|
||||||
|
N8N_HIRING_BANNER_ENABLED=false
|
||||||
|
N8N_HIDE_USAGE_PAGE=true
|
||||||
|
DB_TYPE=postgresdb
|
||||||
|
DB_POSTGRESDB_HOST=n8n-db-postgres
|
||||||
|
DB_POSTGRESDB_PASSWORD=<db_password>
|
||||||
|
EXECUTIONS_DATA_PRUNE=true
|
||||||
|
EXECUTIONS_DATA_MAX_AGE=24
|
||||||
|
GENERIC_TIMEZONE=America/Chicago
|
34
dockercompose/n8n/docker-compose.yml
Normal file
34
dockercompose/n8n/docker-compose.yml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
n8n-app:
|
||||||
|
image: matthijs166/n8n-websocket
|
||||||
|
container_name: n8n-app
|
||||||
|
env_file: .env
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- n8n-db-postgres
|
||||||
|
volumes:
|
||||||
|
- ./.n8n:/home/node/.n8n #Configuration Folder
|
||||||
|
- ./scripts:/scripts #Optional
|
||||||
|
- ./git/:/git #Optional
|
||||||
|
- backups:/mnt/backups #Optional
|
||||||
|
ports:
|
||||||
|
- "3334:5678"
|
||||||
|
|
||||||
|
n8n-db-postgres:
|
||||||
|
container_name: n8n-db-postgres
|
||||||
|
image: 'postgres:latest'
|
||||||
|
restart: always
|
||||||
|
env_file: .env
|
||||||
|
#ports:
|
||||||
|
# - 5432:5432
|
||||||
|
volumes:
|
||||||
|
- ./postgres-data/:/var/lib/postgresql/data/
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
backups:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=10.0.10.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/General_Tank/DockerBinds/docker/backups"
|
14
dockercompose/nextcloud/.env
Normal file
14
dockercompose/nextcloud/.env
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#NextCloud
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
|
TZ=America/Chicago
|
||||||
|
MYSQL_PASSWORD=<NEW_DB_PASSWORD>
|
||||||
|
MYSQL_DATABASE=nextcloud
|
||||||
|
MYSQL_USER=nextcloud
|
||||||
|
MYSQL_HOST=nextcloud_db
|
||||||
|
|
||||||
|
#Database
|
||||||
|
MYSQL_ROOT_PASSWORD=<NEW_DB_PASSWORD>
|
||||||
|
MYSQL_PASSWORD=<NEW_DB_PASSWORD>
|
||||||
|
MYSQL_DATABASE=nextcloud
|
||||||
|
MYSQL_USER=nextcloud
|
32
dockercompose/nextcloud/docker-compose.yml
Normal file
32
dockercompose/nextcloud/docker-compose.yml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
version: "3.2"
|
||||||
|
services:
|
||||||
|
nextcloud:
|
||||||
|
image: lscr.io/linuxserver/nextcloud:26.0.0
|
||||||
|
container_name: nextcloud_app
|
||||||
|
env_file: .env
|
||||||
|
volumes:
|
||||||
|
- ./appdata:/config
|
||||||
|
- nextcloud_data:/data #This is where most of the NextCloud app lives, including ALL user uploaded files
|
||||||
|
# I have mounted this to my NAS (a volume defined below called 'nextcloud_data') because the server wouldn't
|
||||||
|
# have enough space.
|
||||||
|
ports:
|
||||||
|
- 4433:443
|
||||||
|
restart: unless-stopped
|
||||||
|
links:
|
||||||
|
- nextcloud_db
|
||||||
|
|
||||||
|
nextcloud_db:
|
||||||
|
container_name: nextcloud_db
|
||||||
|
image: mariadb:10.7.8
|
||||||
|
restart: always
|
||||||
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
|
||||||
|
volumes:
|
||||||
|
- ./mysql:/var/lib/mysql
|
||||||
|
env_file: .env
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
nextcloud_data:
|
||||||
|
driver_opts:
|
||||||
|
type: "nfs"
|
||||||
|
o: "addr=10.0.10.10,nolock,soft,rw"
|
||||||
|
device: ":/mnt/General_Tank/DockerBinds/docker/nextcloud-hub-4"
|
10
dockercompose/portainer-ce/docker-compose.yml
Normal file
10
dockercompose/portainer-ce/docker-compose.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
version: "3.5"
|
||||||
|
services:
|
||||||
|
portainer_ce:
|
||||||
|
image: portainer/portainer-ce
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /home/prod/compose/portainer/data:/data portainer/portainer-ce
|
||||||
|
ports:
|
||||||
|
- 9000:9000
|
4
dockercompose/portainer-edge-agent/.env
Normal file
4
dockercompose/portainer-edge-agent/.env
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
EDGE=1
|
||||||
|
EDGE_ID=<id>
|
||||||
|
EDGE_KEY=<key>
|
||||||
|
EDGE_INSECURE_POLL=1
|
14
dockercompose/portainer-edge-agent/docker-compose.yml
Normal file
14
dockercompose/portainer-edge-agent/docker-compose.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
version: "3.5"
|
||||||
|
services:
|
||||||
|
portainer_edge_agent:
|
||||||
|
image: portainer/agent:2.14.2
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
||||||
|
- /:/host
|
||||||
|
- portainer_data:/data
|
||||||
|
env_file: .env
|
||||||
|
ports:
|
||||||
|
- 9001:9001
|
||||||
|
- 8000:8000
|
12
dockercompose/wikijs/.env
Normal file
12
dockercompose/wikijs/.env
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Database
|
||||||
|
POSTGRES_DB=wiki
|
||||||
|
POSTGRES_PASSWORD=wikijsrocks
|
||||||
|
POSTGRES_USER=wikijs
|
||||||
|
|
||||||
|
# Wiki
|
||||||
|
DB_TYPE=postgres
|
||||||
|
DB_HOST=wiki-db
|
||||||
|
DB_PORT=5432
|
||||||
|
DB_USER=wikijs
|
||||||
|
DB_PASS=wikijsrocks
|
||||||
|
DB_NAME=wiki
|
21
dockercompose/wikijs/docker-compose.yml
Normal file
21
dockercompose/wikijs/docker-compose.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
wiki-db:
|
||||||
|
image: postgres:11-alpine
|
||||||
|
container_name: wiki-db
|
||||||
|
env_file: .env
|
||||||
|
logging:
|
||||||
|
driver: "none"
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./db-data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
wiki-web:
|
||||||
|
image: ghcr.io/requarks/wiki:2
|
||||||
|
container_name: wiki-web
|
||||||
|
depends_on:
|
||||||
|
- wiki-db
|
||||||
|
env_file: .env
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "9900:3000"
|
Loading…
x
Reference in New Issue
Block a user