Skip to content

Commit 74d5a8c

Browse files
Merge pull request #36 from fledge-iot/1.9.2RC
1.9.2RC
2 parents ced7c3a + 169aadb commit 74d5a8c

File tree

14 files changed

+396
-59
lines changed

14 files changed

+396
-59
lines changed

docker/Dockerfile

Lines changed: 0 additions & 36 deletions
This file was deleted.

docker/Dockerfile.centos7

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
FROM centos:7
2+
3+
LABEL maintainer="[email protected]"
4+
5+
ARG FLEDGE_BRANCH=develop
6+
ENV FLEDGE_BRANCH ${FLEDGE_BRANCH}
7+
RUN yum update -y
8+
RUN yum install -y git rsyslog sudo wget initscripts openssl nginx \
9+
centos-release-scl-rh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
10+
11+
# Fake service control as docker container doesn't use it
12+
RUN printf '#!/bin/bash \nexit 0' > /usr/bin/systemctl
13+
RUN chmod 755 /usr/bin/systemctl
14+
15+
WORKDIR /fledge-core
16+
17+
RUN git clone -b $FLEDGE_BRANCH https://github.com/fledge-iot/fledge.git
18+
19+
RUN cd fledge && \
20+
chmod +x requirements.sh && \
21+
./requirements.sh && \
22+
make install
23+
24+
ENV FLEDGE_ROOT=/usr/local/fledge
25+
26+
VOLUME /usr/local/fledge/data
27+
28+
# These Volumes will be used in future when we want to install plugins
29+
VOLUME /usr/local/fledge
30+
VOLUME /fledge-core/fledge
31+
32+
EXPOSE 8081 1995 80
33+
34+
# Install Fledge repo within container
35+
RUN echo -e "[fledge]\n\
36+
name=fledge Repository\n\
37+
baseurl=http://archives.fledge-iot.org/nightly/centos7/x86_64/\n\
38+
enabled=1\n\
39+
gpgkey=http://archives.fledge-iot.org/RPM-GPG-KEY-fledge\n\
40+
gpgcheck=1" > /etc/yum.repos.d/fledge.repo
41+
RUN yum update -y
42+
43+
# Fix and install fledge-gui
44+
# With fledge-gui PR https://github.com/fledge-iot/fledge-gui/pull/105,
45+
# below fix will not be required, next to the 1.9.1 releases.
46+
RUN rm -f /usr/share/nginx/html/index.html && \
47+
yum install -y fledge-gui
48+
49+
50+
RUN echo "service rsyslog start" > start.sh && \
51+
echo "nginx" > start.sh && \
52+
echo "/usr/local/fledge/bin/fledge start" >> start.sh && \
53+
echo "tail -f /var/log/messages" >> start.sh && \
54+
chmod +x start.sh
55+
56+
CMD ["bash", "/fledge-core/start.sh"]

docker/Dockerfile.ubuntu1804

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
FROM ubuntu:18.04
2+
3+
LABEL maintainer="[email protected]"
4+
5+
ARG FLEDGE_BRANCH=develop
6+
ENV FLEDGE_BRANCH ${FLEDGE_BRANCH}
7+
RUN apt-get update && apt-get -y upgrade
8+
RUN apt-get install -y git rsyslog sudo wget
9+
# TODO: https://scaledb.atlassian.net/browse/FOGL-4809
10+
# RUN apt-get install -y sqlite3
11+
12+
# Fake service control as docker container doesn't use it
13+
RUN printf '#!/bin/bash \nexit 0' > /usr/bin/systemctl
14+
RUN chmod 755 /usr/bin/systemctl
15+
16+
WORKDIR /fledge-core
17+
18+
RUN git clone -b $FLEDGE_BRANCH https://github.com/fledge-iot/fledge.git
19+
20+
RUN cd fledge && \
21+
chmod +x requirements.sh && \
22+
./requirements.sh && \
23+
make install
24+
25+
ENV FLEDGE_ROOT=/usr/local/fledge
26+
27+
VOLUME /usr/local/fledge/data
28+
29+
# These Volumes will be used in future when we want to install plugins
30+
VOLUME /usr/local/fledge
31+
VOLUME /fledge-core/fledge
32+
33+
EXPOSE 8081 1995 80
34+
35+
36+
RUN wget -q -O - http://archives.fledge-iot.org/KEY.gpg | sudo apt-key add -
37+
RUN echo "deb http://archives.fledge-iot.org/nightly/ubuntu1804/x86_64/ / " > /etc/apt/sources.list.d/fledge.list
38+
RUN apt-get update
39+
40+
RUN sudo apt-get install -y nginx-light
41+
RUN apt-get download fledge-gui && \
42+
dpkg --unpack fledge-gui*.deb && \
43+
sed -i 's/grep/echo/g' /var/lib/dpkg/info/fledge-gui.postinst && \
44+
dpkg --configure fledge-gui
45+
46+
RUN echo "service rsyslog start" > start.sh && \
47+
echo "service nginx start" > start.sh && \
48+
echo "/usr/local/fledge/bin/fledge start" >> start.sh && \
49+
echo "tail -f /dev/null" >> start.sh && \
50+
chmod +x start.sh
51+
52+
CMD ["bash", "/fledge-core/start.sh"]

