From 27e3c4e614ec2618294ddec5399d0580fbf09ef7 Mon Sep 17 00:00:00 2001 From: Nick Yeoman Date: Fri, 24 Apr 2020 10:43:33 -0700 Subject: [PATCH] made a lot of changes to accomodate running the same app for differnt projects. --- bookstack/docker-compose.yml | 18 +-- bookstack/env-sample | 9 +- emby/docker-compose.yml | 1 + gitea/docker-compose.yml | 26 +++- gitea/env-sample | 7 +- heimdall/docker-compose.yml | 17 +++ joomla/env-sample | 14 --- lamp/config/000-default.conf | 21 ++++ lamp/config/php.ini | 185 ++++++++++++++++++++++++++++ {joomla => lamp}/docker-compose.yml | 32 ++--- lamp/dockerfile | 47 +++++++ lamp/env-sample | 15 +++ lap/config/000-default.conf | 21 ++++ lap/config/php.ini | 185 ++++++++++++++++++++++++++++ lap/docker-compose.yml | 31 +++++ lap/dockerfile | 47 +++++++ lap/env-sample | 5 + mailtrain/docker-compose.yml | 8 ++ nextcloud/docker-compose.yml | 30 ++--- nextcloud/env-sample | 10 +- odoo/docker-compose.yml | 19 +++ phpmyadmin/docker-compose.yml | 9 +- phpmyadmin/env-sample | 5 +- portainer/docker-compose.yml | 11 +- portainer/env-sample | 7 +- portus/docker-compose.yml | 1 + silverpeas/docker-compose.yml | 1 + stashapp/compose.bash | 76 ++++++++++++ streama/Dockerfile | 15 +++ streama/docker-compose.yml | 60 +++++++++ streama/nginx/Dockerfile | 3 + streama/nginx/nginx.conf | 35 ++++++ traefik/docker-compose.yml | 9 +- traefik/env-sample | 5 +- yourls/docker-compose.yml | 24 ++-- yourls/env-sample | 9 +- 36 files changed, 897 insertions(+), 121 deletions(-) create mode 100644 emby/docker-compose.yml create mode 100644 heimdall/docker-compose.yml delete mode 100644 joomla/env-sample create mode 100644 lamp/config/000-default.conf create mode 100644 lamp/config/php.ini rename {joomla => lamp}/docker-compose.yml (54%) create mode 100644 lamp/dockerfile create mode 100644 lamp/env-sample create mode 100644 lap/config/000-default.conf create mode 100644 lap/config/php.ini create mode 100644 lap/docker-compose.yml create mode 100644 lap/dockerfile create mode 100644 lap/env-sample create mode 100644 mailtrain/docker-compose.yml create mode 100644 odoo/docker-compose.yml create mode 100644 portus/docker-compose.yml create mode 100644 silverpeas/docker-compose.yml create mode 100644 stashapp/compose.bash create mode 100644 streama/Dockerfile create mode 100644 streama/docker-compose.yml create mode 100644 streama/nginx/Dockerfile create mode 100644 streama/nginx/nginx.conf 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