diff --git a/bookstack/docker-compose.yml b/bookstack/docker-compose.yml
index 3019aee..7a335de 100644
--- a/bookstack/docker-compose.yml
+++ b/bookstack/docker-compose.yml
@@ -17,9 +17,9 @@ volumes:
bookstack-storage:
networks:
- traefik_web:
+ admin_web:
external:
- name: ${NETWORK_NAME}
+ name: admin_web
services:
@@ -29,11 +29,11 @@ services:
volumes:
- bookstack-db:/var/lib/mysql
networks:
- - ${NETWORK_NAME}
+ - admin_web
environment:
- MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
+ MYSQL_ROOT_PASSWORD: ${BOOKSTACK_MYSQL_ROOT_PASSWORD}
MYSQL_USER: bookstack
- MYSQL_PASSWORD: ${MYSQL_PASSWORD}
+ MYSQL_PASSWORD: ${BOOKSTACK_MYSQL_PASSWORD}
MYSQL_DATABASE: bookstack
# https://hub.docker.com/r/solidnerd/bookstack
@@ -45,16 +45,16 @@ services:
- DB_HOST=${PREFIX}_bookstack-db_1:3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- - DB_PASSWORD=${MYSQL_PASSWORD}
- - APP_URL=https://${DOMAIN_NAME}
+ - DB_PASSWORD=${BOOKSTACK_MYSQL_PASSWORD}
+ - APP_URL=https://${BOOKSTACK_DOMAIN_NAME}
networks:
- - ${NETWORK_NAME}
+ - admin_web
volumes:
- bookstack-uploads:/var/www/bookstack/public/uploads
- bookstack-storage:/var/www/bookstack/storage/uploads
labels:
- "traefik.enable=true"
- - "traefik.http.routers.${PREFIX}_bookstack.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.${PREFIX}_bookstack.rule=Host(`${BOOKSTACK_DOMAIN_NAME}`)"
- "traefik.http.routers.${PREFIX}_bookstack.entrypoints=websecure"
- "traefik.http.routers.${PREFIX}_bookstack.tls=true"
- "traefik.http.services.${PREFIX}_bookstack.loadbalancer.server.port=8080"
diff --git a/bookstack/env-sample b/bookstack/env-sample
index 5fbdff2..90136a0 100644
--- a/bookstack/env-sample
+++ b/bookstack/env-sample
@@ -1,14 +1,11 @@
# Domains & Project
PREFIX=p1
-DOMAIN_NAME=bookstack.nickyeoman.com
+BOOKSTACK_DOMAIN_NAME=bookstack.nickyeoman.com
# Passwords
-MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass!
-MYSQL_PASSWORD=Again2ASecurepass!
+BOOKSTACK_MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass!
+BOOKSTACK_MYSQL_PASSWORD=Again2ASecurepass!
# Software versions
DB_V=10.4.11
BOOKSTACK_V=0.29.0
-
-# Network
-NETWORK_NAME=traefik_web
diff --git a/emby/docker-compose.yml b/emby/docker-compose.yml
new file mode 100644
index 0000000..4176e16
--- /dev/null
+++ b/emby/docker-compose.yml
@@ -0,0 +1 @@
+# https://hub.docker.com/r/emby/embyserver
diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml
index 67c9752..477c6f2 100644
--- a/gitea/docker-compose.yml
+++ b/gitea/docker-compose.yml
@@ -13,22 +13,40 @@ version: '3.3'
volumes:
gitea:
+ gitea-db:
networks:
- traefik_web:
+ admin_web:
external:
- name: ${NETWORK_NAME}
+ name: admin_web
services:
+ gitea-db:
+ image: mariadb:${DB_V}
+ restart: always
+ volumes:
+ - gitea-db:/var/lib/mysql
+ networks:
+ - admin_web
+ environment:
+ MYSQL_ROOT_PASSWORD: ${GITEA_MYSQL_ROOT_PASSWORD}
+ MYSQL_USER: gitea
+ MYSQL_PASSWORD: ${GITEA_MYSQL_PASSWORD}
+ MYSQL_DATABASE: gitea
+
gitea:
# https://hub.docker.com/r/gitea/gitea
image: gitea/gitea:${GITEA_V}
networks:
- - ${NETWORK_NAME}
+ - admin_web
environment:
- USER_UID=1000
- USER_GID=1000
+ - DB_TYPE=mysql
+ - DB_HOST=${PREFIX}_gitea-db:3306
+ - DB_NAME=gitea
+ - DB_USER=gitea
restart: always
volumes:
- gitea:/data
@@ -38,7 +56,7 @@ services:
- "${GITEA_PORT}:22"
labels:
- "traefik.enable=true"
- - "traefik.http.routers.${PREFIX}_gitea.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.${PREFIX}_gitea.rule=Host(`${GITEA_DOMAIN_NAME}`)"
- "traefik.http.routers.${PREFIX}_gitea.entrypoints=websecure"
- "traefik.http.routers.${PREFIX}_gitea.tls=true"
- "traefik.http.services.${PREFIX}_gitea.loadbalancer.server.port=3000"
diff --git a/gitea/env-sample b/gitea/env-sample
index 3affd57..bb4ea46 100644
--- a/gitea/env-sample
+++ b/gitea/env-sample
@@ -1,10 +1,11 @@
# Domains & Project
PREFIX=p1
-DOMAIN_NAME=gitea.nickyeoman.com
+GITEA_DOMAIN_NAME=gitea.nickyeoman.com
# Software versions
GITEA_V=1.11.4
GITEA_PORT=22
-# Network
-NETWORK_NAME=traefik_web
+#passwords
+GITEA_MYSQL_ROOT_PASSWORD=changeMe
+GITEA_MYSQL_PASSWORD=changemeAlso
diff --git a/heimdall/docker-compose.yml b/heimdall/docker-compose.yml
new file mode 100644
index 0000000..17cc093
--- /dev/null
+++ b/heimdall/docker-compose.yml
@@ -0,0 +1,17 @@
+# https://hub.docker.com/r/linuxserver/heimdall
+---
+version: "2.1"
+services:
+ heimdall:
+ image: linuxserver/heimdall
+ container_name: heimdall
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=Europe/London
+ volumes:
+ - /path/to/appdata/config:/config
+ ports:
+ - 80:80
+ - 443:443
+ restart: unless-stopped
diff --git a/joomla/env-sample b/joomla/env-sample
deleted file mode 100644
index 3e4d37c..0000000
--- a/joomla/env-sample
+++ /dev/null
@@ -1,14 +0,0 @@
-# Domains & Project
-PREFIX=p1
-DOMAIN_NAME=joomla.nickyeoman.com
-
-# PASSWORDS
-MYSQL_PASSWORD=MyNotSecurePassword1234
-MYSQL_ROOT_PASSWORD=AlsoNotSecure
-
-# Software versions
-JOOMLA_V=3.9.16-apache
-JOOMLADB_V=10.4.11
-
-# Network
-NETWORK_NAME=traefik_web
diff --git a/lamp/config/000-default.conf b/lamp/config/000-default.conf
new file mode 100644
index 0000000..8f236af
--- /dev/null
+++ b/lamp/config/000-default.conf
@@ -0,0 +1,21 @@
+
+ ServerName docker
+ ServerAdmin c@nickyeoman.com
+ DocumentRoot /var/www/html
+ #ErrorLog /var/log/apache2/error.log
+ #CustomLog /var/log/apache2/access.log combined
+ # You need to use x-forward
+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
+ LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
+ SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
+ CustomLog "/var/log/apache2/access.log" combined env=!forwarded
+ CustomLog "/var/log/apache2/access.log" proxy env=forwarded
+
+
+
+ Options +Indexes +FollowSymLinks -MultiViews
+ AllowOverride All
+ Require all granted
+
+
+
diff --git a/lamp/config/php.ini b/lamp/config/php.ini
new file mode 100644
index 0000000..c4cc6c2
--- /dev/null
+++ b/lamp/config/php.ini
@@ -0,0 +1,185 @@
+[PHP]
+; Nick Yeoman made this for bionic
+
+;;;;;;;;;;;;;;;;;;;;
+; Language Options ;
+;;;;;;;;;;;;;;;;;;;;
+
+engine = On
+short_open_tag = Off
+precision = 14
+output_buffering = Off
+zlib.output_compression = Off
+implicit_flush = Off
+unserialize_callback_func =
+serialize_precision = 17
+disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
+disable_classes =
+zend.enable_gc = On
+
+;;;;;;;;;;;;;;;;;
+; Miscellaneous ;
+;;;;;;;;;;;;;;;;;
+
+expose_php = Off
+
+;;;;;;;;;;;;;;;;;;;
+; Resource Limits ;
+;;;;;;;;;;;;;;;;;;;
+
+max_execution_time = 30
+max_input_time = 60
+memory_limit = 512M
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error handling and logging ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
+display_errors = Off
+display_startup_errors = Off
+log_errors = On
+log_errors_max_len = 1024
+ignore_repeated_errors = Off
+ignore_repeated_source = Off
+report_memleaks = On
+track_errors = Off
+html_errors = On
+
+;;;;;;;;;;;;;;;;;
+; Data Handling ;
+;;;;;;;;;;;;;;;;;
+
+variables_order = "GPCS"
+request_order = "GP"
+register_argc_argv = Off
+auto_globals_jit = On
+post_max_size = 99M
+auto_prepend_file =
+auto_append_file =
+default_mimetype = "text/html"
+default_charset = "UTF-8"
+
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Paths and Directories ;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+
+doc_root =
+user_dir =
+enable_dl = Off
+
+;;;;;;;;;;;;;;;;
+; File Uploads ;
+;;;;;;;;;;;;;;;;
+
+file_uploads = On
+upload_max_filesize = 99M
+max_file_uploads = 20
+
+;;;;;;;;;;;;;;;;;;
+; Fopen wrappers ;
+;;;;;;;;;;;;;;;;;;
+
+allow_url_fopen = On
+allow_url_include = Off
+default_socket_timeout = 60
+
+;;;;;;;;;;;;;;;;;;;
+; Module Settings ;
+;;;;;;;;;;;;;;;;;;;
+
+[CLI Server]
+cli_server.color = On
+
+[Pdo_mysql]
+pdo_mysql.cache_size = 2000
+pdo_mysql.default_socket=
+
+[mail function]
+SMTP = localhost
+smtp_port = 25
+mail.add_x_header = On
+
+[SQL]
+sql.safe_mode = Off
+
+[ODBC]
+odbc.allow_persistent = On
+odbc.check_persistent = On
+odbc.max_persistent = -1
+odbc.max_links = -1
+odbc.defaultlrl = 4096
+odbc.defaultbinmode = 1
+
+[Interbase]
+ibase.allow_persistent = 1
+ibase.max_persistent = -1
+ibase.max_links = -1
+ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
+ibase.dateformat = "%Y-%m-%d"
+ibase.timeformat = "%H:%M:%S"
+
+[MySQLi]
+mysqli.max_persistent = -1
+mysqli.allow_persistent = On
+mysqli.max_links = -1
+mysqli.cache_size = 2000
+mysqli.default_port = 3306
+mysqli.default_socket =
+mysqli.default_host =
+mysqli.default_user =
+mysqli.default_pw =
+mysqli.reconnect = Off
+
+[mysqlnd]
+mysqlnd.collect_statistics = On
+mysqlnd.collect_memory_statistics = Off
+
+[PostgreSQL]
+pgsql.allow_persistent = On
+pgsql.auto_reset_persistent = Off
+pgsql.max_persistent = -1
+pgsql.max_links = -1
+pgsql.ignore_notice = 0
+pgsql.log_notice = 0
+
+[bcmath]
+bcmath.scale = 0
+
+[Session]
+session.save_handler = files
+session.use_strict_mode = 0
+session.use_cookies = 1
+session.use_only_cookies = 1
+session.name = PHPSESSID
+session.auto_start = 0
+session.cookie_lifetime = 0
+session.cookie_path = /
+session.cookie_domain =
+session.cookie_httponly =
+session.serialize_handler = php
+session.gc_probability = 0
+session.gc_divisor = 1000
+session.gc_maxlifetime = 1440
+session.referer_check =
+session.cache_limiter = nocache
+session.cache_expire = 180
+session.use_trans_sid = 0
+session.hash_function = 0
+session.hash_bits_per_character = 5
+url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
+
+[Assertion]
+zend.assertions = -1
+
+[Tidy]
+tidy.clean_output = Off
+
+[soap]
+soap.wsdl_cache_enabled=1
+soap.wsdl_cache_dir="/tmp"
+soap.wsdl_cache_ttl=86400
+soap.wsdl_cache_limit = 5
+
+[ldap]
+ldap.max_links = -1
diff --git a/joomla/docker-compose.yml b/lamp/docker-compose.yml
similarity index 54%
rename from joomla/docker-compose.yml
rename to lamp/docker-compose.yml
index 6354442..e1acbd6 100644
--- a/joomla/docker-compose.yml
+++ b/lamp/docker-compose.yml
@@ -1,8 +1,6 @@
################################################################################
# Joomla
# Update the .env file
-# make sure you use the $PREFIX from .env for project_name
-# docker-compose -p project_name up -d
#
# Version 1
################################################################################
@@ -13,37 +11,43 @@ volumes:
joomla:
networks:
- traefik_web:
+ admin_web:
external:
- name: ${NETWORK_NAME}
+ name: admin_web
services:
mariadb:
- image: mariadb:${JOOMLADB_V}
+ image: mariadb:${LAMPDB_V}
restart: always
volumes:
- mariadb:/var/lib/mysql
networks:
- - ${NETWORK_NAME}
+ - admin_web
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: joomla
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: joomla
- joomla:
- image: joomla:${JOOMLA_V}
+ memcached:
+ image: memcached:${MEM_V}
+ restart: always
+ networks:
+ - admin_web
+
+ lamp:
+ image: nick/lamp
restart: always
links:
- - ${PREFIX}_mariadb_1
+ - mariadb
networks:
- - ${NETWORK_NAME}
+ - admin_web
volumes:
- joomla:/var/www/html
labels:
- "traefik.enable=true"
- - "traefik.http.routers.${PREFIX}_joomla.rule=Host(`${DOMAIN_NAME}`)"
- - "traefik.http.routers.${PREFIX}_joomla.entrypoints=websecure"
- - "traefik.http.routers.${PREFIX}_joomla.tls=true"
- - "traefik.http.services.${PREFIX}_joomla.loadbalancer.server.port=80"
+ - "traefik.http.routers.${PREFIX}_lamp.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.${PREFIX}_lamp.entrypoints=websecure"
+ - "traefik.http.routers.${PREFIX}_lamp.tls=true"
+ - "traefik.http.services.${PREFIX}_lamp.loadbalancer.server.port=80"
diff --git a/lamp/dockerfile b/lamp/dockerfile
new file mode 100644
index 0000000..e8ddf39
--- /dev/null
+++ b/lamp/dockerfile
@@ -0,0 +1,47 @@
+# BUILD ME:
+# docker build -t nick/lamp .
+
+# Dockerfile for ubuntu
+FROM ubuntu:bionic
+MAINTAINER Nick Yeoman (c@nickyeoman.com)
+
+ENV DEBIAN_FRONTEND noninteractive
+
+# install apache
+RUN apt-get update
+RUN apt-get install -y --no-install-recommends apache2
+
+RUN a2enmod socache_shmcb ssl expires rewrite headers
+
+#Install php
+# each individually makes debuging easier
+
+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q php
+RUN apt-get install -y php-imagick
+RUN apt-get install -y php-gd php-curl
+RUN apt-get install -y php-intl
+RUN apt-get install -y php-json
+RUN apt-get install -y php-memcache
+RUN apt-get install -y php-mbstring
+RUN apt-get install -y libapache2-mod-php7.2
+RUN apt-get install -y php7.2-xml
+RUN apt-get install -y php7.2-zip
+RUN apt-get install -y php7.2-mbstring
+RUN apt-get install -y php7.2-mysql
+
+COPY config/php.ini /etc/php/7.2/apache2/php.ini
+
+#Configure apache
+RUN servername="ServerName docker.fbot.co"
+RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
+RUN rm /etc/apache2/sites-available/000-default.conf
+COPY config/000-default.conf /etc/apache2/sites-available/000-default.conf
+
+# Cleanup: remove lists
+RUN rm -r /var/lib/apt/lists/*
+
+# Default command
+CMD ["apachectl", "-D", "FOREGROUND"]
+
+# Ports
+EXPOSE 80
diff --git a/lamp/env-sample b/lamp/env-sample
new file mode 100644
index 0000000..e0b0469
--- /dev/null
+++ b/lamp/env-sample
@@ -0,0 +1,15 @@
+# docker-compose -p up -d
+
+# Domains & Project
+PREFIX=p1
+DOMAIN_NAME=p1.nickyeoman.com
+
+# PASSWORDS
+MYSQL_PASSWORD=8YDmMw4ePRvBc2Z2
+MYSQL_ROOT_PASSWORD=5XLvbJ76r3yKREw8
+
+# Software versions
+# https://hub.docker.com/_/mariadb
+LAMPDB_V=10.4.12
+# https://hub.docker.com/_/memcached/
+MEM_V=1.6.5
diff --git a/lap/config/000-default.conf b/lap/config/000-default.conf
new file mode 100644
index 0000000..8f236af
--- /dev/null
+++ b/lap/config/000-default.conf
@@ -0,0 +1,21 @@
+
+ ServerName docker
+ ServerAdmin c@nickyeoman.com
+ DocumentRoot /var/www/html
+ #ErrorLog /var/log/apache2/error.log
+ #CustomLog /var/log/apache2/access.log combined
+ # You need to use x-forward
+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
+ LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
+ SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
+ CustomLog "/var/log/apache2/access.log" combined env=!forwarded
+ CustomLog "/var/log/apache2/access.log" proxy env=forwarded
+
+
+
+ Options +Indexes +FollowSymLinks -MultiViews
+ AllowOverride All
+ Require all granted
+
+
+
diff --git a/lap/config/php.ini b/lap/config/php.ini
new file mode 100644
index 0000000..c4cc6c2
--- /dev/null
+++ b/lap/config/php.ini
@@ -0,0 +1,185 @@
+[PHP]
+; Nick Yeoman made this for bionic
+
+;;;;;;;;;;;;;;;;;;;;
+; Language Options ;
+;;;;;;;;;;;;;;;;;;;;
+
+engine = On
+short_open_tag = Off
+precision = 14
+output_buffering = Off
+zlib.output_compression = Off
+implicit_flush = Off
+unserialize_callback_func =
+serialize_precision = 17
+disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
+disable_classes =
+zend.enable_gc = On
+
+;;;;;;;;;;;;;;;;;
+; Miscellaneous ;
+;;;;;;;;;;;;;;;;;
+
+expose_php = Off
+
+;;;;;;;;;;;;;;;;;;;
+; Resource Limits ;
+;;;;;;;;;;;;;;;;;;;
+
+max_execution_time = 30
+max_input_time = 60
+memory_limit = 512M
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error handling and logging ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
+display_errors = Off
+display_startup_errors = Off
+log_errors = On
+log_errors_max_len = 1024
+ignore_repeated_errors = Off
+ignore_repeated_source = Off
+report_memleaks = On
+track_errors = Off
+html_errors = On
+
+;;;;;;;;;;;;;;;;;
+; Data Handling ;
+;;;;;;;;;;;;;;;;;
+
+variables_order = "GPCS"
+request_order = "GP"
+register_argc_argv = Off
+auto_globals_jit = On
+post_max_size = 99M
+auto_prepend_file =
+auto_append_file =
+default_mimetype = "text/html"
+default_charset = "UTF-8"
+
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Paths and Directories ;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+
+doc_root =
+user_dir =
+enable_dl = Off
+
+;;;;;;;;;;;;;;;;
+; File Uploads ;
+;;;;;;;;;;;;;;;;
+
+file_uploads = On
+upload_max_filesize = 99M
+max_file_uploads = 20
+
+;;;;;;;;;;;;;;;;;;
+; Fopen wrappers ;
+;;;;;;;;;;;;;;;;;;
+
+allow_url_fopen = On
+allow_url_include = Off
+default_socket_timeout = 60
+
+;;;;;;;;;;;;;;;;;;;
+; Module Settings ;
+;;;;;;;;;;;;;;;;;;;
+
+[CLI Server]
+cli_server.color = On
+
+[Pdo_mysql]
+pdo_mysql.cache_size = 2000
+pdo_mysql.default_socket=
+
+[mail function]
+SMTP = localhost
+smtp_port = 25
+mail.add_x_header = On
+
+[SQL]
+sql.safe_mode = Off
+
+[ODBC]
+odbc.allow_persistent = On
+odbc.check_persistent = On
+odbc.max_persistent = -1
+odbc.max_links = -1
+odbc.defaultlrl = 4096
+odbc.defaultbinmode = 1
+
+[Interbase]
+ibase.allow_persistent = 1
+ibase.max_persistent = -1
+ibase.max_links = -1
+ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
+ibase.dateformat = "%Y-%m-%d"
+ibase.timeformat = "%H:%M:%S"
+
+[MySQLi]
+mysqli.max_persistent = -1
+mysqli.allow_persistent = On
+mysqli.max_links = -1
+mysqli.cache_size = 2000
+mysqli.default_port = 3306
+mysqli.default_socket =
+mysqli.default_host =
+mysqli.default_user =
+mysqli.default_pw =
+mysqli.reconnect = Off
+
+[mysqlnd]
+mysqlnd.collect_statistics = On
+mysqlnd.collect_memory_statistics = Off
+
+[PostgreSQL]
+pgsql.allow_persistent = On
+pgsql.auto_reset_persistent = Off
+pgsql.max_persistent = -1
+pgsql.max_links = -1
+pgsql.ignore_notice = 0
+pgsql.log_notice = 0
+
+[bcmath]
+bcmath.scale = 0
+
+[Session]
+session.save_handler = files
+session.use_strict_mode = 0
+session.use_cookies = 1
+session.use_only_cookies = 1
+session.name = PHPSESSID
+session.auto_start = 0
+session.cookie_lifetime = 0
+session.cookie_path = /
+session.cookie_domain =
+session.cookie_httponly =
+session.serialize_handler = php
+session.gc_probability = 0
+session.gc_divisor = 1000
+session.gc_maxlifetime = 1440
+session.referer_check =
+session.cache_limiter = nocache
+session.cache_expire = 180
+session.use_trans_sid = 0
+session.hash_function = 0
+session.hash_bits_per_character = 5
+url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
+
+[Assertion]
+zend.assertions = -1
+
+[Tidy]
+tidy.clean_output = Off
+
+[soap]
+soap.wsdl_cache_enabled=1
+soap.wsdl_cache_dir="/tmp"
+soap.wsdl_cache_ttl=86400
+soap.wsdl_cache_limit = 5
+
+[ldap]
+ldap.max_links = -1
diff --git a/lap/docker-compose.yml b/lap/docker-compose.yml
new file mode 100644
index 0000000..30a35e4
--- /dev/null
+++ b/lap/docker-compose.yml
@@ -0,0 +1,31 @@
+################################################################################
+# Joomla
+# Update the .env file
+#
+# Version 1
+################################################################################
+version: '3.3'
+
+volumes:
+ lap:
+
+networks:
+ admin_web:
+ external:
+ name: admin_web
+
+services:
+
+ lap:
+ image: nick/lamp
+ restart: always
+ networks:
+ - admin_web
+ volumes:
+ - lap:/var/www/html
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.routers.${PREFIX}_lap.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.${PREFIX}_lap.entrypoints=websecure"
+ - "traefik.http.routers.${PREFIX}_lap.tls=true"
+ - "traefik.http.services.${PREFIX}_lap.loadbalancer.server.port=80"
diff --git a/lap/dockerfile b/lap/dockerfile
new file mode 100644
index 0000000..e8ddf39
--- /dev/null
+++ b/lap/dockerfile
@@ -0,0 +1,47 @@
+# BUILD ME:
+# docker build -t nick/lamp .
+
+# Dockerfile for ubuntu
+FROM ubuntu:bionic
+MAINTAINER Nick Yeoman (c@nickyeoman.com)
+
+ENV DEBIAN_FRONTEND noninteractive
+
+# install apache
+RUN apt-get update
+RUN apt-get install -y --no-install-recommends apache2
+
+RUN a2enmod socache_shmcb ssl expires rewrite headers
+
+#Install php
+# each individually makes debuging easier
+
+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q php
+RUN apt-get install -y php-imagick
+RUN apt-get install -y php-gd php-curl
+RUN apt-get install -y php-intl
+RUN apt-get install -y php-json
+RUN apt-get install -y php-memcache
+RUN apt-get install -y php-mbstring
+RUN apt-get install -y libapache2-mod-php7.2
+RUN apt-get install -y php7.2-xml
+RUN apt-get install -y php7.2-zip
+RUN apt-get install -y php7.2-mbstring
+RUN apt-get install -y php7.2-mysql
+
+COPY config/php.ini /etc/php/7.2/apache2/php.ini
+
+#Configure apache
+RUN servername="ServerName docker.fbot.co"
+RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
+RUN rm /etc/apache2/sites-available/000-default.conf
+COPY config/000-default.conf /etc/apache2/sites-available/000-default.conf
+
+# Cleanup: remove lists
+RUN rm -r /var/lib/apt/lists/*
+
+# Default command
+CMD ["apachectl", "-D", "FOREGROUND"]
+
+# Ports
+EXPOSE 80
diff --git a/lap/env-sample b/lap/env-sample
new file mode 100644
index 0000000..2058e91
--- /dev/null
+++ b/lap/env-sample
@@ -0,0 +1,5 @@
+# docker-compose -p up -d
+
+# Domains & Project
+PREFIX=p1
+DOMAIN_NAME=p1.nickyeoman.com
diff --git a/mailtrain/docker-compose.yml b/mailtrain/docker-compose.yml
new file mode 100644
index 0000000..e07c20e
--- /dev/null
+++ b/mailtrain/docker-compose.yml
@@ -0,0 +1,8 @@
+version: '3'
+services:
+ # https://hub.docker.com/r/mailtrain/mailtrain
+ mailtrain:
+ environment:
+ - URL_BASE_TRUSTED
+ - URL_BASE_SANDBOX
+ - URL_BASE_PUBLIC
diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml
index 96d55c1..961d423 100644
--- a/nextcloud/docker-compose.yml
+++ b/nextcloud/docker-compose.yml
@@ -1,54 +1,48 @@
################################################################################
# Nextcloud
-# make sure you use the $PREFIX from .env for project_name
-# docker-compose -p project_name up -d
#
# Version 1
################################################################################
version: '3.3'
volumes:
- mariadb:
+ nextcloud-db:
nextcloud:
- document_data:
- document_log:
networks:
- traefik_web:
+ admin_web:
external:
- name: ${NETWORK_NAME}
+ name: admin_web
services:
- mariadb:
+ nextcloud-db:
image: mariadb:${DB_V}
restart: always
volumes:
- - mariadb:/var/lib/mysql
+ - nextcloud-db:/var/lib/mysql
networks:
- - ${NETWORK_NAME}
+ - admin_web
environment:
- MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
+ MYSQL_ROOT_PASSWORD: ${NEXTCLOUD_MYSQL_ROOT_PASSWORD}
MYSQL_USER: nextcloud
- MYSQL_PASSWORD: ${MYSQL_PASSWORD}
- MYSQL_DATABASE: nextcloud
+ MYSQL_PASSWORD: ${NEXTCLOUD_MYSQL_PASSWORD}
+ MYSQL_DATABASE: db_nextcloud
nextcloud:
image: nextcloud:${NEXTCLOUD_V}
stdin_open: true
tty: true
networks:
- - ${NETWORK_NAME}
+ - admin_web
restart: always
- depends_on:
- - ${PREFIX}_mariadb_1
links:
- - ${PREFIX}_mariadb_1
+ - nextcloud-db
volumes:
- nextcloud:/var/www/html
labels:
- "traefik.enable=true"
- - "traefik.http.routers.${PREFIX}_nextcloud.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.${PREFIX}_nextcloud.rule=Host(`${NEXTCLOUD_DOMAIN_NAME}`)"
- "traefik.http.routers.${PREFIX}_nextcloud.entrypoints=websecure"
- "traefik.http.routers.${PREFIX}_nextcloud.tls=true"
- "traefik.http.services.${PREFIX}_nextcloud.loadbalancer.server.port=80"
diff --git a/nextcloud/env-sample b/nextcloud/env-sample
index a9fffad..45045a6 100644
--- a/nextcloud/env-sample
+++ b/nextcloud/env-sample
@@ -1,15 +1,11 @@
# Domains & Project
PREFIX=p1
-DOMAIN_NAME=nextcloud.nickyeoman.com
-PHPDB_DOMAIN_NAME=bookstack-db.nickyeoman.com
+NEXTCLOUD_DOMAIN_NAME=nextcloud.nickyeoman.com
# Passwords
-MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass!
-MYSQL_PASSWORD=Again2ASecurepass!
+NEXTCLOUD_MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass!
+NEXTCLOUD_MYSQL_PASSWORD=Again2ASecurepass!
# Software versions
DB_V=10.4.11
NEXTCLOUD_V=18.0.3-apache
-
-# Network
-NETWORK_NAME=traefik_web
diff --git a/odoo/docker-compose.yml b/odoo/docker-compose.yml
new file mode 100644
index 0000000..2e8c6d2
--- /dev/null
+++ b/odoo/docker-compose.yml
@@ -0,0 +1,19 @@
+#https://hub.docker.com/_/odoo
+version: '2'
+services:
+ web:
+ image: odoo:12.0
+ depends_on:
+ - mydb
+ ports:
+ - "8069:8069"
+ environment:
+ - HOST=mydb
+ - USER=odoo
+ - PASSWORD=myodoo
+ mydb:
+ image: postgres:10
+ environment:
+ - POSTGRES_DB=postgres
+ - POSTGRES_PASSWORD=myodoo
+ - POSTGRES_USER=odoo
diff --git a/phpmyadmin/docker-compose.yml b/phpmyadmin/docker-compose.yml
index 7cbbf1d..59a4046 100644
--- a/phpmyadmin/docker-compose.yml
+++ b/phpmyadmin/docker-compose.yml
@@ -8,9 +8,9 @@
version: '2'
networks:
- traefik_web:
+ admin_web:
external:
- name: ${NETWORK_NAME}
+ name: admin_web
services:
@@ -20,12 +20,13 @@ services:
image: phpmyadmin/phpmyadmin:${PHPMYADMIN_V}
environment:
- PMA_ARBITRARY=1
+ - UPLOAD_LIMIT=200M
restart: unless-stopped
networks:
- - ${NETWORK_NAME}
+ - admin_web
labels:
- "traefik.enable=true"
- - "traefik.http.routers.${PREFIX}_phpmyadmin.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.${PREFIX}_phpmyadmin.rule=Host(`${PHPMYADMIN_DOMAIN_NAME}`)"
- "traefik.http.routers.${PREFIX}_phpmyadmin.entrypoints=websecure"
- "traefik.http.routers.${PREFIX}_phpmyadmin.tls=true"
- "traefik.http.services.${PREFIX}_phpmyadmin.loadbalancer.server.port=80"
diff --git a/phpmyadmin/env-sample b/phpmyadmin/env-sample
index 3c84bce..6f09565 100644
--- a/phpmyadmin/env-sample
+++ b/phpmyadmin/env-sample
@@ -1,9 +1,6 @@
# Domains & Project
PREFIX=p1
-DOMAIN_NAME=phpmyadmin.nickyeoman.com
+PHPMYADMIN_DOMAIN_NAME=phpmyadmin.nickyeoman.com
# Software versions
PHPMYADMIN_V=5.0
-
-# Network
-NETWORK_NAME=traefik_web
diff --git a/portainer/docker-compose.yml b/portainer/docker-compose.yml
index 663dda5..6daea0e 100644
--- a/portainer/docker-compose.yml
+++ b/portainer/docker-compose.yml
@@ -13,28 +13,25 @@ volumes:
portainer:
networks:
- traefik_web:
+ admin_web:
external:
- name: ${NETWORK_NAME}
+ name: admin_web
services:
portainer:
- # https://hub.docker.com/r/portainer/portainer
image: portainer/portainer:${PORTAINER_V}
- container_name: portainer
- hostname: portainer
command: -H unix:///var/run/docker.sock
restart: unless-stopped
networks:
- - ${NETWORK_NAME}
+ - admin_web
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer:/data
command: -H unix:///var/run/docker.sock
labels:
- "traefik.enable=true"
- - "traefik.http.routers.portainer.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.portainer.rule=Host(`${PORTAINER_DOMAIN_NAME}`)"
- "traefik.http.routers.portainer.entrypoints=websecure"
- "traefik.http.routers.portainer.tls=true"
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
diff --git a/portainer/env-sample b/portainer/env-sample
index 49a8ea9..25d95da 100644
--- a/portainer/env-sample
+++ b/portainer/env-sample
@@ -1,8 +1,7 @@
# Domains & Project
-DOMAIN_NAME=passbolt.nickyeoman.com
+PORTAINER_DOMAIN_NAME=portainer.nickyeoman.com
# Software versions
-PORTAINER_V=1.23.2
-# Network
-NETWORK_NAME=traefik_web
+# https://hub.docker.com/r/portainer/portainer
+PORTAINER_V=1.23.2
diff --git a/portus/docker-compose.yml b/portus/docker-compose.yml
new file mode 100644
index 0000000..b92235f
--- /dev/null
+++ b/portus/docker-compose.yml
@@ -0,0 +1 @@
+# https://hub.docker.com/r/opensuse/portus/
diff --git a/silverpeas/docker-compose.yml b/silverpeas/docker-compose.yml
new file mode 100644
index 0000000..6f87630
--- /dev/null
+++ b/silverpeas/docker-compose.yml
@@ -0,0 +1 @@
+# https://hub.docker.com/_/silverpeas
diff --git a/stashapp/compose.bash b/stashapp/compose.bash
new file mode 100644
index 0000000..f1de6ab
--- /dev/null
+++ b/stashapp/compose.bash
@@ -0,0 +1,76 @@
+#!/bin/#!/usr/bin/env bash
+
+#Variables
+path="${PWD}/static/videos"
+path_content="${PWD}/content/blog"
+dt=`date +'%Y-%m-%d'`
+
+#setup
+mkdir ${path}/meta
+
+#get filename var
+for i in $(ls $path/*mp4);
+ do
+ # filename with no ext
+ filename="${i##*/}"
+ filename="${filename%.mp4}"
+
+ # Get the resolution
+ res=`ffmpeg -i $i 2>&1 | grep Stream | grep -oP ', \K[0-9]+x[0-9]+'`;
+ name=`echo $i | sed 's/\(.*\)\..*/\1/'`; #remove extension
+ echo "res: $res"
+
+ #Get the number of frames
+ #frames=`ffprobe -v error -select_streams v:0 -show_entries stream=nb_frames -of default=nokey=1:noprint_wrappers=1 $i`
+ #half frames
+ #z=$(($frames / 2))
+ #Create thumb
+ #ffmpeg -i $i -y -vf scale=300:-1,"select=gte(n\,${z})" -vframes 1 ${path}/thumbs/${filename}.png
+
+ #create a gif
+ ffmpeg -i $i -y -r 15 -vf scale=300:-1 -ss 00:00:03 -to 00:00:06 ${path}/thumbs/${filename}.gif
+
+ # get metadata
+ ffmpeg -i $i -y -f ffmetadata ${path}/meta/${filename}.txt
+
+ #title
+ title=`grep title ${path}/meta/${filename}.txt`
+ title=${title##*=}
+
+ #alias/slug
+ alias=${title// /_}
+ alias=${alias,,}
+
+ #artist
+ artist=`grep title ${path}/meta/${filename}.txt`
+
+ #tags
+ echo "tags:" > ${path}/meta/${filename}-tags.txt
+ tags=`grep genre ${path}/meta/${filename}.txt`
+ tags=${tags##*=}
+ for value in $tags
+ do
+ #Work here
+ echo " - $value" >> ${path}/meta/${filename}-tags.txt
+ done
+ tags=`cat ${path}/meta/${filename}-tags.txt`
+
+ # create or replace file
+ cat << EOF > ${path_content}/${filename}-${alias}.md
+---
+title: "${filename} - ${title}"
+cover: "${filename}"
+date: "${dt}"
+description: "Here is video${filename} which is ${res} and starting ${artist}"
+${tags}
+---
+
+Here is video${filename} which is ${res} and starting ${artist}.
+
+{{< vids "${filename}" >}}
+
+EOF
+
+done;
+
+rm -rf ${path}/meta
diff --git a/streama/Dockerfile b/streama/Dockerfile
new file mode 100644
index 0000000..b29d74d
--- /dev/null
+++ b/streama/Dockerfile
@@ -0,0 +1,15 @@
+FROM openjdk:8-jre-slim
+
+WORKDIR /app/streama
+
+RUN apt-get -y update && \
+ apt-get -y install curl && \
+ apt-get -y clean && \
+ apt-get -y autoremove && \
+ URL_DOWNLOAD_LATEST_RELEASE=$(curl -L https://api.github.com/repos/streamaserver/streama/releases | grep -i browser_download_url | head -n 1 | cut -d '"' -f 4) && \
+ curl -o streama.jar -L $URL_DOWNLOAD_LATEST_RELEASE && \
+ chmod u+x streama.jar
+
+EXPOSE 8080
+
+ENTRYPOINT [ "java", "-jar", "streama.jar" ]
diff --git a/streama/docker-compose.yml b/streama/docker-compose.yml
new file mode 100644
index 0000000..a6f5355
--- /dev/null
+++ b/streama/docker-compose.yml
@@ -0,0 +1,60 @@
+version: "3"
+
+services:
+ mysql:
+ image: mysql:5.7
+ restart: always
+ container_name: mysql
+ hostname: mysql
+ networks:
+ - traefik_web
+ expose:
+ - 3306
+ volumes:
+ - db_data:/var/lib/mysql
+ environment:
+ MYSQL_ROOT_PASSWORD: streama_root_password
+ MYSQL_USER: streama
+ MYSQL_DATABASE: streama
+ MYSQL_PASSWORD: streama_password
+
+ streama:
+ image: streama
+ build: .
+ restart: always
+ container_name: streama
+ hostname: streama
+ depends_on:
+ - mysql
+ networks:
+ - traefik_web
+ expose:
+ - 8080
+ volumes:
+ - movies:/data/streama # Change to your video folder
+ - app_data:/app/streama
+ environment:
+ ACTIVE_PROFILE: mysql
+ MYSQL_HOST: mysql
+ MYSQL_PORT: 3306
+ MYSQL_DB: streama
+ MYSQL_USER: streama
+ MYSQL_PASSWORD: streama_password
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.routers.nixflix.rule=Host(`nixflix.com`)"
+ - "traefik.http.routers.nixflix.entrypoints=websecure"
+ - "traefik.http.routers.nixflix.tls=true"
+ - "traefik.http.services.nixflix.loadbalancer.server.port=8080"
+
+networks:
+ traefik_web:
+ external:
+ name: traefik_web
+
+volumes:
+ db_data:
+ app_data:
+ proxy_reverse_data:
+ proxy_reverse_data_log:
+ movies:
diff --git a/streama/nginx/Dockerfile b/streama/nginx/Dockerfile
new file mode 100644
index 0000000..9e620af
--- /dev/null
+++ b/streama/nginx/Dockerfile
@@ -0,0 +1,3 @@
+FROM nginx:alpine
+
+COPY nginx.conf /etc/nginx/nginx.conf
diff --git a/streama/nginx/nginx.conf b/streama/nginx/nginx.conf
new file mode 100644
index 0000000..b1e0143
--- /dev/null
+++ b/streama/nginx/nginx.conf
@@ -0,0 +1,35 @@
+user nginx;
+worker_processes auto;
+
+error_log /var/log/nginx/error.log warn;
+pid /var/run/nginx.pid;
+
+events { worker_connections 512; }
+
+http {
+
+ sendfile on;
+
+ server {
+ listen 80;
+ listen [::]:80;
+
+ client_max_body_size 128g; # allows larger files (like videos) to be uploaded.
+
+ location / {
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_set_header X-Forwarded-Port $server_port;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+ #WebSocket Support
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection $http_connection;
+
+ proxy_pass http://streama:8080;
+ }
+ }
+
+}
diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml
index 18b2243..bee14dd 100644
--- a/traefik/docker-compose.yml
+++ b/traefik/docker-compose.yml
@@ -8,7 +8,7 @@
version: '3.3'
networks:
- ${NETWORK_NAME}:
+ web:
driver: bridge
services:
@@ -16,7 +16,6 @@ services:
traefik:
# https://hub.docker.com/_/traefik
image: "traefik:${TRAEFIK_V}"
- container_name: "traefik"
restart: unless-stopped
command:
- --entrypoints.web.address=:80
@@ -29,15 +28,15 @@ services:
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- - ${NETWORK_NAME}
+ - web
labels:
# Dashboard
- - "traefik.http.routers.traefik.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.traefik.rule=Host(`${TRAEFIK_DOMAIN_NAME}`)"
- "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.traefik.tls.certresolver=leresolver"
- "traefik.http.routers.traefik.entrypoints=websecure"
- "traefik.http.routers.traefik.middlewares=authtraefik"
- - "traefik.http.middlewares.authtraefik.basicauth.users=${TRAEFIK_USER}:${TRAEFIK_PASS}"
+ - "traefik.http.middlewares.authtraefik.basicauth.users=:"
# global redirect to https
- "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
- "traefik.http.routers.http-catchall.entrypoints=web"
diff --git a/traefik/env-sample b/traefik/env-sample
index dfdbbe4..243a49a 100644
--- a/traefik/env-sample
+++ b/traefik/env-sample
@@ -1,6 +1,6 @@
# Domains & Project
PREFIX=p1
-DOMAIN_NAME=traefik.nickyeoman.com
+TRAEFIK_DOMAIN_NAME=traefik.nickyeoman.com
# Passwords
# https://medium.com/@techupbusiness/add-basic-authentication-in-docker-compose-files-with-traefik-34c781234970
@@ -11,6 +11,3 @@ TRAEFIK_PASS=M@keASecureOne
# Software versions
# https://hub.docker.com/_/traefik
TRAEFIK_V=2.2.0
-
-# Network
-NETWORK_NAME=traefik_web
diff --git a/yourls/docker-compose.yml b/yourls/docker-compose.yml
index 69f8c43..8efb520 100644
--- a/yourls/docker-compose.yml
+++ b/yourls/docker-compose.yml
@@ -13,9 +13,9 @@ volumes:
yourls-db:
networks:
- traefik_web:
+ admin_web:
external:
- name: ${NETWORK_NAME}
+ name: admin_web
services:
@@ -24,13 +24,13 @@ services:
image: mariadb:${DB_V}
restart: always
volumes:
- - yourls-mariadb:/var/lib/mysql
+ - yourls-db:/var/lib/mysql
networks:
- - ${NETWORK_NAME}
+ - admin_web
environment:
- MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
- MYSQL_PASSWORD: ${MYSQL_PASSWORD}
- MYSQL_DATABASE: yourls
+ MYSQL_ROOT_PASSWORD: ${YOURLS_MYSQL_ROOT_PASSWORD}
+ MYSQL_PASSWORD: ${YOURLS_MYSQL_PASSWORD}
+ MYSQL_DATABASE: db_yourls
MYSQL_USER: yourls
yourls:
@@ -40,18 +40,18 @@ services:
volumes:
- yourls:/var/www/html
networks:
- - ${NETWORK_NAME}
+ - admin_web
environment:
YOURLS_DB_HOST: ${PREFIX}_yourls-db_1
YOURLS_DB_USER: yourls
- YOURLS_DB_PASS: ${MYSQL_PASSWORD}
- YOURLS_DB_NAME: yourls
- YOURLS_SITE: https://${DOMAIN_NAME}
+ YOURLS_DB_PASS: ${YOURLS_MYSQL_PASSWORD}
+ YOURLS_DB_NAME: db_yourls
+ YOURLS_SITE: https://${YOURLS_DOMAIN_NAME}
YOURLS_USER: ${YOURLS_USER}
YOURLS_PASS: ${YOURLS_PASS}
labels:
- "traefik.enable=true"
- - "traefik.http.routers.${PREFIX}_yourls.rule=Host(`${DOMAIN_NAME}`)"
+ - "traefik.http.routers.${PREFIX}_yourls.rule=Host(`${YOURLS_DOMAIN_NAME}`)"
- "traefik.http.routers.${PREFIX}_yourls.entrypoints=websecure"
- "traefik.http.routers.${PREFIX}_yourls.tls=true"
- "traefik.http.services.${PREFIX}_yourls.loadbalancer.server.port=80"
diff --git a/yourls/env-sample b/yourls/env-sample
index c561a29..20d3e67 100644
--- a/yourls/env-sample
+++ b/yourls/env-sample
@@ -1,15 +1,12 @@
# Domains & Project
PREFIX=p1
-DOMAIN_NAME=yourls.nickyeoman.com
+YOURLS_DOMAIN_NAME=yourls.nickyeoman.com
# Passwords
-MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass!
-MYSQL_PASSWORD=Again2ASecurepass!
+YOURLS_MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass!
+YOURLS_MYSQL_PASSWORD=Again2ASecurepass!
YOURLS_USER=username
YOURLS_PASS=Password4urls
# Software versions
DB_V=10.4.11
-
-# Network
-NETWORK_NAME=traefik_web