Skip to content

Commit

Permalink
Clean network compose and NMC specific setup
Browse files Browse the repository at this point in the history
  • Loading branch information
tsdicloud committed Aug 19, 2023
1 parent 2923f85 commit 013c825
Show file tree
Hide file tree
Showing 8 changed files with 101 additions and 18 deletions.
1 change: 1 addition & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
jq \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
Expand Down
15 changes: 15 additions & 0 deletions .devcontainer/apps.config.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php
$CONFIG = array (
'apps_paths' => array (
0 => array (
'path' => OC::$SERVERROOT.'/customapps',
'url' => '/customapps',
'writable' => true,
),
1 => array (
'path' => OC::$SERVERROOT.'/apps',
'url' => '/apps',
'writable' => true,
),
),
);
2 changes: 1 addition & 1 deletion .devcontainer/codespace.config.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
'mail_smtpmode' => 'smtp',
'mail_sendmailmode' => 'smtp',
'mail_domain' => 'example.com',
'mail_smtphost' => 'localhost',
'mail_smtphost' => 'mailhog',
'mail_smtpport' => '1025',
'memcache.local' => '\OC\Memcache\APCu',
];
Expand Down
24 changes: 16 additions & 8 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,15 @@ services:
- .:/workspace:cached
- /var/run/docker.sock:/var/run/docker-host.sock
- ..:/var/www/html
- ../../customapps:/var/www/html/customapps
- ../../data:/var/www/html/data
- ../../config:/var/www/html/config
command: /var/www/html/.devcontainer/entrypoint.sh
ports:
- 80:80
- 8080:8080
- 8025:8025
depends_on:
- db
- mailhog

db:
image: postgres
Expand All @@ -19,18 +23,22 @@ services:
POSTGRES_PASSWORD: postgres
PGDATA: /data/postgres
volumes:
- db:/data/postgres
network_mode: service:nextclouddev
- ../../data/db:/data/postgres
expose:
- "5432"

adminer:
image: adminer
restart: always
network_mode: service:nextclouddev
ports:
- 8080:8080
depends_on:
- db

mailhog:
image: mailhog/mailhog
restart: always
network_mode: service:nextclouddev
ports:
- 8025:8025


volumes:
db:
12 changes: 12 additions & 0 deletions .devcontainer/nmc.config.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
'default_language' => 'de_DE',
'integrity.check.disabled' => true, // not recommended for prod, but for customisation
// 'config_is_read_only' => true,
'auth.authtoken.v1.disabled' => true,
'sharing.force_share_accept' => true,
'status-email-message-provider' => '\\OCA\\EmailTemplateExample\\MessageProvider',
'mail_template_class' => 'OCA\\EmailTemplateExample\\EMailTemplate',
// "logfile_office_report" => "/var/log/nextcloud/office.log",
);
37 changes: 37 additions & 0 deletions .devcontainer/nmcsetup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" >/dev/null 2>&1 && pwd )"

cd $DIR/

# after installation, do some MagentaCLOUD specific setups to start closer to production

# customapps directory split
cp .devcontainer/apps.config.php config/apps.config.php
cp .devcontainer/nmc.config.php config/nmc.config.php

# disable user themeing
sudo -u ${APACHE_RUN_USER} php occ theming:config disable-user-theming yes

# fixed themeing for MagentaCLOUD
cp .devcontainer/theme.config.php config/theme.config.php

# refresh .htaccess for short URL notation
sudo -u ${APACHE_RUN_USER} php occ maintenance:update:htaccess

# "Organisational" setting
sudo -u ${APACHE_RUN_USER} php occ theming:config color "#e20074" # don't use uppercase letters!
sudo -u ${APACHE_RUN_USER} php occ theming:config name MagentaCLOUD
sudo -u ${APACHE_RUN_USER} php occ theming:config slogan "Alle Dateien sicher an einem Ort"
sudo -u ${APACHE_RUN_USER} php occ theming:config imprintUrl "http://www.telekom.de/impressum"
sudo -u ${APACHE_RUN_USER} php occ theming:config privacyUrl "https://static.magentacloud.de/Datenschutz"

# app settings
sudo -u ${APACHE_RUN_USER} php occ config:app:set theming AndroidClientUrl --value \
"https://play.google.com/store/apps/details?=com.t_systems.android.webdav"
sudo -u ${APACHE_RUN_USER} php occ config:app:set theming iTunesAppId --value "312838242"
sudo -u ${APACHE_RUN_USER} php occ config:app:set theming iOSClientUrl --value \
"https://apps.apple.com/us/app/magentacloud-cloud-speicher/id312838242"

# enable/disable apps
sudo -u ${APACHE_RUN_USER} php occ app:enable nmctheme
sudo -u ${APACHE_RUN_USER} php occ app:disable dashboard # may remove as soon as dashboard CR is implemented
23 changes: 14 additions & 9 deletions .devcontainer/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,37 @@
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" >/dev/null 2>&1 && pwd )"

cd $DIR/

# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty

git submodule update --init

# Codespace config
cp .devcontainer/codespace.config.php config/codespace.config.php

# VSCode debugger profile
mkdir -p .vscode && cp .devcontainer/launch.json .vscode/launch.json

# Onetime installation setup
if [[ ! $(sudo -u ${APACHE_RUN_USER} php occ status) =~ installed:[[:space:]]*true ]]; then
echo "Running NC installation"

# we could be faced with an externalized, empty config dir
touch config/CAN_INSTALL

# this produces the plain config file without any overwriting
sudo -u ${APACHE_RUN_USER} php occ maintenance:install \
--verbose \
--database=pgsql \
--database-name=postgres \
--database-host=127.0.0.1 \
--database-host=db \
--database-port=5432 \
--database-user=postgres \
--database-pass=postgres \
--admin-user admin \
--admin-pass admin
fi

# Codespace config; do it late to avoid duplication into config.php
# (which removed the conditional code!)
# may consider setting 'config_is_read_only' => true,
cp .devcontainer/codespace.config.php config/codespace.config.php

# add MagentaCLOUD convenience setup
source .devcontainer/nmcsetup.sh

sudo service apache2 restart
5 changes: 5 additions & 0 deletions .devcontainer/theme.config.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php
$CONFIG = array (
'enforce_theme' => 'default', // or any other theme contained in the app
'theme' => '', // disable old themeing
);

0 comments on commit 013c825

Please sign in to comment.