Browse Source

Add automated dev setup using Gitpod

tags/v1.3.0-rc.1
Jan Keromnes Chocobozzz 1 year ago
parent
commit
0cfcbae818
7 changed files with 53 additions and 4 deletions
  1. +8
    -2
      .github/CONTRIBUTING.md
  2. +16
    -0
      .gitpod.yml
  3. +10
    -0
      client/proxy.config.json
  4. +1
    -1
      client/src/environments/environment.hmr.ts
  5. +1
    -1
      scripts/watch/client.sh
  6. +11
    -0
      support/docker/gitpod/Dockerfile
  7. +6
    -0
      support/docker/gitpod/setup_postgres.sql

+ 8
- 2
.github/CONTRIBUTING.md View File

@@ -57,8 +57,8 @@ before you start working on them :).

First, you should use a server or PC with at least 4GB of RAM. Less RAM may lead to crashes.

Make sure that you have followed
[the steps](/support/doc/dependencies.md)
Make sure that you have followed
[the steps](/support/doc/dependencies.md)
to install the dependencies.

Then clone the sources and install node modules:
@@ -93,6 +93,12 @@ $ sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_dev

In dev mode, administrator username is **root** and password is **test**.

### Online development

You can get a complete PeerTube development setup with Gitpod, a free one-click online IDE for GitHub:

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Chocobozzz/PeerTube)

### Server side

You can find a documentation of the server code/architecture [here](/support/doc/development/server/code.md).


+ 16
- 0
.gitpod.yml View File

@@ -0,0 +1,16 @@
image:
file: support/docker/gitpod/Dockerfile
ports:
- port: 3000
onOpen: open-preview
- port: 5432
onOpen: ignore
- port: 6379
onOpen: ignore
- port: 9000
onOpen: ignore
tasks:
- command: redis-server
- before: export NODE_CONFIG="{\"import\":{\"videos\":{\"torrent\":{\"enabled\":false}}},\"webserver\":{\"hostname\":\"$(gp url 3000 | cut -d/ -f3)\",\"port\":\"443\",\"https\":true}}"
init: yarn install --pure-lockfile
command: npm run dev

+ 10
- 0
client/proxy.config.json View File

@@ -0,0 +1,10 @@
{
"/api": {
"target": "http://localhost:9000",
"secure": false
},
"/static": {
"target": "http://localhost:9000",
"secure": false
}
}

+ 1
- 1
client/src/environments/environment.hmr.ts View File

@@ -1,5 +1,5 @@
export const environment = {
production: false,
hmr: true,
apiUrl: 'http://localhost:9000'
apiUrl: ''
}

+ 1
- 1
scripts/watch/client.sh View File

@@ -4,4 +4,4 @@ set -eu

cd client

npm run ng -- serve --hmr --configuration hmr --host 0.0.0.0 --disable-host-check --port 3000
npm run ng -- serve --proxy-config proxy.config.json --hmr --configuration hmr --host 0.0.0.0 --disable-host-check --port 3000

+ 11
- 0
support/docker/gitpod/Dockerfile View File

@@ -0,0 +1,11 @@
FROM gitpod/workspace-postgres

# Install PeerTube's dependencies.
RUN sudo apt-get update -q && sudo apt-get install -qy \
ffmpeg \
openssl \
redis-server

# Set up PostgreSQL.
COPY --chown=gitpod:gitpod setup_postgres.sql /tmp/
RUN pg_start && psql -h localhost -d postgres --file=/tmp/setup_postgres.sql

+ 6
- 0
support/docker/gitpod/setup_postgres.sql View File

@@ -0,0 +1,6 @@
create database peertube_dev;
create user peertube password 'peertube';
grant all privileges on database peertube_dev to peertube;
\c peertube_dev
CREATE EXTENSION pg_trgm;
CREATE EXTENSION unaccent;

Loading…
Cancel
Save