17 Commits

Author SHA1 Message Date
Miguel Serrano
828b0668cd test 2021-11-03 16:05:22 +01:00
Miguel Serrano
8fa7932b71 test 2021-11-03 16:05:07 +01:00
Miguel Serrano
1a654a2c32 wip 2021-10-20 10:09:31 +02:00
Miguel Serrano
742226a5ea wip 2021-10-20 08:19:55 +02:00
Miguel Serrano
68ea4b3da3 wip 2021-10-20 08:13:53 +02:00
Miguel Serrano
32d27fe95e wip 2021-10-20 07:54:06 +02:00
Miguel Serrano
2a7c510241 wip 2021-10-20 07:46:49 +02:00
Miguel Serrano
76e269f784 wip 2021-10-20 07:42:46 +02:00
Miguel Serrano
cc71cebf67 wip 2021-10-20 07:42:36 +02:00
Miguel Serrano
22efbc38dd wip 2021-10-20 07:39:30 +02:00
Miguel Serrano
75ab035918 wip 2021-10-20 07:26:31 +02:00
Miguel Serrano
1f224d7265 wip 2021-10-20 07:24:28 +02:00
Miguel Serrano
5b583822c3 wip 2021-10-20 06:58:29 +02:00
Miguel Serrano
9ab0514039 wip 2021-10-20 06:40:14 +02:00
Miguel Serrano
2663c8db07 added codespace 2021-10-19 11:48:17 +02:00
Miguel Serrano
19236edc3c added codespace 2021-10-19 11:46:11 +02:00
Miguel Serrano
fe65fb7138 added codespace 2021-10-19 11:29:18 +02:00
4 changed files with 108 additions and 0 deletions

41
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1,41 @@
FROM ubuntu:20.04
# Makes sure LuaTex cache is writable
# -----------------------------------
ENV TEXMFVAR=/var/lib/sharelatex/tmp/texmf-var
# Install dependencies
# --------------------
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y \
build-essential wget net-tools unzip time imagemagick optipng strace nginx git python zlib1g-dev libpcre3-dev \
qpdf \
aspell aspell-en aspell-af aspell-am aspell-ar aspell-ar-large aspell-bg aspell-bn aspell-br aspell-ca aspell-cs aspell-cy aspell-da aspell-de aspell-el aspell-eo aspell-es aspell-et aspell-eu-es aspell-fa aspell-fo aspell-fr aspell-ga aspell-gl-minimos aspell-gu aspell-he aspell-hi aspell-hr aspell-hsb aspell-hu aspell-hy aspell-id aspell-is aspell-it aspell-kk aspell-kn aspell-ku aspell-lt aspell-lv aspell-ml aspell-mr aspell-nl aspell-nr aspell-ns aspell-pa aspell-pl aspell-pt aspell-pt-br aspell-ro aspell-ru aspell-sk aspell-sl aspell-ss aspell-st aspell-sv aspell-tl aspell-tn aspell-ts aspell-uk aspell-uz aspell-xh aspell-zu \
\
# install Node.JS 12
&& curl -sSL https://deb.nodesource.com/setup_12.x | bash - \
&& apt-get install -y nodejs \
\
&& rm -rf \
# We are adding a custom nginx config in the main Dockerfile.
/etc/nginx/nginx.conf \
/etc/nginx/sites-enabled/default \
/var/lib/apt/lists/*
# Add envsubst
# ------------
ADD server-ce/vendor/envsubst /usr/bin/envsubst
RUN chmod +x /usr/bin/envsubst
# Install TexLive
# ---------------
# Skipped!
# Set up sharelatex user and home directory
# -----------------------------------------
RUN mkdir -p /var/lib/sharelatex && \
mkdir -p /var/log/sharelatex && \
mkdir -p /var/lib/sharelatex/data/template_files

View File

@@ -0,0 +1,17 @@
{
"name": "Overleaf Community Edition Codespace",
"dockerComposeFile": "docker-compose.dev.yml",
"service": "sharelatex",
"workspaceFolder": "/var/www/sharelatex",
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
"extensions": [
"ms-azuretools.vscode-docker",
],
"forwardPorts": [80]
}

View File

@@ -0,0 +1,37 @@
version: '2.2'
services:
sharelatex:
build:
context: ../
dockerfile: .devcontainer/Dockerfile
entrypoint: "echo hola!"
depends_on:
mongo:
condition: service_healthy
redis:
condition: service_started
ports:
- 80:80
links:
- mongo
- redis
environment:
SHARELATEX_APP_NAME: Overleaf CE Codebase Dev Environment
SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
SHARELATEX_REDIS_HOST: redis
REDIS_HOST: redis
ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
ENABLE_CONVERSIONS: 'true'
EMAIL_CONFIRMATION_DISABLED: 'true'
mongo:
restart: always
image: mongo:4.2
healthcheck:
test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
interval: 10s
timeout: 10s
retries: 5
redis:
image: redis:5

View File

@@ -35,6 +35,19 @@ switch (process.argv.pop()) {
console.log('popd')
}
break
case 'install-dev':
for (const service of services) {
console.log('pushd', service.name)
switch (service.name) {
case 'web':
console.log('npm install')
break
default:
console.log('npm install')
}
console.log('popd')
}
break
case 'compile':
for (const service of services) {
console.log('pushd', service.name)