Compare commits

...

3 Commits

Author SHA1 Message Date
giles cc0782574a gitea actions 2024-11-26 22:06:34 +00:00
giles 4f4b1d8f68 . 2024-11-26 21:04:42 +00:00
giles 3535bdefd9 . 2024-11-26 21:00:48 +00:00
9 changed files with 105 additions and 21 deletions

View File

View File

@ -1,4 +1,4 @@
docker build . -t rose-ash-ghost docker build . -t rose-ash-ghost:$1
docker build mysql -t rose-ash-mysql docker build mysql -t rose-ash-mysql:$1
docker build invite-token/app -f invite-token/app/Dockerfile -t invite-token docker build invite-token/app -f invite-token/app/Dockerfile -t invite-token:$1

View File

@ -1,7 +1,7 @@
{ {
"url": "http://localhost:2368", "url": "http://localhost:3001",
"server": { "server": {
"port": 2368, "port": 3001,
"host": "::" "host": "::"
}, },
"mail": { "mail": {

View File

@ -1,7 +1,7 @@
{ {
"url": "http://localhost:2368", "url": "$URL",
"server": { "server": {
"port": 2368, "port": $PORT,
"host": "::" "host": "::"
}, },
"mail": $EMAIL, "mail": $EMAIL,

3
deploy-localhost.sh Normal file
View File

@ -0,0 +1,3 @@
docker stack rm rose-ash
. ./.env
for i in 1 2 3 4 5 6 7 8 9 10; do sleep 5 && docker stack deploy -c docker-compose-localhost.yml rose-ash && break ; done

View File

@ -1,5 +1,4 @@
docker stack rm rose-ash export VERSION=$1
. ./.env export NODE=$3
echo $CERTBOT_EMAIL docker stack rm $2
echo $DOMAIN for i in 1 2 3 4 5 6 7 8 9 10; do sleep 5 && docker stack deploy -c docker-compose.yml $2 --with-registry-auth && break ; done
for i in 1 2 3 4 5 6 7 8 9 10; do sleep 5 && docker stack deploy -c docker-compose.yml rose-ash && break ; done

View File

@ -0,0 +1,75 @@
version: "3.3"
services:
ghost:
image: rose-ash-ghost:latest
env_file:
- ./.env
volumes:
- ghost-content:/var/lib/ghost/content
- ./settings:/var/lib/ghost/content/settings
- ./themes/:/var/lib/ghost/content/themes
networks:
- appnet
- externalnet
secrets:
- email
- db-password
#ports:
# - 2368:2368
deploy:
placement:
constraints: [node.labels.node == production ]
invite-token:
image: invite-token
environment:
MYSQL_USER: ghost
MYSQL_PASSWORD: ghostdbpass
MYSQL_DATABASE: ghostdb
MYSQL_HOST: db
PORT: 3002
networks:
- appnet
- externalnet
deploy:
placement:
constraints: [node.labels.node == production ]
ports:
# donot expose in production!!!
- 3010:3002
db:
image: rose-ash-mysql:latest
environment:
MYSQL_ROOT_PASSWORD: mysqlrootpass
MYSQL_USER: ghost
MYSQL_PASSWORD: ghostdbpass
MYSQL_DATABASE: ghostdb
volumes:
- ghost-mysql-db:/var/lib/mysql
networks:
- appnet
secrets:
- db-password
- db-root-password
deploy:
placement:
constraints: [node.labels.node == production ]
volumes:
ghost-content:
ghost-config:
ghost-mysql-db:
networks:
appnet:
driver: overlay
externalnet:
driver: overlay
external: true
secrets:
email:
file: ./.email
db-password:
file: ./.db-password
db-root-password:
file: ./.db-root-password

View File

@ -1,10 +1,9 @@
version: "3.3" version: "3.3"
services: services:
ghost: ghost:
image: rose-ash-ghost:latest image: registry.rose-ash.com/rose-ash-ghost:${VERSION}
environment: env_file:
url: https://rose-ash.com/ - ./.env
NODE_ENV: production
volumes: volumes:
- ghost-content:/var/lib/ghost/content - ghost-content:/var/lib/ghost/content
- ./settings:/var/lib/ghost/content/settings - ./settings:/var/lib/ghost/content/settings
@ -15,12 +14,14 @@ services:
secrets: secrets:
- email - email
- db-password - db-password
#ports:
# - 2368:2368
deploy: deploy:
placement: placement:
constraints: [node.labels.node == production ] constraints: [node.labels.node == $NODE ]
invite-token: invite-token:
image: invite-token image: registry.rose-ash.com/invite-token:${VERSION}
environment: environment:
MYSQL_USER: ghost MYSQL_USER: ghost
MYSQL_PASSWORD: ghostdbpass MYSQL_PASSWORD: ghostdbpass
@ -32,10 +33,13 @@ services:
- externalnet - externalnet
deploy: deploy:
placement: placement:
constraints: [node.labels.node == production ] constraints: [node.labels.node == $NODE ]
#ports:
# donot expose in production!!!
#- 3010:3002
db: db:
image: rose-ash-mysql:latest image: registry.rose-ash.com/rose-ash-mysql:${VERSION}
environment: environment:
MYSQL_ROOT_PASSWORD: mysqlrootpass MYSQL_ROOT_PASSWORD: mysqlrootpass
MYSQL_USER: ghost MYSQL_USER: ghost
@ -50,7 +54,7 @@ services:
- db-root-password - db-root-password
deploy: deploy:
placement: placement:
constraints: [node.labels.node == production ] constraints: [node.labels.node == $NODE ]
volumes: volumes:
ghost-content: ghost-content:
ghost-config: ghost-config:

3
push.sh Normal file
View File

@ -0,0 +1,3 @@
docker push registry.rose-ash.com/rose-ash-ghost:$1
docker push registry.rose-ash.com/invite-token:$1
docker push registry.rose-ash.com/rose-ash-mysql:$1