forked from Viren070/docker-compose-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env
More file actions
231 lines (208 loc) · 11.8 KB
/
.env
File metadata and controls
231 lines (208 loc) · 11.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# This file is used to store the core configuration for this template. Filling this .env in is the minimum requirement to get the template up and running.
# It will set up Traefik and Authelia
# The timezone to use, find your timezone database name from
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# Use the value from the 'TZ identifier' column
TZ=Etc/UTC
# Directory configuration. This .env file should be in /opt/docker, using the defaults below.
# You MUST use absolute paths, otherwise each bind mount would be created relative to each compose file, and not
# the current directory
DOCKER_DIR=/opt/docker
DOCKER_DATA_DIR=${DOCKER_DIR}/data
DOCKER_APP_DIR=${DOCKER_DIR}/apps
# The process user ID and group ID to use for applicable containers.
# Run 'id' to see your UID and GID
# On oracle, both these values should be set to 1001
# Ensure that any pre-existing folders within the DOCKER_DATA_DIR (i.e. folders that were included within the template repository)
# have the correct permissions.
# You can run
# sudo chown $PUID:$PGID -R $DOCKER_DATA_DIR
# replacing the variables with the actual values e.g sudo chown 1001:1001 -R /opt/docker/data
PUID=1000
PGID=1000
# =========================================================
# PROFILE CONFIGURATION
# =========================================================
# This compose project is split up into profiles to allow you to only run the services you want to use.
# Every single service in this project has its own profile, there are also profiles for a group of services.
# There is a 'required' profile that contains services that are considered required and you should not remove this
# profile. This profile contains authelia and traefik. These two services are the core of the template as traefik
# allows external access while authelia provides authentication.
# From there, you can add other apps by adding the relevant profile to the COMPOSE_PROFILES variable below.
# e.g. If you wanted to add aiostreams and mediaflow proxy, you would add the 'aiostreams' and 'mediaflow-proxy' profiles to the COMPOSE_PROFILES variable.
# like so: COMPOSE_PROFILES="required,aiostreams,mediaflow-proxy"
# You can also add the 'all' profile which will include every service in the template.
# This can be useful if you prefer to manually edit the root compose.yaml file to remove services from the include list or removing the profiles.
#
# If you set the COMPOSE_PROFILES variable here, all future 'docker compose' commands will abide by this variable.
# You can, however, override this variable by using the --profile flag with docker compose commands.
# This is useful when you want to run commands for a specific service e.g. restarting mediafusion only with docker compose --profile mediafusion restart
# That command will only restart mediafusion and its related services (scheduler, browserless, redis, mongo)
COMPOSE_PROFILES="required"
# Other than modifying the profiles, you may also look at the compose.yaml file in the root of $DOCKER_APP_DIR
# This file 'includes' all the other compose.yaml files. You can remove a specific file from the list to remove that from the final
# compose.yaml. e.g. you could remove the line '- gluetun/compose.yaml' and any services in that file (gluetun and gost) will not be included
# in the compose.
# Ensure that you don't remove files that other included files may rely on.
# ============================================================
# TRAEFIK
# ============================================================
# Traefik is the reverse proxy which provides external access to our apps.
# Email provided to Let's Encrypt for notifications
LETSENCRYPT_EMAIL=
# The domain name to use for all services that are going to be exposed with Traefik.
# This will be the default domain used for all services that are exposed with Traefik.
# You can modify the domain used for specific services by editing the app specific hostname variables below.
# If you have multiple domains, I would recommend providing a second domain here (e.g. 'DOMAIN2=example.io') and then editing the app specific hostname variables to use `DOMAIN2` instead of `DOMAIN`.
# FOR DUCKDNS USERS: create only 1 record at duckdns e.g. example.duckdns.org and set the DOMAIN variable below to that value. You will access your apps via subdomains of it e.g. aiostreams.example.duckdns.org
DOMAIN=example.com
# =========================================================
# AUTHELIA
# =========================================================
# Authelia provides authentication for our apps. It supports access control policies, passkeys, webauthn and 2FA.
# These should all be different random strings of at least 64 characters.
# You can use the following command to generate them:
# echo "$(openssl rand -base64 64 | tr -d '=/' | tr -d '\n')"
AUTHELIA_SESSION_SECRET=""
AUTHELIA_STORAGE_ENCRYPTION_KEY=""
AUTHELIA_JWT_SECRET=""
# You can find additional configuration for Authelia in Authelia's .env file which will also
# tell you how to add users
# Currently there is only one user (user1 with password 'password') and it has access to everything.
# If you would like to configure access control policies, you will need to edit the access_control key
# in the ${DOCKER_APP_DIR}/authelia/config/configuration.yml file.
# ==========================================================
# CLOUDFLARE DDNS
# ==========================================================
# If you would like to use the Cloudflare DDNS service to automatically create the DNS A/AAAA records for your services,
# you must:
# - Be using your own domain (This will NOT work with services like Afraid.org and DuckDNS).
# - Have a Cloudflare account and have your domain added to it
# - Have your domain set to use Cloudflare's nameservers.
# - Add 'cloudflare-ddns' to the 'COMPOSE_PROFILES' variable above. (or use the 'all' profile)
# Then, obtain a cloudflare API token at (https://dash.cloudflare.com/profile/api-tokens) using the 'Edit zone DNS' template and
# provide it here.
CLOUDFLARE_API_TOKEN=
# WARNING: if you do not want to use Cloudflare DDNS, you must make sure to manually add the DNS A records for each subdomain you choose to use.
# If you use DuckDNS, there isn't a need to create additional records, you only need one record created e.g. example.duckdns.org
# If you use Afraid.org, it is recommended to manually set the specific domains below to the correct domains e.g. set AIOSTREAMS_HOSTNAME to aio.mooo.com
# The required configuration for this .env is now done, you can add other services to the COMPOSE_PROFILES variable above.
# Some apps will require additional configuration in their own .env files - which will be located in the same directory as their compose.yaml file in the app's folder
# You can optionally also edit the subdomains below
# These values are the subdomains that Traefik will use to route traffic to the services.
# You can modify these values to suit your needs, but ensure that they are unique and do not conflict with other services.
ACTUAL_BUDGET_HOSTNAME=actual-budget.${DOMAIN?}
ADDON_MANAGER_HOSTNAME=addon-manager.${DOMAIN?}
ADGUARD_HOSTNAME=adguard.${DOMAIN?}
AIOLISTS_HOSTNAME=aiolists.${DOMAIN?}
AIOMETADATA_HOSTNAME=aiometadata.${DOMAIN?}
AIOSTREAMS_HOSTNAME=aiostreams.${DOMAIN}
AIOSTREMIO_HOSTNAME=aiostremio.${DOMAIN}
ALTMOUNT_HOSTNAME=altmount.${DOMAIN}
ANIME_KITSU_HOSTNAME=kitsu.${DOMAIN}
APPRISE_HOSTNAME=apprise.${DOMAIN}
ARCANE_HOSTNAME=arcane.${DOMAIN}
AUTHELIA_HOSTNAME=auth.${DOMAIN}
AUTOSYNC_HOSTNAME=autosync.${DOMAIN}
BAZARR_HOSTNAME=bazarr.${DOMAIN}
BAZARR4K_HOSTNAME=4k.bazarr.${DOMAIN}
BESZEL_HOSTNAME=beszel.${DOMAIN}
BITMAGNET_HOSTNAME=bitmagnet.${DOMAIN}
COMET_HOSTNAME=comet.${DOMAIN}
DASHDOT_HOSTNAME=dash.${DOMAIN}
DEBRIDAV_HOSTNAME=debridav.${DOMAIN}
DECYPHARR_HOSTNAME=decypharr.${DOMAIN}
DISCORD_TICKETS_HOSTNAME=tickets.${DOMAIN}
DOCKGE_HOSTNAME=dockge.${DOMAIN}
DOZZLE_HOSTNAME=dozzle.${DOMAIN}
EASYNEWS_PLUS_HOSTNAME=easynews-plus.${DOMAIN}
EASYNEWS_PLUS_PLUS_HOSTNAME=easynews-plus-plus.${DOMAIN}
FRESHRSS_HOSTNAME=freshrss.${DOMAIN}
FIVEFILTERS_FULL_TEXT_RSS_HOSTNAME=fivefilters.${DOMAIN}
HOMARR_HOSTNAME=homarr.${DOMAIN}
HONEY_HOSTNAME=${DOMAIN}
HUNTARR_HOSTNAME=huntarr.${DOMAIN}
IMMICH_HOSTNAME=immich.${DOMAIN}
IPTVBOSS_HOSTNAME=iptvboss.${DOMAIN}
IT_TOOLS_HOSTNAME=it-tools.${DOMAIN}
JACKETT_HOSTNAME=jackett.${DOMAIN}
JACKETTIO_HOSTNAME=jackettio.${DOMAIN}
JELLYFIN_HOSTNAME=jellyfin.${DOMAIN}
JELLYSEERR_HOSTNAME=jellyseerr.${DOMAIN}
KARAKEEP_HOSTNAME=karakeep.${DOMAIN}
LIBRESPEED_HOSTNAME=speedtest.${DOMAIN}
MEALIE_HOSTNAME=mealie.${DOMAIN}
MEDIAFLOW_PROXY_HOSTNAME=mediaflow-proxy.${DOMAIN}
MEDIAFUSION_HOSTNAME=mediafusion.${DOMAIN}
MINECRAFT_HOSTNAME=mc.${DOMAIN}
NITTER_HOSTNAME=nitter.${DOMAIN}
NOTIFIARR_HOSTNAME=notifiarr.${DOMAIN}
NTFY_HOSTNAME=ntfy.${DOMAIN}
NZBDAV_HOSTNAME=nzbdav.${DOMAIN}
NZBHYDRA2_HOSTNAME=nzbhydra2.${DOMAIN}
OMG_TV_STREMIO_ADDON_HOSTNAME=omg-tv-addon.${DOMAIN}
OVERSEERR_HOSTNAME=overseerr.${DOMAIN}
PLAUSIBLE_HOSTNAME=plausible.${DOMAIN}
PLEX_HOSTNAME=plex.${DOMAIN}
PLEXIO_HOSTNAME=plexio.${DOMAIN}
PORTAINER_HOSTNAME=portainer.${DOMAIN}
PROWLARR_HOSTNAME=prowlarr.${DOMAIN}
QUETRE_HOSTNAME=quetre.${DOMAIN}
RADARR_HOSTNAME=radarr.${DOMAIN}
RADARR4K_HOSTNAME=4k.radarr.${DOMAIN}
RADARRANIME_HOSTNAME=anime.radarr.${DOMAIN}
REDLIB_HOSTNAME=redlib.${DOMAIN}
RSS_BRIDGE_HOSTNAME=rss-bridge.${DOMAIN}
SEANIME_HOSTNAME=seanime.${DOMAIN}
SEARXNG_HOSTNAME=searxng.${DOMAIN}
SONARR_HOSTNAME=sonarr.${DOMAIN}
SONARR4K_HOSTNAME=4k.sonarr.${DOMAIN}
SONARRANIME_HOSTNAME=anime.sonarr.${DOMAIN}
SPEEDTEST_TRACKER_HOSTNAME=speedtest-tracker.${DOMAIN}
STIRLING_PDF_HOSTNAME=stirling.${DOMAIN}
STREAMYSTATS_HOSTNAME=streamystats.${DOMAIN}
STREMIO_ACCOUNT_BOOTSTRAPPER_HOSTNAME=stremio-account-bootstrapper.${DOMAIN?}
STREMIO_AI_COMPANION_HOSTNAME=ai-companion.${DOMAIN?}
STREMIO_AI_SEARCH_HOSTNAME=ai-search.${DOMAIN?}
STREMIO_CATALOG_PROVIDERS_HOSTNAME=stremio-catalogues.${DOMAIN}
STREMIO_JACKETT_HOSTNAME=stremio-jackett.${DOMAIN}
STREMIO_LETTERBOXD_HOSTNAME=stremio-letterboxd.${DOMAIN}
STREMIO_SERVER_HOSTNAME=stremio-server.${DOMAIN}
STREMIO_STREAMING_CATALOGS_HOSTNAME=streaming-catalogs.${DOMAIN}
STREMIO_TRAKT_ADDON_HOSTNAME=stremio-trakt.${DOMAIN}
STREMTHRU_HOSTNAME=stremthru.${DOMAIN}
SYNCRIBULLET_HOSTNAME=syncribullet.${DOMAIN}
TANDOOR_HOSTNAME=tandoor.${DOMAIN}
TAUTULLI_HOSTNAME=tautulli.${DOMAIN}
THE_LOUNGE_HOSTNAME=thelounge.${DOMAIN}
TMDB_ADDON_HOSTNAME=tmdb.${DOMAIN}
TMDB_COLLECTIONS_HOSTNAME=tmdb-collections.${DOMAIN}
TORBOX_MANAGER_HOSTNAME=tbm.${DOMAIN}
TRAEFIK_HOSTNAME=traefik.${DOMAIN}
UPTIME_KUMA_HOSTNAME=status.${DOMAIN}
USENET_STREAMER_HOSTNAME=usenet-streamer.${DOMAIN}
VAULTWARDEN_HOSTNAME=vaultwarden.${DOMAIN}
WALLOS_HOSTNAME=wallos.${DOMAIN}
WEBSTREAMR_HOSTNAME=webstreamr.${DOMAIN}
WUD_HOSTNAME=wud.${DOMAIN}
YAMTRACK_HOSTNAME=yamtrack.${DOMAIN}
ZILEAN_HOSTNAME=zilean.${DOMAIN}
ZIPLINE_HOSTNAME=zipline.${DOMAIN}
ZURG_HOSTNAME=zurg.${DOMAIN}
# ====================================================
# DOCKER COMPOSE CONFIGURATION
# ====================================================
# This is the name of the compose project.
# Reference: https://docs.docker.com/compose/how-tos/environment-variables/envvars/#compose_project_name
COMPOSE_PROJECT_NAME=aio
# When set to true, any containers that are not defined within this compose file will be removed when the stack is stopped or removed.
# Reference: https://docs.docker.com/compose/how-tos/environment-variables/envvars/#compose_remove_orphans
COMPOSE_REMOVE_ORPHANS=true
# Delegate building to bake for improved performance.
COMPOSE_BAKE=true
# Defining the location of the compose file.
COMPOSE_FILE=${DOCKER_DIR}/compose.yaml
# Whether to change the name of the network that all containers run on or to connect to an external network.
# Reference: https://docs.docker.com/compose/how-tos/networking/#use-a-pre-existing-network
DOCKER_NETWORK=aio_network
DOCKER_NETWORK_EXTERNAL=false