10th SIERA Intl. Conference

Issue workshop: get the source and build your own

Back

For the announcement on Thursday 5 November 2026.

The issue workshop is published under the MIT License. You may use, copy, and change it. Keep the copyright notice: Copyright (c) 2026 Soo Young Chang.

Sourcehttps://github.com/SooYChang/issue-workshop
Live examplehttps://issueworkshop.org/

The papers, accounts, and reviews on the live site are not in the repository. A new copy starts empty. The first visit creates your chief editor.

Run this program on its own computer. Do not install it on the same machine as the public journal. Review reports must not sit on the public site.

1. GitHub

  1. Create a free GitHub account at https://github.com/.
  2. Open https://github.com/SooYChang/issue-workshop and click Fork. The fork is your own copy.
  3. On your computer, install Git, then clone your fork.
git clone https://github.com/YOUR-NAME/issue-workshop.git

Replace YOUR-NAME with your GitHub name.

When you improve the program, commit and push to your fork. The MIT notice stays in the LICENSE file.

2. Cursor

Cursor is the editor used to build this system. Download it from https://cursor.com/.

  1. Install Cursor and sign in.
  2. Choose File → Open Folder and open the issue-workshop folder.
  3. In the agent chat, ask it to run the workshop and to explain the page you have open.
  4. Ask for one change at a time. Read the result in the browser before the next change.
  5. When the change is right, ask Cursor to commit it, then push to your GitHub fork.

Cursor can prepare the server commands as well. You still create the Amazon account, choose the machine, and confirm the domain. Do not paste real passwords into the chat.

3. Run it on your computer

You need Python 3.11 or newer.

On Windows, double-click start.bat inside issue-workshop.

Or, from that folder:

python -m pip install -r requirements.txt
python workshop.py

Open http://127.0.0.1:8787/. The first visit creates the chief editor and the journal or proceeding name. Volume and issue are optional.

Keep that window open. Closing it stops the workshop. Accounts, papers, and reports are stored in the data folder. That folder is not part of the Git repository.

4. Amazon Lightsail

The live example uses its own Lightsail computer in Seoul. Choose the region closest to your readers.

Budget for this example: one computer at 7 US dollars a month, plus a domain at about 16 US dollars a year. That plan has 1 GB of memory, 2 vCPUs, and 40 GB of disk. A fixed address is free while it is attached to the computer. Leave automatic snapshots off unless you want to pay for that storage.

Create the computer

  1. Sign in at https://lightsail.aws.amazon.com/.
  2. Create an instance. Choose Linux, then Ubuntu 24.04 LTS.
  3. Choose the 7 US dollar plan.
  4. Name the instance. Create one instance. Do not turn on automatic snapshots.
  5. When it is running, open Networking.
  6. Attach a static IP so the address does not change when the computer stops.
  7. Under firewall rules, allow SSH on port 22, HTTP on port 80, and HTTPS on port 443. For HTTPS, set the source to any IPv4 address, and any IPv6 address if that choice is offered.

Point the domain at it

  1. Register a domain, or use one you already have.
  2. On the instance, open Domains and choose Assign domain.
  3. Select your domain and the static IP.
  4. Wait until the name answers with that address. On a computer you can check with nslookup your-domain.org.

Put the program on the computer

Use Connect using SSH in Lightsail. The user name is ubuntu.

The computer needs Python, a virtual environment, the pypdf package, and nginx. The workshop listens only on the computer itself, at port 8787. Nginx answers the public on ports 80 and 443 and passes visitors to the workshop. Certbot obtains the HTTPS certificate for your domain and renews it.

Copy workshop.py, static, and requirements.txt. Do not copy someone else’s data folder. The first visit to your own site creates your chief editor.

In Cursor, with the project open, you can ask: “Write the systemd service and the nginx site for this workshop on Ubuntu, using my domain name.” Read the files before you run them. Use your domain, not issueworkshop.org.

After it is on the web

  • Open https://your-domain/ and create the chief editor.
  • Confirm a normal http:// address is sent to https://.
  • Create a member and a reviewer, submit a test paper, send a test report, and produce a one-article issue.
  • Keep a copy of the history record outside the server before you start a new issue.

5. What to leave out of GitHub

Do not commit these:

  • The data folder.
  • Passwords, .env files, and SSH private keys.
  • Reviewer reports and the confidential history.

The repository’s .gitignore already excludes the local data. Check git status before you push.