xTHExBEASTx commited on
Commit
dd0e65c
·
verified ·
1 Parent(s): 906a710

Upload 5 files

Browse files
Files changed (3) hide show
  1. Dockerfile +2 -1
  2. start.sh +25 -7
  3. supervisord.conf +1 -1
Dockerfile CHANGED
@@ -96,8 +96,9 @@ RUN sed -i 's/www-data/user/g' /etc/php/7.4/fpm/pool.d/www.conf
96
 
97
  # Fix Icecast config to disable changeowner
98
  RUN sed -i 's/<changeowner>/<!--<changeowner>/g' /etc/icecast2/icecast.xml
99
- RUN sed -i 's/}<\/changeowner>/}<\/changeowner>-->/g' /etc/icecast2/icecast.xml
100
 
 
101
  EXPOSE 7860
102
 
103
  USER user
 
96
 
97
  # Fix Icecast config to disable changeowner
98
  RUN sed -i 's/<changeowner>/<!--<changeowner>/g' /etc/icecast2/icecast.xml
99
+ RUN sed -i 's/<\/changeowner>/<\/changeowner>-->/g' /etc/icecast2/icecast.xml
100
 
101
+ ENV RABBITMQ_NODENAME=rabbit@localhost
102
  EXPOSE 7860
103
 
104
  USER user
start.sh CHANGED
@@ -38,15 +38,32 @@ if [ ! -s "$PG_DATA/PG_VERSION" ]; then
38
  fi
39
 
40
  # 3. Setup RabbitMQ
41
- # Ensure log dir exists and is writable (just in case Dockerfile missed it or volume overwrote it)
42
- mkdir -p /var/log/rabbitmq
43
- echo "Configuring RabbitMQ..."
 
 
 
 
44
  /usr/sbin/rabbitmq-server -detached
45
- sleep 10
 
 
 
 
 
 
 
 
 
 
 
46
  rabbitmqctl add_user libretime libretime || true
47
  rabbitmqctl set_permissions -p / libretime ".*" ".*" ".*" || true
48
  rabbitmqctl add_vhost /libretime || true
49
  rabbitmqctl set_permissions -p /libretime libretime ".*" ".*" ".*" || true
 
 
50
  rabbitmqctl stop
51
 
52
  # 4. Migrations
@@ -55,11 +72,12 @@ echo "Starting PostgreSQL for migration..."
55
 
56
  echo "Running LibreTime Migrations..."
57
  export LIBRETIME_CONFIG_FILEPATH=/etc/libretime/config.yml
58
- libretime-api collectstatic --noinput
59
- libretime-api migrate --noinput
 
60
 
61
  echo "Stopping PostgreSQL..."
62
  /usr/lib/postgresql/13/bin/pg_ctl -D "$PG_DATA" stop
63
 
64
- echo "Starting Supervisor..."
65
  exec supervisord -c /etc/supervisor/conf.d/supervisord.conf
 
38
  fi
39
 
40
  # 3. Setup RabbitMQ
41
+ export RABBITMQ_NODENAME=rabbit@localhost
42
+ export RABBITMQ_LOG_BASE=/var/log/rabbitmq
43
+ export RABBITMQ_MNESIA_BASE=/var/lib/rabbitmq/mnesia
44
+ mkdir -p /var/log/rabbitmq /var/lib/rabbitmq/mnesia
45
+ chown -R user:user /var/log/rabbitmq /var/lib/rabbitmq
46
+
47
+ echo "Starting RabbitMQ for setup..."
48
  /usr/sbin/rabbitmq-server -detached
49
+
50
+ echo "Waiting for RabbitMQ to be ready..."
51
+ for i in {1..30}; do
52
+ if rabbitmqctl status >/dev/null 2>&1; then
53
+ echo "RabbitMQ is ready."
54
+ break
55
+ fi
56
+ echo "Waiting... ($i/30)"
57
+ sleep 2
58
+ done
59
+
60
+ echo "Configuring RabbitMQ users..."
61
  rabbitmqctl add_user libretime libretime || true
62
  rabbitmqctl set_permissions -p / libretime ".*" ".*" ".*" || true
63
  rabbitmqctl add_vhost /libretime || true
64
  rabbitmqctl set_permissions -p /libretime libretime ".*" ".*" ".*" || true
65
+
66
+ echo "Stopping RabbitMQ..."
67
  rabbitmqctl stop
68
 
69
  # 4. Migrations
 
72
 
73
  echo "Running LibreTime Migrations..."
74
  export LIBRETIME_CONFIG_FILEPATH=/etc/libretime/config.yml
75
+ # Use python -m to be safe if the script isn't in PATH
76
+ python3 -m libretime_api collectstatic --noinput
77
+ python3 -m libretime_api migrate --noinput
78
 
79
  echo "Stopping PostgreSQL..."
80
  /usr/lib/postgresql/13/bin/pg_ctl -D "$PG_DATA" stop
81
 
82
+ echo "Setup complete. Starting Supervisor..."
83
  exec supervisord -c /etc/supervisor/conf.d/supervisord.conf
supervisord.conf CHANGED
@@ -13,7 +13,7 @@ priority=1
13
  [program:rabbitmq]
14
  command=/usr/sbin/rabbitmq-server
15
  user=user
16
- environment=HOME="/var/lib/rabbitmq"
17
  autorestart=true
18
  priority=2
19
 
 
13
  [program:rabbitmq]
14
  command=/usr/sbin/rabbitmq-server
15
  user=user
16
+ environment=HOME="/var/lib/rabbitmq",RABBITMQ_NODENAME="rabbit@localhost"
17
  autorestart=true
18
  priority=2
19