Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

History

History
History
76 lines (61 loc) 路 2.77 KB

File metadata and controls

76 lines (61 loc) 路 2.77 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
FROM localstack/java-maven-node-python
MAINTAINER Waldemar Hummer (waldemar.hummer@gmail.com)
LABEL authors="Waldemar Hummer (waldemar.hummer@gmail.com), Gianluca Bortoli (giallogiallo93@gmail.com)"
# install basic tools
RUN pip install awscli awscli-local requests --upgrade
RUN apk add iputils
# add files required to run "make install"
ADD Makefile requirements.txt ./
RUN mkdir -p localstack/utils/kinesis/ && mkdir -p localstack/services/ && \
touch localstack/__init__.py localstack/utils/__init__.py localstack/services/__init__.py localstack/utils/kinesis/__init__.py
ADD localstack/constants.py localstack/config.py localstack/
ADD localstack/services/install.py localstack/services/
ADD localstack/utils/common.py localstack/utils/bootstrap.py localstack/utils/
ADD localstack/utils/kinesis/ localstack/utils/kinesis/
ADD localstack/ext/ localstack/ext/
# install dependencies
RUN make install
# add files required to run "make init"
ADD localstack/package.json localstack/package.json
ADD localstack/services/__init__.py localstack/services/install.py localstack/services/
# initialize installation (downloads remaining dependencies)
RUN make init
# (re-)install web dashboard dependencies (already installed in base image)
ADD localstack/dashboard/web localstack/dashboard/web
RUN make install-web
# install supervisor config file and entrypoint script
ADD bin/supervisord.conf /etc/supervisord.conf
ADD bin/docker-entrypoint.sh /usr/local/bin/
# expose service & web dashboard ports
EXPOSE 4567-4597 8080
# define command at startup
ENTRYPOINT ["docker-entrypoint.sh"]
# expose default environment (required for aws-cli to work)
ENV MAVEN_CONFIG=/opt/code/localstack \
USER=localstack \
PYTHONUNBUFFERED=1
# add rest of the code
ADD localstack/ localstack/
ADD bin/localstack bin/localstack
# fix some permissions and create local user
RUN mkdir -p /.npm && \
mkdir -p localstack/infra/elasticsearch/data && \
mkdir -p localstack/infra/elasticsearch/logs && \
chmod 777 . && \
chmod 755 /root && \
chmod -R 777 /.npm && \
chmod -R 777 localstack/infra/elasticsearch/config && \
chmod -R 777 localstack/infra/elasticsearch/data && \
chmod -R 777 localstack/infra/elasticsearch/logs && \
chmod -R 777 /tmp/localstack && \
adduser -D localstack && \
chown -R localstack:localstack . /tmp/localstack && \
ln -s `pwd` /tmp/localstack_install_dir
# clean up and prepare for squashing the image
RUN pip uninstall -y awscli boto3 botocore localstack_client idna s3transfer
RUN rm -rf /tmp/* /root/.cache /opt/yarn-v1.15.2
RUN ln -s /opt/code/localstack/.venv/bin/aws /usr/bin/aws
ENV PYTHONPATH=/opt/code/localstack/.venv/lib/python3.6/site-packages
# run tests (to verify the build before pushing the image)
ADD tests/ tests/
RUN LAMBDA_EXECUTOR=local make test
Morty Proxy This is a proxified and sanitized view of the page, visit original site.