generated from les-petits-commercants-de-la-toile/aixmazon-v1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setupWordPress.sh
executable file
·104 lines (94 loc) · 3.29 KB
/
setupWordPress.sh
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
#!/usr/bin/env bash
set -o allexport
source .env
set +o allexport
function install {
# Auto setup admin access
docker compose exec --user=www-data cms wp core install \
--url="$WORDPRESS_URL" \
--title="Aixmazon" \
--admin_user="$WORDPRESS_ADMIN_USERNAME" \
--admin_email="$WORDPRESS_ADMIN_EMAIL_ADDRESS" \
--admin_password="$WORDPRESS_ADMIN_PASSWORD" \
--skip-email &> /dev/null
}
echo -n "Installing: "
while ! install
do
echo -n "."
sleep 0.5
done
echo " Done ✅"
set -e
# Activate plugins
docker compose exec --user=www-data cms wp plugin activate woocommerce wordpress-importer woocommerce-gateway-stripe
# Enable Wordpress json API
docker compose exec --user=www-data cms wp rewrite structure '/%postname%/' --hard
# Woocommerce setup
docker compose exec --user=www-data cms wp option update woocommerce_store_address '413 Av. Gaston Berger'
docker compose exec --user=www-data cms wp option update woocommerce_store_city 'Aix-en-Provence'
docker compose exec --user=www-data cms wp option update woocommerce_store_postcode 13100
docker compose exec --user=www-data cms wp option update woocommerce_default_country FR
docker compose exec --user=www-data cms wp option update woocommerce_currency "EUR"
docker compose exec --user=www-data cms wp option update woocommerce_price_decimal_sep ","
docker compose exec --user=www-data cms wp option update woocommerce_price_thousand_sep " "
docker compose exec --user=www-data cms wp option update woocommerce_onboarding_profile --format=json '
{
"is_agree_marketing": false,
"store_email": "admin@example.com",
"is_store_country_set": true,
"industry": [
{
"slug": "other",
"detail": "Books"
}
],
"product_types": [
"physical",
"downloads"
],
"product_count": "0",
"selling_venues": "no",
"setup_client": false,
"business_extensions": [],
"theme": "twentytwentythree",
"completed": true
}
'
# Generate Woocommerce api key pair
docker compose exec \
--user=www-data cms \
wp option get aixmazon_storefront_key_generated &> /dev/null || \
(
docker compose exec \
--user=www-data \
--env WOOCOMMERCE_API_KEY=$WOOCOMMERCE_API_KEY \
--env WOOCOMMERCE_API_SECRET=$WOOCOMMERCE_API_SECRET \
cms wp eval '
global $wpdb;
echo $wpdb->insert(
$wpdb->prefix . "woocommerce_api_keys",
array(
"user_id" => 1,
"description" => "storefront",
"permissions" => "read_write",
"consumer_key"=> wc_api_hash(getenv("WOOCOMMERCE_API_KEY")),
"consumer_secret" => getenv("WOOCOMMERCE_API_SECRET"),
"truncated_key" => substr(getenv("WOOCOMMERCE_API_SECRET"), -7)
)
);' \
&& docker compose exec \
--user=www-data cms \
wp option add aixmazon_storefront_key_generated 1 &>/dev/null
)
# Load sample products catalog
docker compose exec --user=www-data cms wp option get aixmazon_storefront_product_catalog_loaded &> /dev/null || \
(
docker compose exec \
--user=www-data \
cms bash -c "
curl -OL https://raw.githubusercontent.com/woocommerce/woocommerce/master/sample-data/sample_products.xml \
&& wp import sample_products.xml --authors=create && rm sample_products.xml \
" \
&& docker compose exec --user=www-data cms wp option add aixmazon_storefront_product_catalog_loaded 1 &> /dev/null
)