-
Notifications
You must be signed in to change notification settings - Fork 287
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
336 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{ | ||
"shell": { | ||
"git": "git", | ||
"build-base": "docker-compose build base", | ||
"build-dev": "docker-compose build webapp", | ||
"compose": "docker-compose", | ||
"db": "docker-compose run --rm webapp /home/pootle/pootle_env/src/pootle/docker/bin/run_pootle db", | ||
"pootle": "docker-compose run --rm webapp /home/pootle/pootle_env/src/pootle/docker/bin/run_pootle pootle", | ||
"shell": "docker-compose run --rm webapp /home/pootle/pootle_env/src/pootle/docker/bin/run_pootle shell", | ||
"runserver": "docker-compose run --rm webapp /home/pootle/pootle_env/src/pootle/docker/bin/run_pootle" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# docker-compose for Pootle development. | ||
# | ||
# Note: Requires docker-compose 1.10+. | ||
version: "2" | ||
services: | ||
# Pootle base image | ||
# This image handles user creation and permissions, so that code can be | ||
# shared from your local folder into the docker container. | ||
base: | ||
build: | ||
context: ./docker/base | ||
image: local/pootle:base | ||
|
||
# Webapp app | ||
webapp: | ||
build: | ||
context: ./docker/dev | ||
image: local/pootle:dev | ||
networks: | ||
- pootle-bridge | ||
env_file: | ||
- docker/dev/webapp.env | ||
environment: | ||
- LOCAL_USER_ID=1000 | ||
depends_on: | ||
- mariadb | ||
- redis | ||
command: ["/home/pootle/pootle_env/src/pootle/docker/bin/run_pootle", "server"] | ||
ports: | ||
- "8000:8000" | ||
volumes: | ||
- .:/home/pootle/pootle_env/src/pootle | ||
|
||
mariadb: | ||
image: mariadb | ||
restart: always | ||
networks: | ||
- pootle-bridge | ||
environment: | ||
MYSQL_ROOT_PASSWORD: CHANGEME | ||
MYSQL_DATABASE: pootledb | ||
MYSQL_USER: pootle | ||
MYSQL_PASSWORD: CHANGEME | ||
|
||
redis: | ||
image: redis | ||
restart: always | ||
networks: | ||
- pootle-bridge | ||
|
||
|
||
networks: | ||
pootle-bridge: | ||
driver: bridge |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# translate/pootle:dev-base | ||
# | ||
# VERSION 0.0.1 | ||
|
||
FROM debian:stretch | ||
|
||
MAINTAINER Ryan Northey <ryan@synca.io> | ||
|
||
ENV DEBIAN_FRONTEND=noninteractive \ | ||
INSTALL_DIR=~/pootle_env \ | ||
POOTLE_PKG='-e git://github.com/translate/pootle#egg=pootle' | ||
|
||
ENV POOTLE_LOG_DIR="$INSTALL_DIR/var/logs" \ | ||
POOTLE_DB_DIR="$INSTALL_DIR/var/db" | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y \ | ||
build-essential \ | ||
coreutils \ | ||
curl \ | ||
git \ | ||
libjpeg-dev \ | ||
libfreetype6-dev \ | ||
liblcms2-dev \ | ||
libmariadbclient-dev-compat \ | ||
libtiff5-dev \ | ||
libwebp-dev \ | ||
libxml2-dev \ | ||
libxslt-dev \ | ||
locales \ | ||
python-pip \ | ||
python-dev \ | ||
sudo \ | ||
zlib1g-dev \ | ||
&& apt-get clean \ | ||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \ | ||
&& echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ | ||
&& locale-gen \ | ||
&& update-locale LANG=en_US.UTF-8 \ | ||
&& pip install virtualenv \ | ||
&& groupadd -r pootle \ | ||
&& useradd \ | ||
-m \ | ||
-d /home/pootle \ | ||
-k /etc/skel \ | ||
-s /bin/bash \ | ||
-g pootle \ | ||
pootle | ||
|
||
RUN gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 | ||
RUN curl -o /usr/local/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/1.10/gosu-$(dpkg --print-architecture | awk -F- '{ print $NF }')" \ | ||
&& curl -o /usr/local/bin/gosu.asc -SL "https://github.com/tianon/gosu/releases/download/1.10/gosu-$(dpkg --print-architecture | awk -F- '{ print $NF }').asc" \ | ||
&& gpg --verify /usr/local/bin/gosu.asc \ | ||
&& rm /usr/local/bin/gosu.asc \ | ||
&& chmod +x /usr/local/bin/gosu | ||
|
||
COPY ./entrypoint.sh /usr/local/bin/entrypoint.sh | ||
|
||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] | ||
|
||
|
||
EXPOSE 8000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#!/bin/bash | ||
|
||
# Add local user | ||
# Either use the LOCAL_USER_ID if passed in at runtime or | ||
# fallback | ||
|
||
USER_ID=${LOCAL_USER_ID:-10001} | ||
|
||
echo "Starting with UID : $USER_ID" | ||
usermod -o -u $USER_ID pootle | ||
export HOME=/home/pootle | ||
exec /usr/local/bin/gosu pootle "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
&& /etc/init.d/mysql start \ | ||
&& mysql -e "\ | ||
CREATE DATABASE pootledb \ | ||
CHARACTER SET utf8 \ | ||
DEFAULT COLLATE utf8_general_ci; \ | ||
GRANT ALL PRIVILEGES ON pootledb.* \ | ||
TO pootle@localhost \ | ||
IDENTIFIED BY 'CHANGEME'; \ | ||
FLUSH PRIVILEGES;" \ | ||
&& mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql \ | ||
&& /etc/init.d/redis-server start \ | ||
&& sudo -u pootle \ | ||
bash -c "\ | ||
mkdir -p $INSTALL_DIR \ | ||
&& cd $INSTALL_DIR \ | ||
&& virtualenv . \ | ||
&& . bin/activate \ | ||
&& mkdir -p ~/.pootle \ | ||
&& mkdir -p $POOTLE_LOG_DIR \ | ||
&& mkdir -p $POOTLE_DB_DIR \ | ||
&& pip install \ | ||
MySQL-python \ | ||
$POOTLE_PKG \ | ||
&& pootle init \ | ||
--db=mysql \ | ||
&& echo 'DEBUG = True' \ | ||
>> /home/pootle/pootle_env/pootle.conf" \ | ||
&& /etc/init.d/redis-server stop \ | ||
&& /etc/init.d/mysql stop | ||
|
||
|
||
|
||
CMD (if [ ! -z "$USERID" ]; \ | ||
then \ | ||
usermod -u "$USERID" pootle; \ | ||
fi) \ | ||
&& sudo -u pootle \ | ||
/bin/bash -c "bash --rcfile <(echo \"\ | ||
cd $INSTALL_DIR \ | ||
&& . bin/activate \ | ||
&& cd src/pootle \ | ||
&& pip install -e . \ | ||
&& (if [ ! -e "$INSTALL_DIR/src/pootle/pootle/static/js/node_modules" ]; \ | ||
then \ | ||
cd $INSTALL_DIR/src/pootle/pootle/static/js/ \ | ||
&& npm install \ | ||
&& cd $INSTALL_DIR; \ | ||
fi) \ | ||
&& (pootle rqworker &) \ | ||
&& (pootle webpack --dev &) \")" \ | ||
&& /etc/init.d/redis-server stop \ | ||
&& /etc/init.d/mysql stop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
#!/bin/bash | ||
|
||
if [ "$1" == "drop" ]; then | ||
cd /home/pootle/pootle_env \ | ||
&& . bin/activate \ | ||
&& cd src/pootle \ | ||
&& pip install -e . \ | ||
&& echo 'Dropping pootle db' \ | ||
&& echo 'drop database pootledb' | pootle dbshell; | ||
fi | ||
|
||
|
||
if [ "$1" == "create" ]; then | ||
cd /home/pootle/pootle_env \ | ||
&& . bin/activate \ | ||
&& cd src/pootle \ | ||
&& pip install -e . \ | ||
&& echo 'Creating pootle db' \ | ||
&& echo 'CREATE DATABASE pootledb CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;' | mysql -h mariadb -u root -p; | ||
fi | ||
|
||
|
||
if [ "$1" == "show" ]; then | ||
cd /home/pootle/pootle_env \ | ||
&& . bin/activate \ | ||
&& cd src/pootle \ | ||
&& pip install -e . \ | ||
&& echo 'Listing dbs' \ | ||
&& echo 'show databases;' | pootle dbshell; | ||
fi | ||
|
||
|
||
if [ "$1" == "load" ]; then | ||
cd /home/pootle/pootle_env \ | ||
&& . bin/activate \ | ||
&& cd src/pootle \ | ||
&& pip install -e . \ | ||
&& echo "Loading db $2" \ | ||
&& mysql -h mariadb -u root -p pootledb < "/home/pootle/pootle_env/src/pootle/$2" | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
#!/bin/bash | ||
|
||
# Prepares then runs the webapp. | ||
|
||
cd /home/pootle/pootle_env \ | ||
&& /bin/bash -c "bash --rcfile <(echo \"\ | ||
cd $INSTALL_DIR \ | ||
&& . bin/activate \ | ||
&& cd src/pootle \ | ||
&& pip install -e . \ | ||
&& . ~/.nvm/nvm.sh \ | ||
&& nvm use node \ | ||
&& (if [ ! -e "$INSTALL_DIR/src/pootle/pootle/static/js/node_modules" ]; \ | ||
then \ | ||
cd $INSTALL_DIR/src/pootle/pootle/static/js/ \ | ||
&& npm install \ | ||
&& cd $INSTALL_DIR; \ | ||
fi) \ | ||
&& (pootle webpack --dev &) \")" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/bash | ||
|
||
# Runs commands in container | ||
|
||
case "$1" in | ||
"shell") | ||
echo 'Running shell' | ||
/home/pootle/pootle_env/src/pootle/docker/bin/run_interactive;; | ||
"db") | ||
echo 'Running db command' | ||
/home/pootle/pootle_env/src/pootle/docker/bin/run_db "${@:2}";; | ||
"pootle") | ||
echo 'Running pootle command' | ||
/home/pootle/pootle_env/src/pootle/docker/bin/run_shell "${@:2}";; | ||
*) | ||
echo 'Running server' | ||
/home/pootle/pootle_env/src/pootle/docker/bin/run_shell "runserver 0.0.0.0:8000";; | ||
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/bin/bash | ||
|
||
# Runs pootle command | ||
|
||
cd /home/pootle/pootle_env \ | ||
&& /bin/bash -c " | ||
cd $INSTALL_DIR \ | ||
&& . bin/activate \ | ||
&& cd src/pootle \ | ||
&& pip install -e . \ | ||
&& . ~/.nvm/nvm.sh \ | ||
&& nvm use node \ | ||
&& (if [ ! -e "$INSTALL_DIR/src/pootle/pootle/static/js/node_modules" ]; \ | ||
then \ | ||
cd $INSTALL_DIR/src/pootle/pootle/static/js/ \ | ||
&& npm install \ | ||
&& cd $INSTALL_DIR; \ | ||
fi) \ | ||
&& pootle revision --restore \ | ||
&& pootle $@ " |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# translate/pootle:dev | ||
# | ||
# VERSION 0.0.1 | ||
|
||
FROM local/pootle:base | ||
|
||
MAINTAINER Ryan Northey <ryan@synca.io> | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y \ | ||
mariadb-client \ | ||
&& apt-get clean \ | ||
&& sudo -u pootle \ | ||
bash -c "\ | ||
mkdir -p $INSTALL_DIR \ | ||
&& cd $INSTALL_DIR \ | ||
&& virtualenv . \ | ||
&& . bin/activate \ | ||
&& mkdir -p ~/.pootle \ | ||
&& mkdir -p $POOTLE_LOG_DIR \ | ||
&& mkdir -p $POOTLE_DB_DIR \ | ||
&& curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash \ | ||
&& . ~/.nvm/nvm.sh \ | ||
&& nvm install node \ | ||
&& pip install \ | ||
MySQL-python \ | ||
$POOTLE_PKG \ | ||
&& pootle init \ | ||
--db=mysql \ | ||
&& echo 'CACHES[\"default\"][\"LOCATION\"] = \"redis://redis:6379/1\"' \ | ||
>> /home/pootle/pootle_env/pootle.conf \ | ||
&& echo 'CACHES[\"redis\"][\"LOCATION\"] = \"redis://redis:6379/2\"' \ | ||
>> /home/pootle/pootle_env/pootle.conf \ | ||
&& echo 'CACHES[\"lru\"][\"LOCATION\"] = \"redis://redis:6379/3\"' \ | ||
>> /home/pootle/pootle_env/pootle.conf \ | ||
&& echo 'DATABASES[\"default\"][\"HOST\"] = \"mariadb\"' \ | ||
>> /home/pootle/pootle_env/pootle.conf \ | ||
&& echo 'DATABASES[\"default\"][\"PASSWORD\"] = \"CHANGEME\"' \ | ||
>> /home/pootle/pootle_env/pootle.conf \ | ||
&& echo 'DEBUG = True' \ | ||
>> /home/pootle/pootle_env/pootle.conf" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
SECRET_KEY=insert_random_key | ||
DJANGO_DEV=True | ||
DJANGO_DEBUG=True | ||
SITE_URL=http://localhost:8000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters