mirror of
https://github.com/dariusk/rss-to-activitypub.git
synced 2024-12-23 06:03:33 +02:00
docker version
This commit is contained in:
parent
db150f9a81
commit
a81fe87664
25 changed files with 165 additions and 0 deletions
30
Dockerfile
Normal file
30
Dockerfile
Normal file
|
@ -0,0 +1,30 @@
|
|||
FROM node:10-alpine
|
||||
|
||||
RUN apk add --no-cache \
|
||||
python2 \
|
||||
make \
|
||||
g++
|
||||
|
||||
RUN mkdir /app
|
||||
|
||||
COPY ./app /app
|
||||
|
||||
RUN cd /app && \
|
||||
npm i
|
||||
|
||||
COPY ./init.sh /
|
||||
|
||||
RUN chmod +x /init.sh
|
||||
|
||||
COPY ./init-update.sh /
|
||||
|
||||
RUN chmod +x /init-update.sh
|
||||
|
||||
COPY ./feed-cron /etc/periodic/15min/
|
||||
|
||||
RUN chmod +x /etc/periodic/15min/feed-cron
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
CMD ["/init.sh"]
|
||||
|
0
.gitignore → app/.gitignore
vendored
0
.gitignore → app/.gitignore
vendored
0
data/.gitignore → app/data/.gitignore
vendored
0
data/.gitignore → app/data/.gitignore
vendored
62
docker-compose.yml
Normal file
62
docker-compose.yml
Normal file
|
@ -0,0 +1,62 @@
|
|||
version: '3'
|
||||
services:
|
||||
app:
|
||||
restart: unless-stopped
|
||||
image: rss-to-activity-pub
|
||||
environment:
|
||||
- DOMAIN=rss.fediwersum.pl
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
# traefik.http.routers.rss-to-activity-pub-conv.entrypoints: websecure
|
||||
# traefik.http.routers.rss-to-activity-pub-conv.rule: (Host(`rss.fediwersum.pl`) && PathPrefix(`/convert`))
|
||||
# traefik.http.routers.rss-to-activity-pub-conv.middlewares: rss-to-activity-pub-auth
|
||||
# traefik.http.routers.rss-to-activity-pub-conv.tls.certresolver: le
|
||||
# traefik.http.middlewares.rss-to-activity-pub-auth.basicauth.users: some:user
|
||||
traefik.http.routers.rss-to-activity-pub.entrypoints: websecure
|
||||
traefik.http.routers.rss-to-activity-pub.rule: Host(`rss.fediwersum.pl`)
|
||||
traefik.http.routers.rss-to-activity-pub.tls.certresolver: le
|
||||
traefik.http.services.rss-to-activity-pub.loadbalancer.server.port: 3000
|
||||
networks:
|
||||
- frontend
|
||||
- beanstalk
|
||||
volumes:
|
||||
- data:/app/data
|
||||
|
||||
cron:
|
||||
restart: unless-stopped
|
||||
image: rss-to-activity-pub
|
||||
environment:
|
||||
- DOMAIN=rss.fediwersum.pl
|
||||
command: /usr/sbin/crond -f -l 0
|
||||
volumes:
|
||||
- data:/app/data
|
||||
networks:
|
||||
- beanstalk
|
||||
|
||||
update-feeds:
|
||||
restart: unless-stopped
|
||||
image: rss-to-activity-pub
|
||||
environment:
|
||||
- DOMAIN=rss.fediwersum.pl
|
||||
command: /init-update.sh
|
||||
volumes:
|
||||
- data:/app/data
|
||||
networks:
|
||||
- beanstalk
|
||||
|
||||
beanstalkd:
|
||||
restart: unless-stopped
|
||||
image: schickling/beanstalkd
|
||||
networks:
|
||||
- beanstalk
|
||||
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
beanstalk:
|
||||
driver: overlay
|
||||
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
1
feed-cron
Executable file
1
feed-cron
Executable file
|
@ -0,0 +1 @@
|
|||
/bin/sh -c "cd /app && node queueFeeds.js" >/dev/null 2>&1
|
36
init-update.sh
Executable file
36
init-update.sh
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd /app
|
||||
|
||||
cp config.json.template config.json
|
||||
|
||||
if [[ ! -z ${DOMAIN+x} ]]; then
|
||||
sed -i "s/\"DOMAIN\": \"\"/\"DOMAIN\": \"${DOMAIN}\"/g" config.json
|
||||
else
|
||||
echo 'Env var $DOMAIN is not set. Set it before starting the container'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -z ${PORT_HTTP+x} ]]; then
|
||||
sed -i "s/\"PORT_HTTP\": \"3000\"/\"PORT_HTTP\": \"${PORT_HTTP}\"/g" config.json
|
||||
fi
|
||||
|
||||
if [[ ! -z ${PORT_HTTPS+x} ]]; then
|
||||
sed -i "s/\"PORT_HTTPS\": \"8443\"/\"PORT_HTTPS\": \"${PORT_HTTPS}\"/g" config.json
|
||||
fi
|
||||
|
||||
if [[ ! -z ${PRIVKEY_PATH+x} ]]; then
|
||||
sed -i "s@\"PRIVKEY_PATH\": \"\"@\"PRIVKEY_PATH\": \"${PRIVKEY_PATH}\"@g" config.json
|
||||
fi
|
||||
|
||||
if [[ ! -z ${CERT_PATH+x} ]]; then
|
||||
sed -i "s@\"CERT_PATH\": \"\"@\"CERT_PATH\": \"${CERT_PATH}\"@g" config.json
|
||||
fi
|
||||
|
||||
echo "Configuration file :"
|
||||
|
||||
cat config.json
|
||||
|
||||
|
||||
node updateFeeds.js
|
||||
|
36
init.sh
Executable file
36
init.sh
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd /app
|
||||
|
||||
cp config.json.template config.json
|
||||
|
||||
if [[ ! -z ${DOMAIN+x} ]]; then
|
||||
sed -i "s/\"DOMAIN\": \"\"/\"DOMAIN\": \"${DOMAIN}\"/g" config.json
|
||||
else
|
||||
echo 'Env var $DOMAIN is not set. Set it before starting the container'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -z ${PORT_HTTP+x} ]]; then
|
||||
sed -i "s/\"PORT_HTTP\": \"3000\"/\"PORT_HTTP\": \"${PORT_HTTP}\"/g" config.json
|
||||
fi
|
||||
|
||||
if [[ ! -z ${PORT_HTTPS+x} ]]; then
|
||||
sed -i "s/\"PORT_HTTPS\": \"8443\"/\"PORT_HTTPS\": \"${PORT_HTTPS}\"/g" config.json
|
||||
fi
|
||||
|
||||
if [[ ! -z ${PRIVKEY_PATH+x} ]]; then
|
||||
sed -i "s@\"PRIVKEY_PATH\": \"\"@\"PRIVKEY_PATH\": \"${PRIVKEY_PATH}\"@g" config.json
|
||||
fi
|
||||
|
||||
if [[ ! -z ${CERT_PATH+x} ]]; then
|
||||
sed -i "s@\"CERT_PATH\": \"\"@\"CERT_PATH\": \"${CERT_PATH}\"@g" config.json
|
||||
fi
|
||||
|
||||
echo "Configuration file :"
|
||||
|
||||
cat config.json
|
||||
|
||||
|
||||
node index.js
|
||||
|
Loading…
Reference in a new issue