Skip to content

Commit

Permalink
setting up for PR upstream
Browse files Browse the repository at this point in the history
  • Loading branch information
heckj committed Apr 7, 2024
1 parent 2d2a9f9 commit 93a5d0f
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 35 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
push:
branches:
- main

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
Expand Down Expand Up @@ -44,4 +44,4 @@ jobs:
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
labels: ${{ steps.meta.outputs.labels }}
21 changes: 21 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Publish Package to npmjs
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@v3
with:
node-version: '20.6.1'
registry-url: 'https://registry.npmjs.org'
# Defaults to the user or organization that owns the workflow file
scope: '@octocat'
- run: yarn
- run: yarn npm publish // for Yarn version 1, use `yarn publish` instead
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

14 changes: 7 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,31 @@ LABEL org.opencontainers.image.licenses=MIT

# Create app directory
WORKDIR /usr/src/app

COPY package.json ./package.json
RUN yarn install

COPY . .

EXPOSE 3030
# NODE_ENV=dev DEBUG=* node ./src/index.js
ENV NODE_ENV=dev
ENV DEBUG=*
CMD [ "node", "./src/index.js" ]

FROM development as dev-envs
RUN <<EOF
apt-get update
apt-get install -y --no-install-recommends git
EOF

RUN <<EOF
useradd -s /bin/bash -m vscode
groupadd docker
usermod -aG docker vscode
EOF
HEALTHCHECK CMD curl --fail http://localhost:3030 || exit 1

HEALTHCHECK CMD curl --fail http://localhost:3030 || exit 1

# install Docker tools (cli, buildx, compose)
# COPY --from=gloursdocker/docker / /
Expand Down
26 changes: 7 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,12 @@ The server is configured with environment variables. There are two options:
- `PORT` - the port to listen for websocket connections on
- `DATA_DIR` - the directory to store saved documents in

## Contributors

Originally written by @pvh.

## Docker

build it:

```bash
docker build -t automerge-repo-sync-server .
```
## Running in Docker

run it:
Run in docker using image hosted by GitHub container registry:

```bash
docker run -d automerge-repo-sync-server
```

run from GH without building locally:

```bash
docker run -d --name syncserver -p 3030:3030 ghcr.io/heckj/automerge-repo-sync-server:mainn
docker run -d --name syncserver -p 3030:3030 ghcr.io/automerge/automerge-repo-sync-server:main
```

cleanup after:
Expand All @@ -47,3 +31,7 @@ cleanup after:
docker stop syncserver
docker rm syncserver
```

## Contributors

Originally written by @pvh.
7 changes: 0 additions & 7 deletions src/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ import { NodeWSServerAdapter } from "@automerge/automerge-repo-network-websocket
import { NodeFSStorageAdapter } from "@automerge/automerge-repo-storage-nodefs"
import os from "os"

import { next as Automerge } from "@automerge/automerge"
import { cbor } from "@automerge/automerge-repo"

export class Server {
/** @type WebSocketServer */
#socket
Expand Down Expand Up @@ -64,10 +61,6 @@ export class Server {

this.#server.on("upgrade", (request, socket, head) => {
this.#socket.handleUpgrade(request, socket, head, (socket) => {
socket.on("message", (msg) => {
const message = cbor.decode(msg)
console.log(`Received CBOR message: ${msg}`)
})
this.#socket.emit("connection", socket, request)
})
})
Expand Down

0 comments on commit 93a5d0f

Please sign in to comment.