docker/Dockerfile.ubuntu2004

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
FROM ubuntu:20.04
2+
3+
LABEL maintainer="[email protected]"
4+
5+
ARG FLEDGE_BRANCH=develop
6+
ENV FLEDGE_BRANCH ${FLEDGE_BRANCH}
7+
RUN apt-get update && apt-get -y upgrade
8+
RUN apt-get install -y git rsyslog sudo wget
9+
# https://serverfault.com/questions/949991/how-to-install-tzdata-on-a-ubuntu-docker-image
10+
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata
11+
# TODO: https://scaledb.atlassian.net/browse/FOGL-4809
12+
# RUN apt-get install -y sqlite3
13+
14+
# Fake service control as docker container doesn't use it
15+
RUN printf '#!/bin/bash \nexit 0' > /usr/bin/systemctl
16+
RUN chmod 755 /usr/bin/systemctl
17+
18+
WORKDIR /fledge-core
19+
20+
RUN git clone -b $FLEDGE_BRANCH https://github.com/fledge-iot/fledge.git
21+
22+
RUN cd fledge && \
23+
chmod +x requirements.sh && \
24+
./requirements.sh && \
25+
make install
26+
27+
ENV FLEDGE_ROOT=/usr/local/fledge
28+
29+
VOLUME /usr/local/fledge/data
30+
31+
# These Volumes will be used in future when we want to install plugins
32+
VOLUME /usr/local/fledge
33+
VOLUME /fledge-core/fledge
34+
35+
EXPOSE 8081 1995 80
36+
37+
38+
RUN wget -q -O - http://archives.fledge-iot.org/KEY.gpg | sudo apt-key add -
39+
RUN echo "deb http://archives.fledge-iot.org/nightly/ubuntu2004/x86_64/ / " > /etc/apt/sources.list.d/fledge.list
40+
RUN apt-get update
41+
42+
RUN sudo apt-get install -y nginx-light
43+
RUN apt-get download fledge-gui && \
44+
dpkg --unpack fledge-gui*.deb && \
45+
sed -i 's/grep/echo/g' /var/lib/dpkg/info/fledge-gui.postinst && \
46+
dpkg --configure fledge-gui
47+
48+
RUN echo "service rsyslog start" > start.sh && \
49+
echo "service nginx start" > start.sh && \
50+
echo "/usr/local/fledge/bin/fledge start" >> start.sh && \
51+
echo "tail -f /dev/null" >> start.sh && \
52+
chmod +x start.sh
53+
54+
CMD ["bash", "/fledge-core/start.sh"]

docker/README.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Installation
22

3-
### Mac & Windows
3+
### macOS & Windows
44

