Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wiki-js
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
wiki-js
Commits
a90dc8d5
Unverified
Commit
a90dc8d5
authored
Feb 28, 2020
by
Lukas Frischknecht
Committed by
GitHub
Feb 28, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
misc: add support for VSCode remote development (#1533)
* Add support for VSCode remote development * misc: remote dev containers fixes Co-authored-by:
Nicolas Giard
<
github@ngpixel.com
>
parent
fba9e005
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
52 additions
and
507 deletions
+52
-507
devcontainer.json
.devcontainer/devcontainer.json
+33
-0
Dockerfile
dev/containers/Dockerfile
+1
-4
config.yml
dev/containers/config.yml
+0
-0
docker-compose.yml
dev/containers/docker-compose.yml
+18
-20
wait.sh
dev/docker-common/wait.sh
+0
-178
Dockerfile
dev/docker-mariadb/Dockerfile
+0
-21
config.yml
dev/docker-mariadb/config.yml
+0
-10
docker-compose.yml
dev/docker-mariadb/docker-compose.yml
+0
-50
init.sh
dev/docker-mariadb/init.sh
+0
-6
Dockerfile
dev/docker-mssql/Dockerfile
+0
-21
config.yml
dev/docker-mssql/config.yml
+0
-10
docker-compose.yml
dev/docker-mssql/docker-compose.yml
+0
-40
init.sh
dev/docker-mssql/init.sh
+0
-6
Dockerfile
dev/docker-mysql/Dockerfile
+0
-21
config.yml
dev/docker-mysql/config.yml
+0
-10
docker-compose.yml
dev/docker-mysql/docker-compose.yml
+0
-50
init.sh
dev/docker-mysql/init.sh
+0
-6
init.sh
dev/docker-postgres/init.sh
+0
-6
Dockerfile
dev/docker-sqlite/Dockerfile
+0
-20
config.yml
dev/docker-sqlite/config.yml
+0
-6
docker-compose.yml
dev/docker-sqlite/docker-compose.yml
+0
-22
No files found.
.devcontainer/devcontainer.json
0 → 100644
View file @
a90dc8d5
//
How
to
get
remote
container
development
working
with
VSCode
:
//
1
.
Install
"Remote Development"
extension
pack
(ms-vscode-remote.vscode-remote-extensionpack)
//
2
.
Select
"Remote Containers - Reopen in container"
{
"name"
:
"Wiki.js"
,
"dockerComposeFile"
:
[
"../dev/containers/docker-compose.yml"
],
"forwardPorts"
:
[
3000
,
3001
],
"service"
:
"wiki"
,
"workspaceFolder"
:
"/wiki"
,
"settings"
:
{
"terminal.integrated.shell.linux"
:
"/bin/bash"
},
"extensions"
:
[
"EditorConfig.editorconfig"
,
"dbaeumer.vscode-eslint"
,
"christian-kohler.path-intellisense"
,
"mrmlnc.vscode-puglint"
,
"octref.vetur"
,
"dzannotti.vscode-babel-coloring"
,
"wayou.vscode-todo-highlight"
,
"visualstudioexptteam.vscodeintellicode"
,
"lukas-tr.materialdesignicons-intellisense"
,
"codezombiech.gitignore"
,
"kumar-harsh.graphql-for-vscode"
,
"mrmlnc.vscode-duplicate"
,
"oderwat.indent-rainbow"
,
"christian-kohler.npm-intellisense"
],
"postCreateCommand"
:
[
"yarn"
,
"install"
]
}
dev/
docker-postgre
s/Dockerfile
→
dev/
container
s/Dockerfile
View file @
a90dc8d5
# -- DEV DOCKERFILE --
# -- DEV DOCKERFILE --
# -- DO NOT USE IN PRODUCTION! --
# -- DO NOT USE IN PRODUCTION! --
FROM
node:1
0
-alpine
FROM
node:1
2
-alpine
LABEL
maintainer "requarks.io"
LABEL
maintainer "requarks.io"
RUN
apk update
&&
\
RUN
apk update
&&
\
...
@@ -9,9 +9,6 @@ RUN apk update && \
...
@@ -9,9 +9,6 @@ RUN apk update && \
mkdir
-p
/wiki
mkdir
-p
/wiki
WORKDIR
/wiki
WORKDIR
/wiki
COPY
package.json .
RUN
yarn
--silent
COPY
./dev/docker-postgres/init.sh ./init.sh
ENV
dockerdev 1
ENV
dockerdev 1
ENV
DEVDB postgres
ENV
DEVDB postgres
...
...
dev/
docker-postgre
s/config.yml
→
dev/
container
s/config.yml
View file @
a90dc8d5
File moved
dev/
docker-postgre
s/docker-compose.yml
→
dev/
container
s/docker-compose.yml
View file @
a90dc8d5
...
@@ -27,40 +27,38 @@ services:
...
@@ -27,40 +27,38 @@ services:
ports
:
ports
:
-
"
3001:8080"
-
"
3001:8080"
solr
:
#
solr:
image
:
solr:7-alpine
#
image: solr:7-alpine
logging
:
#
logging:
driver
:
"
none"
#
driver: "none"
networks
:
#
networks:
-
wikinet
#
- wikinet
ports
:
#
ports:
-
"
8983:8983"
#
- "8983:8983"
volumes
:
#
volumes:
-
solr-data:/opt/solr/server/solr/mycores
#
- solr-data:/opt/solr/server/solr/mycores
entrypoint
:
#
entrypoint:
-
docker-entrypoint.sh
#
- docker-entrypoint.sh
-
solr-precreate
#
- solr-precreate
-
wiki
#
- wiki
wiki
:
wiki
:
build
:
build
:
context
:
.
context
:
.
./..
dockerfile
:
dev/
docker-postgre
s/Dockerfile
dockerfile
:
dev/
container
s/Dockerfile
depends_on
:
depends_on
:
-
db
-
db
-
solr
networks
:
networks
:
-
wikinet
-
wikinet
ports
:
ports
:
-
"
3000:3000"
-
"
3000:3000"
volumes
:
volumes
:
-
.:/wiki
-
.
./..
:/wiki
-
/wiki/node_modules
-
/wiki/node_modules
command
:
[
"
sh"
,
"
./dev/docker-postgres/init.sh"
]
networks
:
networks
:
wikinet
:
wikinet
:
volumes
:
volumes
:
db-data
:
db-data
:
solr-data
:
#
solr-data:
dev/docker-common/wait.sh
deleted
100644 → 0
View file @
fba9e005
#!/usr/bin/env bash
# Use this script to test if a given TCP host/port are available
WAITFORIT_cmdname
=
${
0
##*/
}
echoerr
()
{
if
[[
$WAITFORIT_QUIET
-ne
1
]]
;
then
echo
"
$@
"
1>&2
;
fi
}
usage
()
{
cat
<<
USAGE
>&2
Usage:
$WAITFORIT_cmdname
host:port [-s] [-t timeout] [-- command args]
-h HOST | --host=HOST Host or IP under test
-p PORT | --port=PORT TCP port under test
Alternatively, you specify the host and port as host:port
-s | --strict Only execute subcommand if the test succeeds
-q | --quiet Don't output any status messages
-t TIMEOUT | --timeout=TIMEOUT
Timeout in seconds, zero for no timeout
-- COMMAND ARGS Execute command with args after the test finishes
USAGE
exit
1
}
wait_for
()
{
if
[[
$WAITFORIT_TIMEOUT
-gt
0
]]
;
then
echoerr
"
$WAITFORIT_cmdname
: waiting
$WAITFORIT_TIMEOUT
seconds for
$WAITFORIT_HOST
:
$WAITFORIT_PORT
"
else
echoerr
"
$WAITFORIT_cmdname
: waiting for
$WAITFORIT_HOST
:
$WAITFORIT_PORT
without a timeout"
fi
WAITFORIT_start_ts
=
$(
date
+%s
)
while
:
do
if
[[
$WAITFORIT_ISBUSY
-eq
1
]]
;
then
nc
-z
$WAITFORIT_HOST
$WAITFORIT_PORT
WAITFORIT_result
=
$?
else
(
echo
>
/dev/tcp/
$WAITFORIT_HOST
/
$WAITFORIT_PORT
)
>
/dev/null 2>&1
WAITFORIT_result
=
$?
fi
if
[[
$WAITFORIT_result
-eq
0
]]
;
then
WAITFORIT_end_ts
=
$(
date
+%s
)
echoerr
"
$WAITFORIT_cmdname
:
$WAITFORIT_HOST
:
$WAITFORIT_PORT
is available after
$((
WAITFORIT_end_ts
-
WAITFORIT_start_ts
))
seconds"
break
fi
sleep
1
done
return
$WAITFORIT_result
}
wait_for_wrapper
()
{
# In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692
if
[[
$WAITFORIT_QUIET
-eq
1
]]
;
then
timeout
$WAITFORIT_BUSYTIMEFLAG
$WAITFORIT_TIMEOUT
$0
--quiet
--child
--host
=
$WAITFORIT_HOST
--port
=
$WAITFORIT_PORT
--timeout
=
$WAITFORIT_TIMEOUT
&
else
timeout
$WAITFORIT_BUSYTIMEFLAG
$WAITFORIT_TIMEOUT
$0
--child
--host
=
$WAITFORIT_HOST
--port
=
$WAITFORIT_PORT
--timeout
=
$WAITFORIT_TIMEOUT
&
fi
WAITFORIT_PID
=
$!
trap
"kill -INT -
$WAITFORIT_PID
"
INT
wait
$WAITFORIT_PID
WAITFORIT_RESULT
=
$?
if
[[
$WAITFORIT_RESULT
-ne
0
]]
;
then
echoerr
"
$WAITFORIT_cmdname
: timeout occurred after waiting
$WAITFORIT_TIMEOUT
seconds for
$WAITFORIT_HOST
:
$WAITFORIT_PORT
"
fi
return
$WAITFORIT_RESULT
}
# process arguments
while
[[
$#
-gt
0
]]
do
case
"
$1
"
in
*
:
*
)
WAITFORIT_hostport
=(
${
1
//
:/
}
)
WAITFORIT_HOST
=
${
WAITFORIT_hostport
[0]
}
WAITFORIT_PORT
=
${
WAITFORIT_hostport
[1]
}
shift
1
;;
--child
)
WAITFORIT_CHILD
=
1
shift
1
;;
-q
|
--quiet
)
WAITFORIT_QUIET
=
1
shift
1
;;
-s
|
--strict
)
WAITFORIT_STRICT
=
1
shift
1
;;
-h
)
WAITFORIT_HOST
=
"
$2
"
if
[[
$WAITFORIT_HOST
==
""
]]
;
then
break
;
fi
shift
2
;;
--host
=
*
)
WAITFORIT_HOST
=
"
${
1
#*=
}
"
shift
1
;;
-p
)
WAITFORIT_PORT
=
"
$2
"
if
[[
$WAITFORIT_PORT
==
""
]]
;
then
break
;
fi
shift
2
;;
--port
=
*
)
WAITFORIT_PORT
=
"
${
1
#*=
}
"
shift
1
;;
-t
)
WAITFORIT_TIMEOUT
=
"
$2
"
if
[[
$WAITFORIT_TIMEOUT
==
""
]]
;
then
break
;
fi
shift
2
;;
--timeout
=
*
)
WAITFORIT_TIMEOUT
=
"
${
1
#*=
}
"
shift
1
;;
--
)
shift
WAITFORIT_CLI
=(
"
$@
"
)
break
;;
--help
)
usage
;;
*
)
echoerr
"Unknown argument:
$1
"
usage
;;
esac
done
if
[[
"
$WAITFORIT_HOST
"
==
""
||
"
$WAITFORIT_PORT
"
==
""
]]
;
then
echoerr
"Error: you need to provide a host and port to test."
usage
fi
WAITFORIT_TIMEOUT
=
${
WAITFORIT_TIMEOUT
:-
15
}
WAITFORIT_STRICT
=
${
WAITFORIT_STRICT
:-
0
}
WAITFORIT_CHILD
=
${
WAITFORIT_CHILD
:-
0
}
WAITFORIT_QUIET
=
${
WAITFORIT_QUIET
:-
0
}
# check to see if timeout is from busybox?
WAITFORIT_TIMEOUT_PATH
=
$(
type
-p
timeout
)
WAITFORIT_TIMEOUT_PATH
=
$(
realpath
$WAITFORIT_TIMEOUT_PATH
2>/dev/null
||
readlink
-f
$WAITFORIT_TIMEOUT_PATH
)
if
[[
$WAITFORIT_TIMEOUT_PATH
=
~
"busybox"
]]
;
then
WAITFORIT_ISBUSY
=
1
WAITFORIT_BUSYTIMEFLAG
=
"-t"
else
WAITFORIT_ISBUSY
=
0
WAITFORIT_BUSYTIMEFLAG
=
""
fi
if
[[
$WAITFORIT_CHILD
-gt
0
]]
;
then
wait_for
WAITFORIT_RESULT
=
$?
exit
$WAITFORIT_RESULT
else
if
[[
$WAITFORIT_TIMEOUT
-gt
0
]]
;
then
wait_for_wrapper
WAITFORIT_RESULT
=
$?
else
wait_for
WAITFORIT_RESULT
=
$?
fi
fi
if
[[
$WAITFORIT_CLI
!=
""
]]
;
then
if
[[
$WAITFORIT_RESULT
-ne
0
&&
$WAITFORIT_STRICT
-eq
1
]]
;
then
echoerr
"
$WAITFORIT_cmdname
: strict mode, refusing to execute subprocess"
exit
$WAITFORIT_RESULT
fi
exec
"
${
WAITFORIT_CLI
[@]
}
"
else
exit
$WAITFORIT_RESULT
fi
dev/docker-mariadb/Dockerfile
deleted
100644 → 0
View file @
fba9e005
# -- DEV DOCKERFILE --
# -- DO NOT USE IN PRODUCTION! --
FROM
node:10-alpine
LABEL
maintainer "requarks.io"
RUN
apk update
&&
\
apk add bash curl git python make g++ nano openssh gnupg
--no-cache
&&
\
mkdir
-p
/wiki
WORKDIR
/wiki
COPY
package.json .
RUN
yarn
--silent
COPY
./dev/docker-mariadb/init.sh ./init.sh
ENV
dockerdev 1
ENV
DEVDB mariadb
EXPOSE
3000
CMD
["tail", "-f", "/dev/null"]
dev/docker-mariadb/config.yml
deleted
100644 → 0
View file @
fba9e005
port
:
3000
bindIP
:
0.0.0.0
db
:
type
:
mariadb
host
:
db
port
:
3306
user
:
wikijs
pass
:
wikijsrocks
db
:
wiki
logLevel
:
info
dev/docker-mariadb/docker-compose.yml
deleted
100644 → 0
View file @
fba9e005
# -- DEV DOCKER-COMPOSE --
# -- DO NOT USE IN PRODUCTION! --
version
:
"
3"
services
:
db
:
image
:
mariadb:10.3
environment
:
MYSQL_DATABASE
:
wiki
MYSQL_PASSWORD
:
wikijsrocks
MYSQL_USER
:
wikijs
MYSQL_ROOT_PASSWORD
:
wikijsrocks
logging
:
driver
:
"
none"
volumes
:
-
db-data:/var/lib/mysql
networks
:
-
wikinet
ports
:
-
"
13306:3306"
adminer
:
image
:
adminer:latest
logging
:
driver
:
"
none"
networks
:
-
wikinet
ports
:
-
"
3001:8080"
wiki
:
build
:
context
:
.
dockerfile
:
dev/docker-mariadb/Dockerfile
depends_on
:
-
db
networks
:
-
wikinet
ports
:
-
"
3000:3000"
volumes
:
-
.:/wiki
-
/wiki/node_modules
command
:
[
"
sh"
,
"
./dev/docker-mariadb/init.sh"
]
networks
:
wikinet
:
volumes
:
db-data
:
dev/docker-mariadb/init.sh
deleted
100644 → 0
View file @
fba9e005
#!/bin/sh
echo
"Waiting for mariadb to start up..."
bash ./dev/docker-common/wait.sh db:3306
echo
"=== READY ==="
tail
-f
/dev/null
dev/docker-mssql/Dockerfile
deleted
100644 → 0
View file @
fba9e005
# -- DEV DOCKERFILE --
# -- DO NOT USE IN PRODUCTION! --
FROM
node:10-alpine
LABEL
maintainer "requarks.io"
RUN
apk update
&&
\
apk add bash curl git python make g++ nano openssh gnupg
--no-cache
&&
\
mkdir
-p
/wiki
WORKDIR
/wiki
COPY
package.json .
RUN
yarn
--silent
COPY
./dev/docker-mssql/init.sh ./init.sh
ENV
dockerdev 1
ENV
DEVDB mssql
EXPOSE
3000
CMD
["tail", "-f", "/dev/null"]
dev/docker-mssql/config.yml
deleted
100644 → 0
View file @
fba9e005
port
:
3000
bindIP
:
0.0.0.0
db
:
type
:
mssql
host
:
db
port
:
1433
user
:
SA
pass
:
W1kiJSR0cks!
db
:
wiki
logLevel
:
info
dev/docker-mssql/docker-compose.yml
deleted
100644 → 0
View file @
fba9e005
# -- DEV DOCKER-COMPOSE --
# -- DO NOT USE IN PRODUCTION! --
version
:
"
3"
services
:
db
:
image
:
mcr.microsoft.com/mssql/server:2017-latest
environment
:
ACCEPT_EULA
:
'
Y'
MSSQL_PID
:
Developer
SA_PASSWORD
:
W1kiJSR0cks!
logging
:
driver
:
"
none"
volumes
:
-
db-data:/var/opt/mssql
networks
:
-
wikinet
ports
:
-
"
11433:1433"
wiki
:
build
:
context
:
.
dockerfile
:
dev/docker-mssql/Dockerfile
depends_on
:
-
db
networks
:
-
wikinet
ports
:
-
"
3000:3000"
volumes
:
-
.:/wiki
-
/wiki/node_modules
command
:
[
"
sh"
,
"
./dev/docker-mssql/init.sh"
]
networks
:
wikinet
:
volumes
:
db-data
:
dev/docker-mssql/init.sh
deleted
100644 → 0
View file @
fba9e005
#!/bin/sh
echo
"Waiting for mssql to start up..."
bash ./dev/docker-common/wait.sh db:1433
echo
"=== READY ==="
tail
-f
/dev/null
dev/docker-mysql/Dockerfile
deleted
100644 → 0
View file @
fba9e005
# -- DEV DOCKERFILE --
# -- DO NOT USE IN PRODUCTION! --
FROM
node:10-alpine
LABEL
maintainer "requarks.io"
RUN
apk update
&&
\
apk add bash curl git python make g++ nano openssh gnupg
--no-cache
&&
\
mkdir
-p
/wiki
WORKDIR
/wiki
COPY
package.json .
RUN
yarn
--silent
COPY
./dev/docker-mysql/init.sh ./init.sh
ENV
dockerdev 1
ENV
DEVDB mysql
EXPOSE
3000
CMD
["tail", "-f", "/dev/null"]
dev/docker-mysql/config.yml
deleted
100644 → 0
View file @
fba9e005
port
:
3000
bindIP
:
0.0.0.0
db
:
type
:
mysql
host
:
db
port
:
3306
user
:
wikijs
pass
:
wikijsrocks
db
:
wiki
logLevel
:
info
dev/docker-mysql/docker-compose.yml
deleted
100644 → 0
View file @
fba9e005
# -- DEV DOCKER-COMPOSE --
# -- DO NOT USE IN PRODUCTION! --
version
:
"
3"
services
:
db
:
image
:
mysql:5.7
environment
:
MYSQL_DATABASE
:
wiki
MYSQL_PASSWORD
:
wikijsrocks
MYSQL_USER
:
wikijs
MYSQL_ROOT_PASSWORD
:
wikijsrocks
logging
:
driver
:
"
none"
volumes
:
-
db-data:/var/lib/mysql
networks
:
-
wikinet
ports
:
-
"
13306:3306"
adminer
:
image
:
adminer:latest
logging
:
driver
:
"
none"
networks
:
-
wikinet
ports
:
-
"
3001:8080"
wiki
:
build
:
context
:
.
dockerfile
:
dev/docker-mysql/Dockerfile
depends_on
:
-
db
networks
:
-
wikinet
ports
:
-
"
3000:3000"
volumes
:
-
.:/wiki
-
/wiki/node_modules
command
:
[
"
sh"
,
"
./dev/docker-mysql/init.sh"
]
networks
:
wikinet
:
volumes
:
db-data
:
dev/docker-mysql/init.sh
deleted
100644 → 0
View file @
fba9e005
#!/bin/sh
echo
"Waiting for mysql to start up..."
bash ./dev/docker-common/wait.sh db:3306
echo
"=== READY ==="
tail
-f
/dev/null
dev/docker-postgres/init.sh
deleted
100644 → 0
View file @
fba9e005
#!/bin/sh
echo
"Waiting for postgres to start up..."
bash ./dev/docker-common/wait.sh db:5432
echo
"=== READY ==="
tail
-f
/dev/null
dev/docker-sqlite/Dockerfile
deleted
100644 → 0
View file @
fba9e005
# -- DEV DOCKERFILE --
# -- DO NOT USE IN PRODUCTION! --
FROM
node:10-alpine
LABEL
maintainer "requarks.io"
RUN
apk update
&&
\
apk add bash curl git python make g++ nano openssh gnupg sqlite
--no-cache
&&
\
mkdir
-p
/wiki
WORKDIR
/wiki
COPY
package.json .
RUN
yarn
--silent
ENV
dockerdev 1
ENV
DEVDB sqlite
EXPOSE
3000
CMD
["tail", "-f", "/dev/null"]
dev/docker-sqlite/config.yml
deleted
100644 → 0
View file @
fba9e005
port
:
3000
bindIP
:
0.0.0.0
db
:
type
:
sqlite
storage
:
/wiki/db.sqlite
logLevel
:
info
dev/docker-sqlite/docker-compose.yml
deleted
100644 → 0
View file @
fba9e005
# -- DEV DOCKER-COMPOSE --
# -- DO NOT USE IN PRODUCTION! --
version
:
"
3"
services
:
wiki
:
build
:
context
:
.
dockerfile
:
dev/docker-sqlite/Dockerfile
networks
:
-
wikinet
ports
:
-
"
3000:3000"
volumes
:
-
.:/wiki
-
/wiki/node_modules
networks
:
wikinet
:
volumes
:
db-data
:
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment