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 mysql -t rose-ash-mysql
docker build invite-token/app -f invite-token/app/Dockerfile -t invite-token
docker build . -t rose-ash-ghost:$1
docker build mysql -t rose-ash-mysql:$1
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": {
"port": 2368,
"port": 3001,
"host": "::"
},
"mail": {

View File

@ -1,7 +1,7 @@
{
"url": "http://localhost:2368",
"url": "$URL",
"server": {
"port": 2368,
"port": $PORT,
"host": "::"
},
"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
. ./.env
echo $CERTBOT_EMAIL
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 rose-ash && break ; done
export VERSION=$1
export NODE=$3
docker stack rm $2
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

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