55
Install Docker CE for Mac and Windows (http://docker.com)
66

@@ -22,7 +22,7 @@ https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/
2222
### Build fledge image
2323

2424
```
25-
docker build --tag fledge --build-arg FLEDGE_BRANCH=develop .
25+
$ docker build --tag fledge:dev --build-arg FLEDGE_BRANCH=develop -f Dockerfile.ubuntu1804 .
2626
```
2727

2828
where name of the image is fledge, FLEDGE_BRANCH is the branch to build (develop, main, 1.5.2 ,etc)
@@ -31,7 +31,7 @@ where name of the image is fledge, FLEDGE_BRANCH is the branch to build (develop
3131

3232

3333
```
34-
$ docker run -d -v /fledge-data:/usr/local/fledge/data --name fledge -p 8081:8081 -p 1995:1995 fledge
34+
$ docker run -d -v ~/fledge-data:/usr/local/fledge/data --name fledge -p 8081:8081 -p 1995:1995 -p 8082:80 fledge:dev
3535
```
3636

3737
-d : run fledge container in detached mode
@@ -42,10 +42,22 @@ where name of the image is fledge, FLEDGE_BRANCH is the branch to build (develop
4242

4343
> To attach to a running conatiner: `docker exec -it fledge bash`
4444
45+
`--network host` mode makes the container use the host's network stack.
4546

4647
### Stopping docker container
4748
```
4849
$ docker stop fledge
4950
```
5051

51-
> Note: The files in fledge-data directory are created by container which creates/runs them as root user. In order to read the fledge.db, you need to change the permission of fledge.db* files, sudo chmod 666 fledge.db*
52+
> Note: The files in fledge-data directory are created by container which creates/runs them as root user. In order to read the fledge.db, you need to change the permission of fledge.db* files, sudo chmod 666 fledge.db*
53+
54+
### notes...
55+
56+
docker save -o fledge-dev.tar fledge:dev
57+
58+
59+
docker load < fledge-dev.tar.gz
60+
docker load --input fledge-dev.tar.gz
61+
62+
docker run -d -v ~/fledge-data:/usr/local/fledge/data --name fledge -p 8081:8081 -p 1995:1995 -p 8082:80 fledge:dev
63+
docker run -d --name fledge -p 8081:8081 -p 1995:1995 -p 8082:80 fledge:dev

docker/latest/Dockerfile.centos7

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
FROM centos:7
2+
3+
LABEL maintainer="[email protected]"
4+
5+
ENV ARCHITECTURE="x86_64"
6+
ENV OS="centos7"
7+
8+
ARG PKG_VERSION="latest"
9+
10+
ENV FLEDGE_PKGS_ARCHIVES_LINK="http://archives.fledge-iot.org/${PKG_VERSION}/${OS}/${ARCHITECTURE}/"
11+
12+
# Install pre-requisites
13+
RUN yum update -y && \
14+
yum install -y rsyslog curl wget jq centos-release-scl-rh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
15+
yum install -y nginx
16+
17+
18+
# Fake service control as docker container doesn't use it
19+
RUN printf '#!/bin/bash \nexit 0' > /usr/bin/systemctl
20+
RUN chmod 755 /usr/bin/systemctl
21+
22+
# Install Fledge repo within container
23+
RUN echo -e "[fledge]\n\
24+
name=fledge Repository\n\
25+
baseurl=${FLEDGE_PKGS_ARCHIVES_LINK}\n\
26+
enabled=1\n\
27+
gpgkey=http://archives.fledge-iot.org/RPM-GPG-KEY-fledge\n\
28+
gpgcheck=1" > /etc/yum.repos.d/fledge.repo
29+
30+
# Install fledge
31+
RUN yum update -y && yum install -y fledge
32+
33+
# Fix and install fledge-gui
34+
# With fledge-gui PR https://github.com/fledge-iot/fledge-gui/pull/105,
35+
# below fix will not be required, next to the 1.9.1 releases.
36+
RUN rm -f /usr/share/nginx/html/index.html && \
37+
yum install -y fledge-gui
38+
39+
# Build the Start Script
40+
RUN echo "service rsyslog start" > start.sh && \
41+
echo "nginx" >> start.sh && \
42+
echo "/usr/local/fledge/bin/fledge start" >> start.sh && \
43+
echo "tail -f /var/log/messages" >> start.sh && \
44+
chmod +x start.sh
45+
46+
47+
ENV FLEDGE_ROOT=/usr/local/fledge
48+
49+
# VOLUME /usr/local/fledge/data
50+
51+
# Fledge API and Fledge GUI ports
52+
EXPOSE 8081 1995 80
53+
54+
CMD ["bash", "./start.sh"]
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
FROM ubuntu:18.04
2+
3+
LABEL maintainer="[email protected]"
4+
5+
ENV ARCHITECTURE="x86_64"
6+
ENV OS="ubuntu1804"
7+
8+
ARG PKG_VERSION="latest"
9+
10+
ENV FLEDGE_PKGS_ARCHIVES_LINK="http://archives.fledge-iot.org/${PKG_VERSION}/${OS}/${ARCHITECTURE}/"
11+
12+
# Install pre-requisites
13+
RUN apt-get update && \
14+
apt-get install -y rsyslog curl wget jq nginx-light software-properties-common
15+
16+
17+
# Fake service control as docker container doesn't use it
18+
RUN printf '#!/bin/bash \nexit 0' > /usr/bin/systemctl
19+
RUN chmod 755 /usr/bin/systemctl
20+
21+
# Install Fledge repo within container
22+
RUN wget -q -O - http://archives.fledge-iot.org/KEY.gpg | apt-key add - && \
23+
add-apt-repository "deb ${FLEDGE_PKGS_ARCHIVES_LINK} / "
24+
25+
# Install fledge
26+
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y fledge
27+
28+
# Fix and install fledge-gui
29+
RUN apt-get download fledge-gui && \
30+
dpkg --unpack fledge-gui*.deb && \
31+
sed -i 's/grep/echo/g' /var/lib/dpkg/info/fledge-gui.postinst && \
32+
dpkg --configure fledge-gui
33+
34+
# Build the Start Script
35+
RUN echo "service rsyslog start" > start.sh && \
36+
echo "service nginx start" >> start.sh && \
37+
echo "/usr/local/fledge/bin/fledge start" >> start.sh && \
38+
echo "tail -f /var/log/syslog" >> start.sh && \
39+
chmod +x start.sh
40+
41+
RUN usermod -aG www-data root
42+
43+
ENV FLEDGE_ROOT=/usr/local/fledge
44+
45+
# VOLUME /usr/local/fledge/data
46+
47+
# Fledge API and Fledge GUI ports
48+
EXPOSE 8081 1995 80
49+
50+
CMD ["bash", "./start.sh"]

0 commit comments

Comments
 (0)