docker:start
This commit is contained in:
parent
fef4d3b023
commit
ac7eec418c
1
.basic-auth-code
Normal file
1
.basic-auth-code
Normal file
@ -0,0 +1 @@
|
|||||||
|
code:$apr1$AeePIAei$E9E6E6jtFFtwmtGhIEG.Y/
|
2
.basic-auth-web
Normal file
2
.basic-auth-web
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
code:$apr1$AeePIAei$E9E6E6jtFFtwmtGhIEG.Y/
|
||||||
|
web:$apr1$/zc/TBtD$ZGr3RqPiULYMD0kJUup5E0
|
3
.env
Normal file
3
.env
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
PROJECT_NAME=tibi-svelte-starter
|
||||||
|
TIBI_PREFIX=tibi
|
||||||
|
TIBI_NAMESPACE=__NAMESPACE__
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -15,3 +15,4 @@ cypress/screenshots
|
|||||||
.~lock.*
|
.~lock.*
|
||||||
coverage/
|
coverage/
|
||||||
.nyc_output/
|
.nyc_output/
|
||||||
|
/tmp/
|
Binary file not shown.
17
README.md
17
README.md
@ -9,7 +9,18 @@ Via Svelte wird eine SPA (Single-Page-App) programmiert. Dazu wird der Code einm
|
|||||||
Die Navigation innerhalb der APP im Browser löst dagegen nur API-Aufrufe aus ohne jedesmal einen SSR-Prozess anzustoßen.
|
Die Navigation innerhalb der APP im Browser löst dagegen nur API-Aufrufe aus ohne jedesmal einen SSR-Prozess anzustoßen.
|
||||||
|
|
||||||
Um die SSR-Last so gering wie möglich zu halten, wurde ein Caching in der "ssr"-Collection der API implementiert.
|
Um die SSR-Last so gering wie möglich zu halten, wurde ein Caching in der "ssr"-Collection der API implementiert.
|
||||||
|
|
||||||
## Toolchain
|
## Toolchain
|
||||||
|
|
||||||
|
### git
|
||||||
|
|
||||||
|
nach `git clone ...`
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git lfs install
|
||||||
|
git lfs pull
|
||||||
|
```
|
||||||
|
|
||||||
### Abhängigkeiten laden
|
### Abhängigkeiten laden
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -34,6 +45,12 @@ API_BASE=https://login.tibicms.de/api/v1_/__NAMESPACE__ yarn start
|
|||||||
yarn dev
|
yarn dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Entwickeln auf dem Code-Server mit Docker Compose Stack
|
||||||
|
|
||||||
|
```
|
||||||
|
yarn docker:start
|
||||||
|
```
|
||||||
|
|
||||||
### Testen
|
### Testen
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
113
docker-compose-local.yml
Normal file
113
docker-compose-local.yml
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
version: "3.8"
|
||||||
|
name: tibi-svelte-starter-local
|
||||||
|
|
||||||
|
services:
|
||||||
|
yarnstart:
|
||||||
|
image: node:18
|
||||||
|
volumes:
|
||||||
|
- ./:/data
|
||||||
|
command: sh -c "cd /data && yarn install && API_BASE=http://tibiserver:8080/api/v1/_/${TIBI_NAMESPACE} yarn start"
|
||||||
|
# ports:
|
||||||
|
# - ${PORT:-3000}:3000
|
||||||
|
# - ${BROWSERSYNC_PORT:-4001}:3001
|
||||||
|
expose:
|
||||||
|
- 3000
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- traefik_web
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- online.testversion.code.subdomain=${PROJECT_NAME}
|
||||||
|
- traefik.http.routers.${PROJECT_NAME}-yarnstart.middlewares=${PROJECT_NAME}-yarnstart
|
||||||
|
- traefik.http.middlewares.${PROJECT_NAME}-yarnstart.basicauth.usersfile=${PWD}/.basic-auth-web
|
||||||
|
|
||||||
|
tibiserver:
|
||||||
|
image: gitbase.de/cms/tibi-server
|
||||||
|
volumes:
|
||||||
|
- ./:/data
|
||||||
|
environment:
|
||||||
|
# DB_DIAL: mongodb://root:root@mongo/admin
|
||||||
|
DB_DIAL: mongodb://mongo
|
||||||
|
DB_PREFIX: ${TIBI_PREFIX}
|
||||||
|
MAIL_HOST: maildev:25
|
||||||
|
depends_on:
|
||||||
|
- mongo
|
||||||
|
|
||||||
|
tibiadmin:
|
||||||
|
image: gitbase.de/cms/tibi-admin
|
||||||
|
environment:
|
||||||
|
INDEX: spa.html
|
||||||
|
WEBROOT: /data
|
||||||
|
API: /api:http://tibiserver:8080/api/v1
|
||||||
|
PORT: 80
|
||||||
|
depends_on:
|
||||||
|
- tibiserver
|
||||||
|
# ports:
|
||||||
|
# - ${ADMIN_PORT:-3002}:80
|
||||||
|
expose:
|
||||||
|
- 80
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- traefik_web
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- online.testversion.code.subdomain=${PROJECT_NAME}-tibiadmin
|
||||||
|
- traefik.http.routers.${PROJECT_NAME}-tibiadmin.middlewares=${PROJECT_NAME}-tibiadmin
|
||||||
|
- traefik.http.middlewares.${PROJECT_NAME}-tibiadmin.basicauth.usersfile=${PWD}/.basic-auth-code
|
||||||
|
|
||||||
|
mongo:
|
||||||
|
image: gitbase.de/server/mongo:4.2
|
||||||
|
volumes:
|
||||||
|
- ./tmp/mongo-data:/data/db
|
||||||
|
# command: mongod --logpath=/dev/null
|
||||||
|
# environment:
|
||||||
|
# MONGO_INITDB_ROOT_USERNAME: root
|
||||||
|
# MONGO_INITDB_ROOT_PASSWORD: root
|
||||||
|
|
||||||
|
# adminder:
|
||||||
|
# image: gitbase.de/server/adminer
|
||||||
|
# ports:
|
||||||
|
# - ${PORT:-18080}:8080
|
||||||
|
|
||||||
|
adminmongo:
|
||||||
|
image: gitbase.de/server/adminmongo
|
||||||
|
environment:
|
||||||
|
CONN_NAME: mongo
|
||||||
|
# DB_USERNAME: root
|
||||||
|
# DB_PASSWORD: root
|
||||||
|
DB_HOST: mongo
|
||||||
|
PORT: 1234
|
||||||
|
# ports:
|
||||||
|
# - ${ADMINMONGO_PORT:-3003}:1234
|
||||||
|
expose:
|
||||||
|
- 1234
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- traefik_web
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- online.testversion.code.subdomain=${PROJECT_NAME}-adminmongo
|
||||||
|
- traefik.http.routers.${PROJECT_NAME}-adminmongo.middlewares=${PROJECT_NAME}-adminmongo
|
||||||
|
- traefik.http.middlewares.${PROJECT_NAME}-adminmongo.basicauth.usersfile=${PWD}/.basic-auth-code
|
||||||
|
|
||||||
|
maildev:
|
||||||
|
image: maildev/maildev
|
||||||
|
restart: always
|
||||||
|
# ports:
|
||||||
|
# - ${MAILDEV_PORT:-3004}:80
|
||||||
|
command: node bin/maildev --web 1080 --smtp 25 -v --hide-extensions=STARTTLS
|
||||||
|
expose:
|
||||||
|
- 1080
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- traefik_web
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- online.testversion.code.subdomain=${PROJECT_NAME}-maildev
|
||||||
|
- traefik.http.services.${PROJECT_NAME}-maildev.loadbalancer.server.port=1080
|
||||||
|
- traefik.http.routers.${PROJECT_NAME}-maildev.middlewares=${PROJECT_NAME}-maildev
|
||||||
|
- traefik.http.middlewares.${PROJECT_NAME}-maildev.basicauth.usersfile=${PWD}/.basic-auth-code
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik_web:
|
||||||
|
external: true
|
@ -9,6 +9,11 @@
|
|||||||
"validate": "svelte-check && tsc --noEmit",
|
"validate": "svelte-check && tsc --noEmit",
|
||||||
"start": "NAMESPACE=__NAMESPACE__ node scripts/esbuild-wrapper.js start",
|
"start": "NAMESPACE=__NAMESPACE__ node scripts/esbuild-wrapper.js start",
|
||||||
"start:remoteapi": "API_BASE=https://login.tibicms.de/api/v1/_/__NAMESPACE__ node scripts/esbuild-wrapper.js start",
|
"start:remoteapi": "API_BASE=https://login.tibicms.de/api/v1/_/__NAMESPACE__ node scripts/esbuild-wrapper.js start",
|
||||||
|
"docker:start": "docker compose -f docker-compose-local.yml up; docker compose -f docker-compose-local.yml down",
|
||||||
|
"docker:up": "docker compose -f docker-compose-local.yml up -d",
|
||||||
|
"docker:down": "docker compose -f docker-compose-local.yml down",
|
||||||
|
"docker:logs": "docker compose -f docker-compose-local.yml logs -f",
|
||||||
|
"docker:yarnupgrade": "docker compose -f docker-compose-local.yml run --rm yarnstart sh -c 'cd /data && yarn upgrade-interactive'",
|
||||||
"dev": "node scripts/esbuild-wrapper.js watch",
|
"dev": "node scripts/esbuild-wrapper.js watch",
|
||||||
"build": "node scripts/esbuild-wrapper.js build",
|
"build": "node scripts/esbuild-wrapper.js build",
|
||||||
"build:legacy": "node scripts/esbuild-wrapper.js build esbuild.config.legacy.js && babel _temp/index.js -o _temp/index.babeled.js && esbuild _temp/index.babeled.js --outfile=dist/_dist_/index.es5.js --target=es5 --bundle --minify --sourcemap",
|
"build:legacy": "node scripts/esbuild-wrapper.js build esbuild.config.legacy.js && babel _temp/index.js -o _temp/index.babeled.js && esbuild _temp/index.babeled.js --outfile=dist/_dist_/index.es5.js --target=es5 --bundle --minify --sourcemap",
|
||||||
|
Loading…
Reference in New Issue
Block a user