Skip to content

Commit 17e4b5a

Browse files
committed
fix: update OCI image labels to baker-scripts org
1 parent 7b4c031 commit 17e4b5a

1 file changed

Lines changed: 85 additions & 44 deletions

File tree

Dockerfile

Lines changed: 85 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ FROM python:3.11-slim
2020
# OCI Labels
2121
LABEL org.opencontainers.image.title="Reddit ModLog Wiki Publisher" \
2222
org.opencontainers.image.description="Automated Reddit moderation log publisher to wiki pages" \
23-
org.opencontainers.image.authors="bakerboy448" \
24-
org.opencontainers.image.source="https://github.com/bakerboy448/RedditModLog" \
25-
org.opencontainers.image.documentation="https://github.com/bakerboy448/RedditModLog/blob/main/README.md" \
23+
org.opencontainers.image.authors="baker-scripts" \
24+
org.opencontainers.image.source="https://github.com/baker-scripts/RedditModLog" \
25+
org.opencontainers.image.documentation="https://github.com/baker-scripts/RedditModLog/blob/main/README.md" \
2626
org.opencontainers.image.licenses="GPL-3.0" \
27-
org.opencontainers.image.vendor="bakerboy448" \
27+
org.opencontainers.image.vendor="baker-scripts" \
2828
org.opencontainers.image.base.name="python:3.11-slim"
2929

3030
# Install runtime dependencies and s6-overlay for user management
@@ -74,50 +74,91 @@ ENV PATH="/opt/venv/bin:$PATH" \
7474
RUN mkdir -p /config /config/data /config/logs /app /etc/s6-overlay/s6-rc.d/modlog-bot /etc/s6-overlay/s6-rc.d/init-modlogbot /etc/s6-overlay/scripts
7575

7676
# Create s6 init script for user/group management
77-
RUN echo '#!/command/with-contenv bash\n\
78-
set -e\n\
79-
\n\
80-
# Validate that we have either config file OR environment variables\n\
81-
if [ ! -f /config/config.json ]; then\n\
82-
echo "No config file found at /config/config.json, checking environment variables..."\n\
83-
missing_vars=()\n\
84-
[ -z "$REDDIT_CLIENT_ID" ] && missing_vars+=("REDDIT_CLIENT_ID")\n\
85-
[ -z "$REDDIT_CLIENT_SECRET" ] && missing_vars+=("REDDIT_CLIENT_SECRET")\n\
86-
[ -z "$REDDIT_USERNAME" ] && missing_vars+=("REDDIT_USERNAME")\n\
87-
[ -z "$REDDIT_PASSWORD" ] && missing_vars+=("REDDIT_PASSWORD")\n\
88-
[ -z "$SOURCE_SUBREDDIT" ] && missing_vars+=("SOURCE_SUBREDDIT")\n\
89-
if [ ${#missing_vars[@]} -ne 0 ]; then\n\
90-
echo "ERROR: No config file and missing required environment variables:" >&2\n\
91-
printf " - %s\n" "${missing_vars[@]}" >&2\n\
92-
echo "" >&2\n\
93-
echo "Either mount a config file to /config/config.json OR set environment variables." >&2\n\
94-
exit 1\n\
95-
fi\n\
96-
echo "Using environment variables for configuration"\n\
97-
else\n\
98-
echo "Using config file: /config/config.json"\n\
99-
fi\n\
100-
\n\
101-
PUID=${PUID:-1000}\n\
102-
PGID=${PGID:-1000}\n\
103-
echo "Setting UID:GID to ${PUID}:${PGID}"\n\
104-
\n\
105-
groupmod -o -g "$PGID" modlogbot\n\
106-
usermod -o -u "$PUID" modlogbot\n\
107-
\n\
108-
echo "Fixing ownership of /config"\n\
109-
chown -R modlogbot:modlogbot /config\n\
110-
\n\
111-
if [ ! -f /config/data/modlog.db ]; then\n\
112-
echo "Initializing database directory"\n\
113-
touch /config/data/modlog.db\n\
114-
chown modlogbot:modlogbot /config/data/modlog.db\n\
77+
RUN echo '#!/command/with-contenv bash
78+
\
79+
set -e
80+
\
81+
82+
\
83+
# Validate that we have either config file OR environment variables
84+
\
85+
if [ ! -f /config/config.json ]; then
86+
\
87+
echo "No config file found at /config/config.json, checking environment variables..."
88+
\
89+
missing_vars=()
90+
\
91+
[ -z "$REDDIT_CLIENT_ID" ] && missing_vars+=("REDDIT_CLIENT_ID")
92+
\
93+
[ -z "$REDDIT_CLIENT_SECRET" ] && missing_vars+=("REDDIT_CLIENT_SECRET")
94+
\
95+
[ -z "$REDDIT_USERNAME" ] && missing_vars+=("REDDIT_USERNAME")
96+
\
97+
[ -z "$REDDIT_PASSWORD" ] && missing_vars+=("REDDIT_PASSWORD")
98+
\
99+
[ -z "$SOURCE_SUBREDDIT" ] && missing_vars+=("SOURCE_SUBREDDIT")
100+
\
101+
if [ ${#missing_vars[@]} -ne 0 ]; then
102+
\
103+
echo "ERROR: No config file and missing required environment variables:" >&2
104+
\
105+
printf " - %s
106+
" "${missing_vars[@]}" >&2
107+
\
108+
echo "" >&2
109+
\
110+
echo "Either mount a config file to /config/config.json OR set environment variables." >&2
111+
\
112+
exit 1
113+
\
114+
fi
115+
\
116+
echo "Using environment variables for configuration"
117+
\
118+
else
119+
\
120+
echo "Using config file: /config/config.json"
121+
\
122+
fi
123+
\
124+
125+
\
126+
PUID=${PUID:-1000}
127+
\
128+
PGID=${PGID:-1000}
129+
\
130+
echo "Setting UID:GID to ${PUID}:${PGID}"
131+
\
132+
133+
\
134+
groupmod -o -g "$PGID" modlogbot
135+
\
136+
usermod -o -u "$PUID" modlogbot
137+
\
138+
139+
\
140+
echo "Fixing ownership of /config"
141+
\
142+
chown -R modlogbot:modlogbot /config
143+
\
144+
145+
\
146+
if [ ! -f /config/data/modlog.db ]; then
147+
\
148+
echo "Initializing database directory"
149+
\
150+
touch /config/data/modlog.db
151+
\
152+
chown modlogbot:modlogbot /config/data/modlog.db
153+
\
115154
fi' > /etc/s6-overlay/scripts/init-modlogbot-run && \
116155
chmod +x /etc/s6-overlay/scripts/init-modlogbot-run
117156

118157
# Create s6 service run script
119-
RUN echo '#!/command/with-contenv bash\n\
120-
cd /app\n\
158+
RUN echo '#!/command/with-contenv bash
159+
\
160+
cd /app
161+
\
121162
exec s6-setuidgid modlogbot python modlog_wiki_publisher.py --config /config/config.json --continuous' > /etc/s6-overlay/scripts/modlog-bot-run && \
122163
chmod +x /etc/s6-overlay/scripts/modlog-bot-run
123164

0 commit comments

Comments
 (0)