-
Notifications
You must be signed in to change notification settings - Fork 0
47 lines (42 loc) · 1.78 KB
/
Copy pathrelease.yml
File metadata and controls
47 lines (42 loc) · 1.78 KB
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
name: Run Radio Discord Bot
on:
push:
branches:
- master
workflow_dispatch:
jobs:
deploy:
runs-on: [self-hosted, Linux, X64]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Debug - List files
run: |
echo "Root directory contents:"
ls -la
echo "Deployment directory contents:"
ls -la deployment/
- name: Stop existing containers
run: |
cd deployment && docker compose -f docker-compose.yml down || true
- name: Remove old images
run: |
cd deployment && docker rmi radiodiscordbot:latest || true
- name: Create .env file
run: |
cd deployment
echo "POSTGRES_DB=radiobot" > .env
echo "POSTGRES_USER=radiouser" >> .env
echo "POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" >> .env
echo "SPOTIFY_CLIENT_ID=${{ secrets.SPOTIFY_CLIENT_ID }}" >> .env
echo "SPOTIFY_CLIENT_SECRET=${{ secrets.SPOTIFY_CLIENT_SECRET }}" >> .env
echo "DISCORD_TOKEN=${{ secrets.DISCORD_TOKEN }}" >> .env
echo "WEBSITE_URL=${{ secrets.WEBSITE_URL }}" >> .env
echo "CORS_ALLOWED_ORIGINS=${{ secrets.CORS_ALLOWED_ORIGINS }}" >> .env
echo "JWT_SETTINGS_SECRET=${{ secrets.JWT_SETTINGS_SECRET }}" >> .env
echo "JWT_SETTINGS_INTERNAL_PASSWORD=${{ secrets.JWT_SETTINGS_INTERNAL_PASSWORD }}" >> .env
echo "JWT_SETTINGS_ISSUER=${{ secrets.WEBSITE_URL }}" >> .env
echo "JWT_SETTINGS_AUDIENCE=${{ secrets.WEBSITE_URL }}" >> .env
- name: Build and run with Docker Compose
run: |
cd deployment && docker compose -f docker-compose.yml build --build-arg YT_DLP_CACHE_BUST=$(date +%Y%m%d) && docker compose -f docker-compose.yml up -d